0
votes

I'm hitting myself and wondering where is the issue, I'm getting error message:

Syntax error (missing operator) in query expression '[imieNazwisko] = Kostro Piotr'.

I was trying to do it somehow different but no luck. Anyone could think of something?

Login form:

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

Debug points this line of code:

If Me.txtPassword.Value = DLookup("haslo", "[queryUsersObszar]", "[imieNazwisko] = " & Me.cbUserLogin.Value) Then

Query:

SELECT dbUzytkownicy.imieNazwisko, dbUzytkownicy.haslo
FROM dbUzytkownicy
WHERE (((dbUzytkownicy.Obsz1)=Yes));
1

1 Answers

0
votes

I didn't put Identyfikator field in the query select - my bad, now it works like a charm! :)