Avatar billede ceec Nybegynder
08. januar 2003 - 09:52 Der er 12 kommentarer og
1 løsning

Password login

Hej allesammen

Da min VB programmering nu begynder at dreje over mod lidt database adgang er jeg løbet ind i et lille problem som jeg håber i kan hjælpe mig med. Jeg har ingen problemer med at skrive til min database, men nu vil jeg gerne læse fra den. Jeg vil lave en login form, som kontrollere om brugernavn og password stemmer overens med hvad der er i min database. Men kan som sagt ikke få det til at virke.
I min form har jeg brugt følgende:
2 tekst felter, kaldet txtBrugernavn, og txtPassword.
Og en knap kaldet cmdOk
Min database hedder User.mdb, og er en Access database.
Tabelen hedder users, og feltnavne er henholdvis brugernavn og password.

Håber en af jer kan hjælpe, på forhånd tak.

Ceec
Avatar billede martin_moth Mester
08. januar 2003 - 10:39 #1
2 sek...
Avatar billede martin_moth Mester
08. januar 2003 - 10:42 #2
Har besvaret et spørgsmål der er 100% identisk med dit (pånær måske navnet på databasen ol. ;o)

Se her: http://www.eksperten.dk/spm/215623
Svaret fra 27/05-2002 23:08:20 er lige til at kopiere :o)
Avatar billede ceec Nybegynder
08. januar 2003 - 10:51 #3
Det prøvede jeg igår aftens, kunne ikke få det til at virke.

Ceec :(
Avatar billede martin_moth Mester
08. januar 2003 - 10:53 #4
Hvad præcist kan du ikke få til at virke?
Avatar billede martin_moth Mester
08. januar 2003 - 10:57 #5
Det eneste du skal ændre er navnene på dine textboxe og din tabel :o) - resten er copy-paste
Avatar billede ceec Nybegynder
08. januar 2003 - 11:47 #6
Hvordan med en database kontrol, skal der bruges det?
Jeg kan ikke rigtig se hvordan du "connecter" til DB'en.

Ceec
Avatar billede martin_moth Mester
08. januar 2003 - 12:21 #7
"problemer med at skrive til min database" - af den sætning antager jeg, at du allerede HAR oprettet forbindelse. Ellers kik på følgende kode, du kan tilføje i funktionen KontrolAfLogon:

  Dim recBruger As Recordset
  Dim m_DB as Database  '<- NY linie
  Set m_DB = Workspaces(0).OpenDatabase("C:\User.mdb") '< NY linie
  Set recBruger = m_DB.OpenRecords.....
Avatar billede martin_moth Mester
08. januar 2003 - 12:23 #8
Hvis du har problemer med at sætte alle stumperne sammen, så sig til, og jeg skal lave et eksempel der passer med dine textboxe osv... :o)
Avatar billede martin_moth Mester
08. januar 2003 - 12:27 #9
He he - jeg mente i svaret 12:21:55 "jeg har INGEN problemer med at skrive til min database" - - af den sætning antager jeg, at du allerede HAR oprettet forbindelse

Glemte lige "Jeg har ingen" ...
Avatar billede ceec Nybegynder
08. januar 2003 - 13:23 #10
Her er koden, virker pt ikke :(

Private Sub cmdOK_Click()
   
    strBrugerID = txtBrugernavn.Text
    strBrugerPW = txtPassword.Text
       
        If KontrolAfLogon(strBrugerID, strBrugerPW) Then
           
            Else
            txtPassword.Text = ""
            txtPassword.SetFocus
        End If

End Sub

Public Function KontrolAfLogon(strBrugerID As String, strBrugerPW As String) As Boolean

  KontrolAfLogon = False
 
  Dim recBruger As Recordset
  Dim m_DB As Database
  Set m_DB = Workspaces(0).OpenDatabase("C:\projectx\projectx6_0\User.mdb")
  Set recBruger = m_DB.OpenRecordset _
    ("SELECT brugernavn, password FROM users ORDER BY brugernavn", dbOpenSnapshot)
   
  Do While Not recBruger.EOF
    If strBrugerID = recBruger!Brugernavn Then
      If strBrugerPW = recBruger!Password Then
        KontrolAfLogon = True
      End If
    End If
    recBruger.MoveNext
  Loop
     
  recBruger.Close
End Function
 
Den database kontrol jeg har, loades først efter man har logget ind :(

Ceec
Avatar billede martin_moth Mester
08. januar 2003 - 13:39 #11
"Virker ikke?"

Hvad mener du? Får du en fejl, hvilken fejl og hvor?

I tilfælde af at du ingen fejl får, men der blot ikke sker noget, vil jeg henlede opmærksomheden på, at hvis du indtaster et korrekt password, har du valgt at VB absolut intet skal foretage sig?

Prøv at ret til

  If KontrolAfLogon(strBrugerID, strBrugerPW) Then
    MsgBox "Password korrekt"
  Else
    MsgBox "Password forkert"
    txtPassword.Text = ""
    txtPassword.SetFocus
  End If
Avatar billede martin_moth Mester
08. januar 2003 - 13:41 #12
PS: Husk også at "ryd op" med en Set m_DB = Nothing og Set recBruger=Nothing :o)
Avatar billede martin_moth Mester
10. januar 2003 - 11:19 #13
Og husk at lukke spørgsmålet, og giv mig points :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester