im trying to delete the content of an input field when the value of a related one is deleted.
However the if statement does not trigger when the value is Null ... (empty string)
I tested it with the "Hello" message box and it does not appear when the textbox is cleared, how it should.
Private Sub Student_AfterUpdate()
If Me.Student.Value = "" Then
MsgBox "Hello"
Me.InputBeginn = ""
Me.InputEnd = ""
End If
End Sub
CodePudding user response:
In databases, Null
means "no value" and this is something different than an empty string.
To check for Null
, you can use the function IsNull
. If your value can be either Null
or an empty string, you can use the Nz
-function: Nz(anyValue, "") will return an empty string if anyValue is null, else it will return anyValue itself:
If Nz(anyValue, "") = "" Then
Note that this is no SQL standard, for Oracle users, its NVL
, for MS SQL it's IfNull
)
CodePudding user response:
In Access, an empty textbox is Null even when bound, as you normally should not allow empty strings in the table field. Thus:
Private Sub Student_AfterUpdate()
If IsNull(Me!Student.Value) Then
MsgBox "Hello"
' Reset textboxes.
Me!InputBeginn.Value = Null
Me!InputEnd.Value = Null
End If
End Sub