Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с вводом данных в БД
 
 автор: cheet   (12.03.2011 в 19:32)   личное сообщение
20 Кб.
 
 

Имеется БД с таблицами Маршруты, Водители, Автобусы, График(поля:Маршрут, №ВУ, ГосНомер, Дата ).
Как сделать, чтобы в таблице график, автобус и водитель не повторялись на определённую дату, т.е. если 10 марта автобус с номером 123 и с водителем 234 есть на маршруте, то ввести этот же автобус\водителя, но с другим водителем\автобусом (на другом маршруте) было нельзя??

Вот как сделать чтобы невозможно было ввести строки 2 и 3
Маршрут №ВУ ГосНомер Дата
108 123 234 10.03.11
108 123 235 10.03.11 х
109 124 234 10.03.11 х
108 123 234 11.03.11

  Ответить  
 
 автор: kot_k_k   (12.03.2011 в 20:03)   личное сообщение
 
 

называется дуракоустйчивость - занимает до хрена времени

после каждого ввода данных нужно производить проверку сличая дату водилу и маршрут на соответствие алгоритму выбраному вами.
на каджое событие "после обновления" вешаем обработке типа


set rst=dbs.Openrecordset("select * from tabla where data=" & me.Data & " and vodila=" & me.Vodila)
if rst.eof=false then 
          орем о том что такой водила сегодня уже есть на маршруте
    else 
end if


на самом деле намного сложнее и подсказать точно можно видя струтуру.

2007 - как-то малоупотребляемый формат из-за своей не надежности, геморности и извращенности
ХР рулит.

  Ответить  
 
 автор: cheet   (12.03.2011 в 20:07)   личное сообщение
 
 

Спасибо. Как то это очень сложно (для меня как новичка, т.к. я даже не знаю куда эту абракадабру записать)))) я сделал два индекса Водитель+дата и Автобус + Дата. вроде работает

  Ответить  
 
 автор: kot_k_k   (13.03.2011 в 10:38)   личное сообщение
 
 

можно так - строим в конструкторе запрос - подставляя в условие нужные вещи (мастером) - потом всё это дело переводим из конструктора в режим SQL копируем, вставляем в нужное место кода и получаем рекордсет.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList