ここに非常に単純な SQL クエリがあります。ポイントは、請求書の説明を調べて、有効な状態でない場合に請求書にフラグを立てることです。以下は私のコードと関数です:
クエリ:
CurrentDb.Execute "UPDATE Processing " & _
"SET [Invoice Flag] = True " & _
"WHERE isValidState(getState([Inv Description])) = False"
請求書の説明から請求書の説明の分割文字列への getState
Public Function getState(description As String) As String
Dim s() As String
s = Split(description, ".")
If (UBound(s) > 1) Then
getState = s(UBound(s) - 1)
Else
getState = " "
End If
End Function
IsValidState 有効な状態かどうかをブール値で返す
Public Function isValidState(st As String) As Boolean
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tblStates", dbOpenSnapshot)
rs.FindFirst ("StateCode = '" & st & "'")
If rs.NoMatch Then
isValidState = False
Else
isValidState = True
End If
rs.Close
End Function
手がかりや助けをいただければ幸いです。日付に関しては、このエラーが頻繁に発生するようですが、ここではそうではありません。データ レコードには null の行が含まれている可能性があります。いずれにせよ、私はそれらの空の説明について何もできません-また、それがどのように役割を果たすべきかについてもわかりません. IF/ELSE ステートメントがあるため、単純にブール値を返し、請求書にフラグを立てる必要があります。