DCount有2个标准

时间:2013-07-24 16:19:40

标签: vba ms-access ms-access-2007 access-vba

如果数据发出错误信号,我正在使用DCount来帮助显示错误消息。我让它使用一个标准,其中一个数字等于另一个数字。现在我想在那里添加另一个标准,其中另一个字段ReturnDate(此字段为Text not Date / Time)等于连字符( - )。 我只是不确定如何格式化它。我有这个:

If DCount("*", "CrewTable", "KitNumber=" & _
  Me.AssignKit.Value And "ReturnDate=" & _
  "-") > 0 Then
  Cancel = True
  MsgBox "Kit is already assigned!"
  AssignKit = ""
  AssignKit.SetFocus
Else
...

错误弹出'Type Mistmatch',调试器突出显示来自'If - >的整个语句。然后'并且指向带引号中连字符的行有错误。

3 个答案:

答案 0 :(得分:4)

If DCount("*", "CrewTable", "ReturnDate='-' AND KitNumber=" & _
          Me.AssignKit.Value) > 0 Then

答案 1 :(得分:2)

Criteria 选项存储在字符串变量中时,更容易解决DCount错误。

Dim strCriteria As String
strCriteria = "ReturnDate='-' AND KitNumber=" & Me.AssignKit.Value
Debug.Print strCriteria
If DCount("*", "CrewTable", strCriteria) > 0 Then

如果您使用过此方法,Access会提醒您构建 Criteria 字符串的原始代码无效。这应该更清楚地表明问题不是由If条件造成的,而且完全 <{1}}问题也不是......这是一个问题字符串连接。

答案 2 :(得分:0)

Me.AssignKit.Value & " And ReturnDate=" & _