Флажок MS-Access = сейчас () при нажатии; Снимите флажок = Нуль? - PullRequest
0 голосов
/ 09 января 2019

Я проектирую базу данных порядка задач, в которой много флажков, и вместо создания полей «Да / Нет» было решено использовать поля «Дата», которые используют «Флажки» в формах, для установки указанных дат с помощью функции = Now():

Private Sub DXF_Chk_Click()
dxfLimits = Now()
End Sub

Однако, если кто-то снимает флажок, дата только обновляется, и в наших отчетах флажки остаются.

Я думал написать код, который проверяет, заполнено ли поле Дата, и обнуляет его On Click, но это не работает:

If Me.DXF_Chk = 1 Then
  Me.dxfLimits = Now()
 Else
  Me.dxfLimits = Null
 End If

Или оставьте текущий On Click в покое и используйте некоторый код в After_Update event. Я не уверен, какой протокол является правильным, и что я делаю неправильно в самом коде.

Извините, я нуб.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вот что я бы сделал:

Me.dxfLimits = IIF(Me.DXF_chk, Now(), NULL)
0 голосов
/ 09 января 2019

Попробуйте это

Private Sub DXF_chk_AfterUpdate()
    If Me.DXF_chk.Value Then
     Me.dxfLimits = Now()
    Else
     Me.dxfLimits = Null
    End If
End Sub

OR

Private Sub DXF_chk_AfterUpdate()
   If Me.DXF_chk = -1 Then
  Me.dxfLimits = Now()
 Else
  Me.dxfLimits = Null
 End If
End Sub

Примечание: -1 = true/yes, 0=false/no

...