Erreur sur le code

Bonjour,
J'ai une erreur sur ce code VB
je demande votre aide
Private Sub connexion_Click()
Me.Requery
Dim [/contents/1062-le-langage-sql sql], User_id, User_groupe   As String
Dim rs As Recordset
Static i As Byte
sql = "SELECT * FROM T_users WHERE login = \'" & txt_user & "\' AND passwd =\'" & txt_pass & "\';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
  DoCmd.OpenForm "vehicules", acNormal, , , , acWindowNormal
  DoCmd.Close acForm, "F_Connexion"
  User_id = rs("login").Value
  User_groupe = rs("GROUPE").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ées", vbCritical
DoCmd.Quit
End If
End Sub


Mon probleme se trouve ici : Set rs = CurrentDb.OpenRecordset(sql) avec une erreur de syntaxe

1 réponse

  1. Modérateur
    Le \' ne fonctionne que sur les langage de type C, en VB, tu peux virer cet \.
    Si tu veux mettre un " dans une chaine, il te faut le doubler.
    0
    1. g essayé ça sql = "SELECT * FROM T_users WHERE login = "" & txt_user & "" And passwd = "" & txt_pass & "";"
      Set rs = CurrentDb.OpenRecordset(sql)

      mais g tjr une erreur
      merci
      0
    2. Modérateur
      Et avec des ' à la place des " pour ta requête, ça donne quoi ?
      0
    3. g finalement résolu le problème
      ton aide a été bénéfique

      merci
      0