我正试图弄清楚这个编码的工作原理。
如果program
和language
与表格出勤率Programs
和Language
中的值匹配,此代码基本上会检查表CFRRR中的字段值。
此正常代码有效。但是,如果language
没有匹配值,则代码将继续循环。
如果没有匹配的strSQL
,我想调整代码转到下一个language
,但我无法让它运行下一个strSQL
。
我认为我的错误是我没有正确地编写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
谢谢:)
答案 0 :(得分:1)
我认为你应该把它改成
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