Access logowanie przez Form i wybór dwóch form

0

Witam
Proszę o pomoc w następującym temacie (jestem zielony w VBA wiec proszę o info. w stylu "kawa na łąwę")

Posiadam bazę danych z następującymi elementami:

  • tabela "Login" ( username , password )
  • formularz "LoginF"
  • formularz "Welcome"
  • formularz "welcome1"

Po uruchomieniu bazy otwiera sie formularz LoginF gdzie mam dwa przyciski "Login" oraz "Exit" . W tej chwili mam zrobione tak ze po wpisaniu username i password i kliknięciu login uruchamia mi się okienko welcome . Chciałbym zęby był podział na dwie kategorie logowania się . Czyli Jeżeli loguje się kierownik otwiera się forma Welcome , jeżeli loguje się pracownik otwiera się forma Welcome1. podejrzewam ze muszę zrobić filtr tylko za bardzo nie wiem jak to zrobić . to jest mój kod z VB

Kod:
'...
Private Sub cmdLogin_Click()
If "" & txtUser.Value = "" Then
MsgBox("Please enter user name", vbExclamation + vbOKOnly, "form_loginF")
txtUser.SetFocus()
Exit Sub
End If
' apply filter to get record matching username entered.
DoCmd.ApplyFilter, "Username = '" & ("" & txtUser.Value) & "'"

    If Me.Username = ("" & txtUser.Value) And Me.Password = ("" & txtPassword.Value) Then
        ' correct user name and password entered
        MsgBox("correct password entered")

        [b]() ' remove filter
        DoCmd.ShowAllRecords[/b]

        ' enter code to open menu form.
        DoCmd.OpenForm("welcome")  ' change this to the form you want to open  
    Else
        ' incorrect username and password entered
        If Me.Username <> ("" & txtUser.Value) Then
            MsgBox("Incorrect username entered. ")
            Me.txtUser.SetFocus()
        Else
            MsgBox("Incorrect password entered. ")
            Me.txtPassword.SetFocus()
        End If
        ' remove filter
        DoCmd.ShowAllRecords()
    End If
End Sub



Private Sub cmdExit_click()
    Me.setVisible = False
End Sub

'...

Czy możne ktoś mi powiedzieć co trzeba zmienić w ""remove filter
DoCmd.ShowAllRecords"" bo podejrzewam ze to tu jest błąd

Dziękuję za szybką odpowiedź.

0

Ten kod w ogóle działa?

0

Tak działa i uruchamia się forma welcome

0

Jeśli tak to w linii w której masz komentarz byzmienić formę daj IF-a który sprawdzi kto jest zalogowany i uruchomi odpowiednią.

0

a mógłbyś bardziej dokładnie co i gdzie dokładnie mam wpisać

0

Jeśli takie znaczniki w środku kodu działają to ja już nie wiem.

            [b]() ' remove filter
            DoCmd.ShowAllRecords[/b]

a mógłbyś bardziej dokładnie co i gdzie dokładnie mam wpisać

Zacznij od jakiegoś tutoriala.

0

Zamiast tej linii:

         DoCmd.OpenForm("welcome")  ' change this to the form you want to open  

Daj to co ci napisalem

0
dam1an napisał(a):

Jeśli takie znaczniki w środku kodu działają to ja już nie wiem.

            [b]() ' remove filter
            DoCmd.ShowAllRecords[/b]

a mógłbyś bardziej dokładnie co i gdzie dokładnie mam wpisać

Zacznij od jakiegoś tutoriala.

Ok [b] [/b] tego w kodzie nie ma zaznaczylem pogrubiebie tekstu i dodalo .

0
Marcin.Miga napisał(a):

Zamiast tej linii:

         DoCmd.OpenForm("welcome")  ' change this to the form you want to open  

Daj to co ci napisalem

A czy mógłbyś mi powiedziec jak dokładnie ma wyglądać ten IF . Był bym bardzo wdzięczny

0

Nie, no nie wiem.

0

A może dało by radę . Może ktoś wie jaki powinien być ten kod

0

A może dało by radę . Może ktoś wie jaki powinien być ten kod

0

Pewnie że by dało radę, tylko nikomu nie chcę się tego robić za Ciebie. Przez tyle czasu mógłbyś spokojnie ogarnąć jakiś kurs i to zrobić.

0
Marcin.Miga napisał(a):

Jeśli tak to w linii w której masz komentarz byzmienić formę daj IF-a który sprawdzi kto jest zalogowany i uruchomi odpowiednią.

Jeśli komuś sie przyda to podaje gotowy kod

Private Sub cmdLogin_Click()
If "" & txtUser.Value = "" Then
MsgBox "Please enter user name", vbExclamation + vbOKOnly, "form_loginF"
txtUser.SetFocus
Exit Sub
End If

   ' apply filter to get record matching username entered.
      DoCmd.ApplyFilter , "Username = '" & ("" & txtUser.Value) & "'"

If Me.Username = ("" & txtUser.Value) And Me.Password = ("" & txtPassword.Value) Then
' correct user name and password entered
MsgBox "correct password entered"
' enter code to open menu form.
If Me.Username = "adam" Then
DoCmd.OpenForm ("Welcome")
Else
If Me.Username = "adam1" Then
DoCmd.OpenForm ("Welcome")
Else
If Me.Username = "adam4" Then
DoCmd.OpenForm ("Welcome1")
' change this to the form you want to open

Else
' incorrect username and password entered
If Me.Username <> ("" & txtUser.Value) Then
MsgBox "Incorrect username entered. "
Me.txtUser.SetFocus
Else
MsgBox "Incorrect password entered. "
Me.txtPassword.SetFocus
End If
' remove filter
DoCmd.ShowAllRecords
End If
' remove filter
DoCmd.ShowAllRecords

End if
End If
End If
End Sub

1 użytkowników online, w tym zalogowanych: 0, gości: 1