Microsoft Access VBA - оператор IF всегда оценивает остальное выражение - PullRequest
0 голосов
/ 16 февраля 2019

Я хочу построить оператор if, используя некоторый текст в качестве условия.

В моем поле Status_anggota есть поле со списком, значение которого "Active" или "Not active".

Моя проблема в том, что он не получит значение "Active" и поэтому показывает только ложное утверждение:

Set db = CurrentDb()
Set rs = db.OpenRecordset("Select Status_anggota from Tbl_anggota Where Kode_anggota='" & Text2 & "'")
If rs.RecordCount = "Active" Then
    MsgBox "Status is active", vbInformation
Else
    MsgBox "Status is not active", vbInformation
End If

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

При проверке значения, содержащегося в одном поле в одной записи без итерации, обычно проще использовать функцию DLookup, например:

If DLookup("Status_anggota", "Tbl_anggota", "Kode_anggota='" & Text2 & "'") = "Active" Then
    MsgBox "Status is active", vbInformation
Else
    MsgBox "Status is not active", vbInformation
End If
0 голосов
/ 16 февраля 2019

Попробуйте это:

Set db = CurrentDb()

Set rs = db.OpenRecordset("Select Status_anggota from Tbl_anggota Where Kode_anggota='" & Text2 & "'")

If rs!Status_anggota.Value = "Active" Then
    MsgBox "Status is active", vbInformation
Else
    MsgBox "Status is not active", vbInformation
End If
...