如何使用 DCount 函数,使其不计算 Access 中具有"Null"值的字段?



我有这个用于条件格式设置的基本VBA脚本。它会检查重复的值。但此函数也会为空单元格重新运行True。如何调整此公式,使其只计算不为Null的值?

是否可以使用Dlookup函数来比较我在me.txt_Number_1中新输入的数字是否已经存在于字段[Number_1]中?

Private Sub Form_Current()

If Nz(DCount("*", "[qry_DataEntry]", "[Number_1] = '" & Me.txt_Number_1 & "'"), 0) = 1 Then
Me.txt_Duplicate.Visible = False
Else
Me.txt_Duplicate.Visible = True
End If
End Sub

要计算非null值,请使用;

DCount("[Number_1]", "[qry_DataEntry]", "[Number_1] <> Null")

要检查最近输入的号码,请使用;

DLookup("[Number_1]", "[qry_DataEntry]", "[Number_1] = " & Me.txt_Number_1)

Number_1是数字吗?在本例中设置搜索条件时,数字字段不需要用引号括起来。

如果您尝试在查询中使用IsNull((怎么办?替换字段或使用带括号的倍数。类似这样的东西:

With Me
If DCount("*", "qry_DataEntry", "Number_1 = '" & .txt_Number_1 & "' AND NOT IsNull(Number_1)") Then
.txt_Duplicate.Visible = False
Else
.txt_Duplicate.Visible = True           
End If
End With

最新更新