Verification

sean72 Messages postés 7 Date d'inscription samedi 28 novembre 2009 Statut Membre Dernière intervention 21 mai 2010 - 17 mai 2010 à 11:35
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 mai 2010 à 13:09
Bjr! je debut en Access et je sech sérieuszmt!
j'ai cré un formulaire "Authentification" sur Access 2007 (le premier qui s'affich pour controler l'accès à la base), j'ai un bouton "valider" auquel j'ai associé le code suivant:

Dim sql As String
Dim cnx As DAO.Connection

Dim rst As DAO.Recordset
Static i As Byte

sql "SELECT * FROM usermoyen where moyenlog'" & login & "' AND moyenpassw = '" & pass & "'"

Set rst = CurrentDb.OpenRecordset(sql)

If Not rst.EOF Then
DoCmd.Close
DoCmd.OpenForm "menuprincipale"
Else
MsgBox "Login ou Mot de passe incorrect", vbCritical
i = i + 1
End If

If i = 4 Then
MsgBox "vous avez depasseé le nombre de tentatives!", vbCritical
DoCmd.Quit
End If

End Sub

mais à chaq fois que j'l'execute, il m'renvoi, "trop peu d'argument: 1 Attendu" à la lign: " Set rst = CurrentDb.OpenRecordset(sql)"

merci pour le coup de pouss!

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mai 2010 à 11:42
faute de frappe dans le nom des champs ?

SELECT * inutile ici...

un SELECT COUNT(0)

te renverra 0 ou 1

tout simplement

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
sean72 Messages postés 7 Date d'inscription samedi 28 novembre 2009 Statut Membre Dernière intervention 21 mai 2010
17 mai 2010 à 12:35
Slt Renfield!
c'est gentil de te soucié de moi, mais j t'assures k j'kif pas trop ta remarque.
j'ain essaiyé ta proposition mais il renvoi toujour
:" trop peu de parametre: 1 attendu" à la ligne

"Set rst = CurrentDb.OpenRecordset(sql)"
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mai 2010 à 13:09
ma remarque reste identique :

faute de frappe dans le nom des champs ?



pour le SELECT COUNT, c'est de la simple logique et efficience :

Pourquoi faire un SELECT * alors que tu souhaites juse savoir si un tel record existe ?

Au fait, merci de faire un peu attention a ce que tu tapes...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous