我正在打自己,想知道问题出在哪里,我收到错误消息:
查询表达式'[imieNazwisko] = Kostro Piotr'中的语法错误(缺少运算符)。
我试图以不同的方式做到这一点,但没有运气。 任何人都可以想到什么?
登录表单:
Option Compare Database
'Prywatny integer przechowywujący ilośc błędnych prób logowania
Private intLogonAttempts As Integer
Private Sub cbUserLogin_AfterUpdate()
'Po wybraniu użytkownika przenoszę kursor na pole txtPassword
Me.txtPassword.SetFocus
End Sub
Private Sub cmdLogin_Click()
'Sprawdzam, czy cbUserLogin nie jest pusty
If IsNull(Me.cbUserLogin) Or Me.cbUserLogin = "" Then
MsgBox "Wybierz użytkownika", vbOKOnly, "Wymagane dane"
Me.cbUserLogin.SetFocus
Exit Sub
End If
'die'
'Sprawdzam, czy txtPassword nie jest puste
If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "Wprowadź hasło", vbOKOnly, "Wymagane dane"
Me.txtPassword.SetFocus
Exit Sub
End If
'Sprawdzam, czy hasło odpowiada dla hasła z odpowiedniej kwerendy dla danego użytkownika
If Me.txtPassword.Value = DLookup("haslo", "[queryUsersObszar]", "[imieNazwisko] = " & Me.cbUse
rLogin.Value) Then
compIdentyfikator = Me.cbUserLogin.Value
'Zamykam formularz logowania i przenoszę do elementu docelowego
Me.Visible = False
DoCmd.OpenForm "formMaszynyObszar", acNormal, , , acFormEdit, acWindowNormal
Else
MsgBox "Wprowadzone hasło jest nieprawidłowe", vbOKOnly, "Złe dane!"
Me.txtPassword.SetFocus
End If
'Jeżeli hasło zostanie podane źle 3 razy frontend zostanie zamknięty
intLogonAttemps = intLogonAttempts + 1
If intLogonAttempts > 3 Then
MsgBox "Nie masz dostępu do systemu Faurecia Wałbrzych 2015, skontaktuj się z biurem", vbCritical, "Dostęp ograniczony!"
Application.Quit
End If
End Sub
Private Sub frameObszar_Click()
Me.cbUserLogin.RowSource = "queryUsersObszar" & Me.FrameObszar.Value
Me.cbUserLogin.Requery
End Sub
调试指向这行代码:
If Me.txtPassword.Value = DLookup("haslo", "[queryUsersObszar]", "[imieNazwisko] = " & Me.cbUserLogin.Value) Then
查询:
SELECT dbUzytkownicy.imieNazwisko, dbUzytkownicy.haslo
FROM dbUzytkownicy
WHERE (((dbUzytkownicy.Obsz1)=Yes));
答案 0 :(得分:0)
我没有将Identyfikator field
放在查询选择中 - 我的不好,现在它就像一个魅力! :)