访问错误:语法错误 - 将DCount放入IF语句时

时间:2014-12-02 12:18:32

标签: vba if-statement

我想要创建的这个功能有多个功能。我希望它确保文本框不是空白,然后我希望它检查应用程序是否存在以及是否加载了应用程序。

如果我删除文本框中的初始检查是空白的,我只能让它工作。我让它工作,但当我重新启动数据库时,它停止工作。我一直收到以下错误消息:

  

运行时错误'3075'

     
    

查询表达式'[AppID] ='。

中的语法错误(缺少运算符)   

这是我正在使用的代码:

Private Sub cmd_loadapp_click()
    If Me.txtAppID = "" Then
      MsgBox "Application ID cannot be blank, please try again.", vbOKOnly, "Invalid ID"
    Else
      If DCount("[AppID]", "tblApp", "[AppID] = " & Me![txtAppID] & "  ") > 0 Then
        DoCmd.OpenForm "Form1", acNormal, , "[AppID]=" & Me.txtAppID
        Me.txtAppID = ""
    Else
      MsgBox "Application ID does not exist, please try again.", vbOKOnly, "Invalid ID"
    End If
    End If
End Sub

任何人都可以给予我任何帮助都会有很大的帮助。

祝福 桑普森

2 个答案:

答案 0 :(得分:0)

在您的DCount函数中,如果您从表单中追加txtAppID控件的内容,我认为您应该用Me.txtAppID替换Me![txtAppID]

答案 1 :(得分:0)

感谢所有为回答这个问题做出贡献的人。我现在已经解决了这个问题以及由于我在代码开头使用 txtAppID =“”而导致的另一个错误。这就是我以前的工作方式。

If IsNull(txtAppID) Then
    MsgBox "Application ID cannot be blank, please try again.", vbOKOnly, "Invalid ID "
Else
If DCount("[AppID]", "tblApp", "[AppID] = " & Val(txtAppID)) = 1 Then
    DoCmd.OpenForm "Form1", acNormal, , "[AppID]=" & Me.txtAppID
    Me.txtAppID = ""
    Else
    MsgBox "Application ID does not exist, please try again.", vbOKOnly, "Invalid ID"
    End If
    End If

这是一场漫长的斗争,但我们到了那里!再次感谢:)