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

Форум: MS ACCESS

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

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

 
 

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

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

тема: IF
 
 автор: Аленка   (13.10.2008 в 18:20)   личное сообщение
 
 

Вот это работает. Заполняет поле Изменено и Кем Изменено при изменении любой записи.
Public Function Change_Record()
With CodeContextObject
.Изменено = Now()
.[Кем_изменено] = Members
End With
End Function

Но у меня в каждой таблице есть еще поля Добавлено и Кем Добавлено. Раньше они заполнялись с помощью значения по умолчанию. Но это жутко неудобно. Я решила также сделать публичную фукнцию, чтобы вообще забыть о значениях по умолчанию и т.п. ПРИ ЭТОМ ЭТИ ПОЛЯ ДОЛЖНЫ ЗАПОЛНЯТЬСЯ ЛИШЬ ОДИН РАЗ, ЕСЛИ ОНИ ЯВЛЯЮТСЯ СВОБОДНЫМИ, ТО ЕСТЬ ПРИ ДОБАВЛЕНИИ ЗАПИСИ, что понятно. Дальнейшее их изменение невозможно.
Но не работает у меня IF. Подскажете, как правильно?

Public Function Add_Record()
With CodeContextObject
If IsNull(.Добавлено.Value) Then
.Добавлено.Value = Now()
.Кем_добавлено = Members
End If
End With
End Function
Это один из вариантов кода. Я пробовала разные варианты. Пока не получается.
Спасибо

  Ответить  
 
 автор: час   (13.10.2008 в 18:30)   личное сообщение
 
 

попробуйте
If nz(.Добавлено)="" Then

  Ответить  
 
 автор: Аленка   (13.10.2008 в 18:34)   личное сообщение
 
 

результат тот же. Время редактирования записи в поле Добавлено не записывается.

  Ответить  
 
 автор: час   (13.10.2008 в 18:38)   личное сообщение
 
 

а какой тип поля?
If nz(me.Добавлено)="" Then

  Ответить  
 
 автор: Аленка   (13.10.2008 в 18:49)   личное сообщение
 
 

ти поля - ДАТА. Поэтому подходит и Isnull. Вопрос в том, вообще я там все правильно написала? Что-то мне так не кажется

  Ответить  
 
 автор: час   (13.10.2008 в 18:53)   личное сообщение
 
 

я бы вот это убрал
With CodeContextObject


Public Function Add_Record()

If IsNull(.Добавлено.Value) Then
.Добавлено.Value = Now()
.Кем_добавлено = Members
End If

End Function

а сама функция - она в форме или в модулях

  Ответить  
 
 автор: час   (13.10.2008 в 18:56)   личное сообщение
 
 

Public Function Add_Record(значение as date)
поставьте точку останова и в отладчике наведите мышку на слово Добавить

  Ответить  
 
 автор: час   (13.10.2008 в 19:10)   личное сообщение
 
 

Public Function funDate(datDate As Date)

If Len(Nz(datDate)) = 0 Then Exit Function
If IsDate(datDate) = False Then Exit Function

End Function

  Ответить  
 
 автор: Аленка   (13.10.2008 в 19:14)   личное сообщение
 
 

в модуле.
сейчас все попробую, что посоветовали.

а Len и IsDate - это аналоги каких полей у меня?

  Ответить  
 
 автор: час   (13.10.2008 в 19:24)   личное сообщение
 
 

сейчас все попробую

  Ответить  
 
 автор: Аленка   (13.10.2008 в 19:52)   личное сообщение
 
 

блин.
Как я буду в отладчике что-то пробовать, если ошибки не выдается?
Что такое точка останова? Это пауза что ли?

  Ответить  
 
 автор: Аленка   (13.10.2008 в 19:57)   личное сообщение
 
 

значит не поможете, да?

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

мышкой в режиме написания кода щёлк левее строчки - на сером фоне

  Ответить  
 
 автор: час   (13.10.2008 в 20:21)   личное сообщение
 
 

появится точка останова -жирная такая

  Ответить  
 
 автор: час   (13.10.2008 в 20:22)   личное сообщение
 
 

запускаем программу и она тута остановиться

  Ответить  
 
 автор: час   (13.10.2008 в 20:23)   личное сообщение
 
 

наведите мышку на слово Добавить -
появится значение....
прикрепи файлик и дело с "концом"

  Ответить  
 
 автор: Гамлет   (13.10.2008 в 21:08)   личное сообщение
 
 

http://va-ivanov.narod.ru/access/Glava_13/Index31.htm

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