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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Условие на значение поля таблицы
 
 автор: Григорий   (04.09.2009 в 21:33)   личное сообщение
 
 

Дано: Ключ;КодЧеловека;ДатаУбытияВОтпуск;ДатаПрибытияИзОтпуска
Требуется: при повторном вводе КодЧеловека выполнить проверку (ДатаУбытияВОтпуск<новая>-ДатаПрибытияИзОтпуска<предыдущая>)<=N, при True запретить ввод новой записи и вывести сообщение "Иди работай"

Как наложить такое ограничение на значение поля?

  Ответить  
 
 автор: ShadowOfSun   (05.09.2009 в 00:56)   личное сообщение
 
 

К сожалению в Access нет триггеров
http://hiprog.com/index.php?option=com_content&task=view&id=35&Itemid=35
Возможный вариант решения
1. создать форму
2. сделать обработку перед сохранением записи в таблице


пример обработки вешаешь на кнопку
   
   Dim MaxDate As Date
   Dim SQL, BeginDate, EndDate, PeopleCode As String
   Dim N As Long
   
   N = 20 ' требуемая разница в днях
   PeopleCode = CStr(Me![КодЧеловека])
   BeginDate = CStr(Me![ДатаПрибытияИзОтпуска])
   EndDate = CStr(Me![ДатаУбытияВОтпуск])
   
   ' получение даты выхода из отпуска для введенного человека
   MaxDate = DMax("[ДатаПрибытияИзОтпуска]", "tblTable", "[КодЧеловека] =" & PeopleCode)
   If Me![ДатаУбытияВОтпуск] - MaxDate < N Then
   ' условие при недостаточной разницы в датах
      MsgBox "Иди работай"
   Else
   ' добавление новой записи в таблицу
      SQL = "INSERT INTO tblTable ( КодЧеловека, ДатаУбытияВОтпуск, ДатаПрибытияИзОтпуска ) VALUES ( " & PeopleCode & ", '" & BeginDate & "', '" & EndDate & "' );"
      DoCmd.RunSQL SQL
      MsgBox "Запись добавлена"
   End If

  Ответить  
 
 автор: Григорий   (05.09.2009 в 19:57)   личное сообщение
 
 

Спасибо. Попробую

  Ответить  
 
 автор: ShadowOfSun   (05.09.2009 в 20:28)   личное сообщение
34 Кб.
 
 

Глянь на пример

  Ответить  
 
 автор: Григорий   (06.09.2009 в 09:59)   личное сообщение
 
 

Спасибо.

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