Execution SQL sous VBA - VB/VBA/VBS - Programmation
Marsh Posté le 02-05-2007 à 21:41:50
Le résultat se trouve dans rst, pas dans sSQL, qui ne contient que la requête.
Donc, après le OpenRecordSet, on récupère le contenu du champ par :
If (rst.EOF) Then |
N.B. J'ai supposé que le numéro était un nombre, et je l'ai converti en chaine par CStr() pour l'affichage uniquement.
Marsh Posté le 02-05-2007 à 18:45:41
Salut ! voila ça fait 5 heures que je bosse sur un petit projet pour mon BAC.
j'ai crée un formulaire login + mot de passe, je possède une base utilisateur avec 3champs ( Num, login, password)
le problème se pose dans le code.
Private Sub btn_connexion_Click()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Dim sSQL As String
Dim login As String
Dim pass As String
'attribution valeurs
login = [txt_login]
pass = [txt_password]
' Ouverture de la base de données
Set db = DBEngine.OpenDatabase("C:\Documents and Settings\DarkKnife\Bureau\appFormation.mdb" )
Set rst = CurrentDb.OpenRecordSet("utilisateur" )
sSQL = "Select num from utilisateur where login='" & Me.txt_login & "' And password='" & Me.txt_password & "'"
' Ouverture du recordset
Set rst = db.OpenRecordSet(sSQL, dbOpenForwardOnly, dbReadOnly)
'Conditionnel
If sSQL <> "'" Then
MsgBox ("Accés Autorisé '" & sSQL & "'" )
End If
If sSQL = "" Then
MsgBox ("Accès Refusé" )
End If
' Fermeture du Recordset
rst.Close
End Sub
2 choses : - je me doute que les conditionnelles sont mauvaises !
- le résultat de sSQL est : "Select num from utilisateur where login='" & Me.txt_login & "' And password='" & Me.txt_password & "'"
ce qui veut dire qui n'a pas exécuter la requête !
J'espère que vous arriverez a m'aider et que j'ai était assez clair.