Pb SQL vb access 2007
rocklivedidi
-
jopoiss Messages postés 104 Statut Membre -
jopoiss Messages postés 104 Statut Membre -
Bonjour,
J'ai écrit ce code dans VBA où:
- "conducteur" est une table avec "Email" et "Mot de passe" comme deux des champs de cette table;
- "Identification" est un formulaire avec "email" et "mdp" des zones de texte
J'aimerais que ce code me permette de vérifier que l'utilisateur est déjà inscrit. C'est un test. C'est pourquoi je ne passe pas par une requête.
Cependant, mon code ne fonctionne pas, j'ai utilisé une Msgbox pr vérifier le fonctionnement mais il me retourne "SELECT [...] [mdp]))" et non le résultat de cette fonction.
Private Sub ins_Click()
Dim base As DAO.Database
Set base = CurrentDb()
Dim sql_serial
sql_serial = "SELECT E-mail, Mot de passe FROM Conducteur WHERE (((Conducteur.[E-mail])=[Formulaires]![Identification]![email]) AND ((Conducteur.[Mot de passe])=[Formulaires]![Identification]![mdp]))"
MsgBox (sql_serial)
End Sub
Je vous remercie!
Adrienne
J'ai écrit ce code dans VBA où:
- "conducteur" est une table avec "Email" et "Mot de passe" comme deux des champs de cette table;
- "Identification" est un formulaire avec "email" et "mdp" des zones de texte
J'aimerais que ce code me permette de vérifier que l'utilisateur est déjà inscrit. C'est un test. C'est pourquoi je ne passe pas par une requête.
Cependant, mon code ne fonctionne pas, j'ai utilisé une Msgbox pr vérifier le fonctionnement mais il me retourne "SELECT [...] [mdp]))" et non le résultat de cette fonction.
Private Sub ins_Click()
Dim base As DAO.Database
Set base = CurrentDb()
Dim sql_serial
sql_serial = "SELECT E-mail, Mot de passe FROM Conducteur WHERE (((Conducteur.[E-mail])=[Formulaires]![Identification]![email]) AND ((Conducteur.[Mot de passe])=[Formulaires]![Identification]![mdp]))"
MsgBox (sql_serial)
End Sub
Je vous remercie!
Adrienne
A voir également:
- Pb SQL vb access 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Vb - Télécharger - Langages
- Comment supprimer une page sur word 2007 - Guide
- Microsoft money 2007 - Télécharger - Comptabilité & Facturation
- Acer quick access - Forum logiciel systeme
4 réponses
Bonjour,
Ta variable sql_serial si tu fais que l'afficher, il est normal que ça ne fasse que te l'afficher.
Il faut que tu traite cette variable.
Ca fait longtemps que j'ai pas fait de VB donc je veux pas dire de connerie sur du code...
Si j'ai le temps je te retrouve ça sur mon ordi ce soir :=)
Ta variable sql_serial si tu fais que l'afficher, il est normal que ça ne fasse que te l'afficher.
Il faut que tu traite cette variable.
Ca fait longtemps que j'ai pas fait de VB donc je veux pas dire de connerie sur du code...
Si j'ai le temps je te retrouve ça sur mon ordi ce soir :=)
j'ai retrouvé mon bout de code! *c'est que je l'ai cherché ce con -_-*
Je pense que le code jopoiss est correct et doit fonctionner ;)
Si tu as besoin de commentaires je peux en fournir, mais à part le OleDb qui est fonction de ce que tu utilises comme base et driver ODBC toussah, y'a pas de difficultés particulières.
En espérant que ça t'aide et en me pardonnant du temps que cela a pris. oO
Bonne année! xD
Je pense que le code jopoiss est correct et doit fonctionner ;)
Dim strsql As String = String.empty strSQL = "SELECT count(NomAbonne) FROM Abonnes WHERE NomAbonne ='" + NomAbonne + "' " Dim objcommand As New Oledb.OleDbCommand(strSQL, MyConnexion) objcommand.ConnectionOpen () objcommand.ExecuteNonQuery() Dim strResultat as Integer = objcommand.ExecuteScalar() If (strResultat = 0) then 'Le nom n'est pas inséré, on eécute ... ... End If
Si tu as besoin de commentaires je peux en fournir, mais à part le OleDb qui est fonction de ce que tu utilises comme base et driver ODBC toussah, y'a pas de difficultés particulières.
En espérant que ça t'aide et en me pardonnant du temps que cela a pris. oO
Bonne année! xD
Rebonjour,
J'ai essayé sous une autre forme, cependant je rencontre toujours un problème avec le "db.OpenRecordset(sql_serial, dbOpenDynaset)".
Voici mon code:
Private Sub valider_Click()
Dim rs As DAO.Recordset
Dim requete As String
Dim db As DAO.Database
Dim Qry As DAO.QueryDef
Set db = CurrentDb()
sql_serial = "SELECT Email, Motdepasse FROM Conducteur WHERE (((Conducteur.[Email])=[Formulaires]![Identification]![email]) AND ((Conducteur.[Motdepasse])=[Formulaires]![Identification]![mdp]))"
Set rs = db.OpenRecordset(sql_serial, dbOpenDynaset)
End Sub
Tout d'abord savez vous comment cette fonction fonctionne? Et avez vous une idée pour régler cette erreur?
Merci à tous!!
Adrienne
J'ai essayé sous une autre forme, cependant je rencontre toujours un problème avec le "db.OpenRecordset(sql_serial, dbOpenDynaset)".
Voici mon code:
Private Sub valider_Click()
Dim rs As DAO.Recordset
Dim requete As String
Dim db As DAO.Database
Dim Qry As DAO.QueryDef
Set db = CurrentDb()
sql_serial = "SELECT Email, Motdepasse FROM Conducteur WHERE (((Conducteur.[Email])=[Formulaires]![Identification]![email]) AND ((Conducteur.[Motdepasse])=[Formulaires]![Identification]![mdp]))"
Set rs = db.OpenRecordset(sql_serial, dbOpenDynaset)
End Sub
Tout d'abord savez vous comment cette fonction fonctionne? Et avez vous une idée pour régler cette erreur?
Merci à tous!!
Adrienne
Par contre je peux déjà te dire qu'il faut que tu fasses un count des personnes qui ont ce pseudo.
Si la nombre est à 1, l'utilisateur est inscrit, sinon, on insère.
J'ai exactement ça à la maison sur mon portable, si tu es patient et que personne ne te donne la solution d'ici là ^^
En plus je me souviens que c'est très bête, mais je suis sur du PHP en ce moment et même si c'est similaire, c'est pas la même chose.
J'attends votre réponse avec impatience!
Merci
c'est pas ça que tu cherches par hasard :
Dim rs As dao.Recordset Dim requete As String Set rs = CurrentDb.OpenRecordset(sql_serial) If rs.RecordCount = 0 Then requete = "INSERT INTO ..." Else requete = "UPDATE ..." End If DoCmd.RunSQL (requete)