语法错误 - 缺少运算符 - 访问

时间:2015-08-29 08:32:38

标签: ms-access syntax syntax-error runtime-error

我正在打自己,想知道问题出在哪里,我收到错误消息:

查询表达式'[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));

1 个答案:

答案 0 :(得分:0)

我没有将Identyfikator field放在查询选择中 - 我的不好,现在它就像一个魅力! :)