VBA中的SQL查询的数据types不匹配

我正在尝试在VBA中执行SQL查询以重新编译特定的案例编号。 每当我执行查询时,它都会返回一个“数据types在标准expression式中不匹配”的错误。 我传递查询一个整数用于查询自动编号的主键。

Dim c As ADODB.Connection Dim r As ADODB.Recordset Dim strSQL As String, strManager As String Set c = New ADODB.Connection c.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Commit Tracker.accdb; Persist Security Info=False;" strSQL = "SELECT * FROM CommitTrk WHERE CASE_ID_NBR = '" & CInt(frmCommitViewer.lstCases.Value) & "'" Set r = c.Execute(strSQL) 

当然debugging执行命令。 任何帮助,将不胜感激。 我传递错误的数据types以匹配自动编号? 如果是这样,我应该使用什么数据types? 谢谢!

如果CASE_ID_NBR具有数字types,则应该使用它不带引号:

 strSQL = "SELECT * FROM CommitTrk WHERE CASE_ID_NBR = " & CInt(frmCommitViewer.lstCases.Value) 

你也可以在SQL语句中阅读: Global Variables