如果字符串值为空、0 或 Null MS Access,SQL、VBA

If String Value is empty, 0 , or Null MS Access, SQL, VBA

我正在尝试解决此编码问题。

如果 programlanguage 与 table attendance ProgramsLanguage.

此正常代码有效。但是,如果 language 没有匹配值,那么代码将继续循环。

我想调整代码去下一个strSQL,如果没有匹配language,但是我无法通过下一个[=]到运行 18=].

我认为我的错误是我没有正确编写 IF/THEN 语句。这是代码:

a = Program
b = language

strSQL = "SELECT TOP 1 userID FROM attendance where attendance.Programs LIKE '*" & a & "*' AND attendance.Language LIKE '*" & b & "*' AND Status = 'Available' AND attendance.Tracking = 0"

Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

If strSQL = Null Then
    strSQL = "SELECT TOP 1 userID FROM attendance where attendance.Programs LIKE '*" & a & "*' AND Status = 'Available' AND attendance.Tracking = 0"
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
End IF

谢谢:)

我认为你应该将其更改为

   Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

If rs.recordcount =0  Then

    strSQL = "SELECT TOP 1 userID FROM attendance where attendance.Programs LIKE '*" & a & "*' AND Status = 'Available' AND attendance.Tracking = 0"
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
End IF