Bouton valider

Bonjour, j'ai fais ce code ci dessous mais j'ai un message d'erreur quand je l'exécute.
Le message d'erreur est le suivant :
Erreur d'exécution ''3145''
Erreur de syntaxe dans la clause WHERE.
Quand je fais le debogage la ligne 'set rs= current Db. OpenRecord (dsl) est en jaune.
Private Sub Commande4_Click()

Me.Requery

Dim sql As String
Dim rs As DAO.Recordset
Static i As Byte

sql = "SELECT * FROM Table_Login WHERE Login = '" & Me.Login & "' AND PASWD ='" & Me.Motdepasse & "';"
Set rs = CurrentDb.OpenRecordset(sql)

If Not rs.EOF Then
DoCmd.OpenForm "FormulaireAOuvrir", acNormal, , , , acWindowNormal
DoCmd.Close acForm, "F_Entree"
User_id = rs("LOGIN").Value
User_droits = rs("DROITS").Value
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
i = i + 1
End If

If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés", vbCritical
DoCmd.Quit
End If

End Sub

1 réponse

  1. Contributeur
    bonjour, moi j'afficherais le contenu de la variable sql, pour comprendre d'où vient l'erreur.
    ou bien peut-être en supprimant le point virgule?
    1. Je ne m'y connais vraiment pas. Quand tu me demandes d'afficher le contenu de la variable sql, je ne sais comment le faire.
      Merci de ta disponibilité.
    2. Contributeur
      @Lumunbaquand tu es en mode débogage, je pense qu'il suffit de positionner le curseur sur le nom, et tu verras le contenu. tu peux aussi ajouter l'instruction
      debug.print sql
    3. Positionner le curseur sur quel nom ? Ou dois je ajouter l'instruction ?
      Pour te dire vrai je voudrais créer un code qui permet à chaque utilisateurs
    4. Contributeur
      @Lumunbaun peu de lecture, si tu veux apprendre du VBA:
      https://www.commentcamarche.net/contents/1381-debogage
    5. Merci mais ça ne résoud pas mon problème car je suis dans access