【问题标题】:DCount with 2 criteria具有 2 个条件的 DCount
【发布时间】:2013-07-24 16:19:40
【问题描述】:

我正在使用DCount 在数据发出错误信号时帮助显示错误消息。我让它使用一个数字等于另一个数字的标准。现在我想在其中添加另一个条件,其中另一个字段ReturnDate(此字段是文本而不是日期/时间)等于连字符 (-)。 我只是不确定如何格式化它。我有这个:

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

错误弹出“类型不匹配”,调试器突出显示“If -> Then”中的整个语句,并且错​​误指向引号中带有连字符的行。

【问题讨论】:

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


    【解决方案1】:
    If DCount("*", "CrewTable", "ReturnDate='-' AND KitNumber=" & _
              Me.AssignKit.Value) > 0 Then
    

    【讨论】:

    • 效果很好!非常感谢
    【解决方案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 条件引起的,而且它也不是完全 DCount 问题......这是字符串连接的问题。

    【讨论】:

      【解决方案3】:
      Me.AssignKit.Value & " And ReturnDate=" & _
      

      【讨论】:

      • 这给了我查询表达式中的语法错误(缺少运算符)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      相关资源
      最近更新 更多