Excel 在vba SQL查询上运行IF、ELSE语句
我想在使用VBA从Excel和Access之间的连接运行的SQL查询上运行下面的IF、ELSE语句。你知道为什么这行不通吗Excel 在vba SQL查询上运行IF、ELSE语句,excel,ms-access,if-statement,vba,Excel,Ms Access,If Statement,Vba,我想在使用VBA从Excel和Access之间的连接运行的SQL查询上运行下面的IF、ELSE语句。你知道为什么这行不通吗 Dim myValue As String myValue = "CS-SS-22" Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _ "Data Source=Q:\TOC Contract Screenings\ScreeningLogData
Dim myValue As String
myValue = "CS-SS-22"
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
"Data Source=Q:\TOC Contract Screenings\ScreeningLogDatabase.accdb"
Set rs = New ADODB.Recordset
If rs.Open("Select count([ChangeScreeningNumber]) From [ScreeningLogsTEST] Where [ChangeScreeningNumber] = '" & myValue & "'", ActiveConnection:=cn, CursorType:=adOpenDynamic, LockType:=adLockOptimistic) = 0 Then MsgBox "New"
Else
MsgBox "Already exists"
不太确定你想要什么,但可能是这样的:
Set rs = New ADODB.Recordset
rs.Open "Select Count([ChangeScreeningNumber]) From [ScreeningLogsTEST] Where [ChangeScreeningNumber] = '" & myValue & "'", ActiveConnection:=cn, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
If rs.RecordCount = 0 Then
MsgBox "New"
Else
MsgBox "Already exists"
End If
您在哪里设置了
myValue
变量?您声明了它,但据我所知,它只是一个空字符串。现在编辑它,谢谢!同样的问题。同样的错误:“编译错误:预期的函数或变量”在If行。我喜欢这个想法!我试过了,它说在rs.开放线路上会有一个=符号。我真的不明白为什么。有什么想法吗?太棒了,成功了!我注意到我的记录计数=-1,而不是实际的记录计数。我算出了!我去掉了计数,只留下ChangeScreeningNumber,然后使用rs.RecordCount。非常感谢你!