à l'aide Access/SQL/VBA

à l'aide Access/SQL/VBA - VB/VBA/VBS - Programmation

Marsh Posté le 25-04-2005 à 18:00:20    

bonsoir, j'ai un gros problème de requête sql en Access/VBA :
voila, depuis deux jours, j'ai tout essayé. le truc que je veux est simple : entrez 1 login, 1 mot de passe (appartenant tout les deux à la table Utilisateur), et afficher 1 message en cas d'erreur d'authentification, ainsi que dans le cas contraire. voici mon code
 
Private Sub Commande6_Click()
Dim dbs As DAO.Database
Dim rstSQL As String
Dim r As DAO.Recordset
'création du recorSet
Set dbs = CurrentDb
'requête
rstSQL = "SELECT loginU FROM Utilisateur" _
& "WHERE (loginU='" & Me.champ_utilisateur & "' AND  passwordU='" & Me.champ_mdp & "');"
Set r = dbs.CreateQueryDef("", rstSQL)
Set r = dbs.OpenRecordset(rstSQL, dbOpenForwardOnly, dbReadOnly)
If IsNull(r) Then
MsgBox "Le login ou le mot de passe est incorrect", vbCritical, "Erreur"
Else
MsgBox "authentification réussie", vbCritical, "Ok"
End If
r.Close
End Sub
 
Tout est ok à la compilation, mais à l'execution, j'ai l'erreur suivante qui revient constament : 'erreur d'execution '3131': Erreur de syntaxe dans la clause FROM'
après activation du débogage, il me surligne la ligne suivante :
 
Set r = dbs.CreateQueryDef("", rstSQL)
 
donc apparement le problème vient d'ici. j'ai tout essayer, les .Text, les setFocus...Etc, j'ai toujours la même chose.  
Petite précision, j'utilise Access 97 (plus pour longtemps), donc DAO.
 
Merci

Reply

Marsh Posté le 25-04-2005 à 18:00:20   

Reply

Marsh Posté le 25-04-2005 à 18:36:56    

j'ai résolu le problème : pour ceux que cela interesse, voici mon code :
 
Private Sub Commande6_Click()
Me.Requery
Dim sql As String
Dim rs As DAO.Recordset
sql = " SELECT * FROM Utilisateur WHERE loginU = '" & Me.champ_utilisateur & "' and passwordU = '" & Me.champ_mdp & "';"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
MsgBox "Identification Ok", vbInformation, "ID_OK"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
End If
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed