Erreur sur le code

pakaw -  
 pakaw -
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. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    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. pakaw
       
      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. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Et avec des ' à la place des " pour ta requête, ça donne quoi ?
      0
    3. pakaw
       
      g finalement résolu le problème
      ton aide a été bénéfique

      merci
      0