Programmation VB6
Résolu
muslim_a
Messages postés
22
Statut
Membre
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
est ce que quelqu'un peut me corriger ce bout de code svp
resultatADO.Open "SELECT motDePasse FROM employé where login = " & Text2.Text, connectionADO
j'arrive pas à faire telle requête :(
Merci!
resultatADO.Open "SELECT motDePasse FROM employé where login = " & Text2.Text, connectionADO
j'arrive pas à faire telle requête :(
Merci!
A voir également:
- Programmation VB6
- Vb6 - Télécharger - Divers Utilitaires
- Application de programmation - Guide
- Programmation envoi sms - Guide
- Programmation binaire - Guide
- Programmation vb - Télécharger - Langages
9 réponses
Bonjour,
Essaies en faisant:
;o)
Essaies en faisant:
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO
;o)
j'ai une erreur là au niveau de ma boucle while que mon programme ne peut aborder,j'ai testé même en incluant un msgbox tout juste apres le do while mais ça n'a pas marché,est ce que vous pouvez m'aider svp et me preciser l'erreur
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO
Do While Not (resultatADO.EOF)
ch = resultatADO.GetString(0)
If ch = Text4.Text Then
form1.Show
Me.Hide
trouve = True
End If
Loop
If trouve = False Then
MsgBox "veuillez verifier vos paramêtres"
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO
Do While Not (resultatADO.EOF)
ch = resultatADO.GetString(0)
If ch = Text4.Text Then
form1.Show
Me.Hide
trouve = True
End If
Loop
If trouve = False Then
MsgBox "veuillez verifier vos paramêtres"
Avant la boucle il faut faire:
Et juste avant le Loop
Sinon tu boucles toujours sur le même enregistrement
;o)
resultatADO.MoveFirst
Et juste avant le Loop
resultatADO.MoveNext
Sinon tu boucles toujours sur le même enregistrement
;o)
y'a un problème au niveau de resultatADO.MoveFirst
voilà ma procedure:
Private Sub Command2_Click()
Dim form1 As New Employé
Dim ch As String
Dim trouve As Boolean
trouve = False
Dim connectionADO As New ADODB.Connection
Dim commandeADO As New ADODB.Command
Dim resultatADO As New ADODB.Recordset
connectionADO.Provider = "Microsoft.jet.OLEDB.4.0"
connectionADO.ConnectionString = "E:\projetVB1.mdb"
connectionADO.Open
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO
resultatADO.MoveFirst
Do While Not (resultatADO.EOF)
If resultatADO.GetString(0) = Text4.Text Then
form1.Show
Me.Hide
trouve = True
End If
Loop
resultatADO.MoveNext
If trouve = False Then
MsgBox "veuillez verifier vos paramêtres"
Text2.Text = ""
Text4.Text = ""
End If
resultatADO.Close
connectionADO.Close
End Sub
Merci pour votre aide
voilà ma procedure:
Private Sub Command2_Click()
Dim form1 As New Employé
Dim ch As String
Dim trouve As Boolean
trouve = False
Dim connectionADO As New ADODB.Connection
Dim commandeADO As New ADODB.Command
Dim resultatADO As New ADODB.Recordset
connectionADO.Provider = "Microsoft.jet.OLEDB.4.0"
connectionADO.ConnectionString = "E:\projetVB1.mdb"
connectionADO.Open
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO
resultatADO.MoveFirst
Do While Not (resultatADO.EOF)
If resultatADO.GetString(0) = Text4.Text Then
form1.Show
Me.Hide
trouve = True
End If
Loop
resultatADO.MoveNext
If trouve = False Then
MsgBox "veuillez verifier vos paramêtres"
Text2.Text = ""
Text4.Text = ""
End If
resultatADO.Close
connectionADO.Close
End Sub
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sa ne marche toujours pas
même si je suis débutante mais j'ai programmé cette première etape de mon projet avec vb2008 et ça a marché nikel,mais apres on m'a exigé le vb6...ça marche vraiment pas avec celui là :s
même si je suis débutante mais j'ai programmé cette première etape de mon projet avec vb2008 et ça a marché nikel,mais apres on m'a exigé le vb6...ça marche vraiment pas avec celui là :s
Voilà un code à placer dans un nouveau module. Tu renommes le module en ModBdd :
Sur le bouton du formulaire :
Reviens ici si tu as un problème
;o)
'==========================================='
' Connexion ADODB '
'-------------------------------------------'
' Module Base de données '
' '
' Auteur : Polux31 - 2003 '
' E-mail : ############## '
'==========================================='
'///////////////////////////////////////////////////////////////
'// NE PAS OUBLIER DE COCHER DANS PROJET --> REFERENCES ...
'// Microsoft ActiveX Data Objects x.x Library
'///////////////////////////////////////////////////////////////
Option Explicit
'/////////////////////////////////'
'// Variables globales du module
'/////////////////////////////////'
Private AdoCnx As ADODB.Connection
Private CmdSql As ADODB.Command
Private NbRs As Long
'////////////////////////////////'
'// Constantes à modifier selon le
'// le cas d'utilisation
'///////////////////////////////'
Private Const BDD = "E:\projetVB1.mdb" ' mettre le chemin de la base
Private Const pw = "" ' mettre le mot de passe
Private Const user = "" ' mettre le user
'//////////////////////////////////////
'// Accesseurs des variables globales
'//////////////////////////////////////
'procédure qui stocke le nombre d'enregistrement dans le recordset
Public Sub setNbRs(ByVal nb As Integer)
NbRs = nb
End Sub
'fonction qui retourne le nombre d'enregistrement dans le recordset
Public Function getNbRs() As Long
getNbRs = NbRs
End Function
'fonction qui retourne la connexion
Public Function getAdoCnx() As ADODB.Connection
getAdoCnx = AdoCnx
End Function
'//////////////////////////////////
'// Méthodes du module
'//////////////////////////////////
'procédure de connexion à la base de donnée
Public Sub ConnectBdd()
Dim CnxString As String
Set AdoCnx = New ADODB.Connection 'création de l'objet connexion
If AdoCnx.State = adStateOpen Then 'si la base est déjà ouverte alors on sort de la procédure
MsgBox "La connection est déjà ouverte"
Exit Sub
End If
'======== Ouverture Access ============'
' A modifier pour autres bases '
'======================================'
CnxString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & BDD & ";" & _
"user ID=" & user & ";" & _
"password=" & pw & ";" & _
"Persist Security Info=False"
AdoCnx.Open CnxString 'passage de la chaine de connexion
AdoCnx.CursorLocation = adUseClient
On Error Resume Next
If Err <> 0 Or AdoCnx.State = adStateClosed Then 'si un erreur de connexion se produit
MsgBox "Connection impossible avec la base"
Exit Sub
End If
End Sub
'fonction qui retourne un booléen.
'Paramètres entrées : la requête, l'objet recordset
'Passe la requête à la base de données et récupère le résultat dans le recordset
Public Function OpenRecordset(ByVal Requete As String, ByRef rs As ADODB.Recordset) As Boolean
On Error Resume Next
On Error Resume Next
rs.Open Requete, ModBdd.AdoCnx, , , adCmdText 'passage de la requête
If Err > 0 Then 'en cas d'erreur la fonction retourne Faux et on sort de la fonction
OpenRecordset = False
Exit Function
End If
rs.MoveFirst 'la connexion a réussi, on se place sur le 1er enregistrement
NbRs = rs.RecordCount 'on compte le nombre de ligne retournée
OpenRecordset = True 'la fonction retourne Vrai
End Function
'fonctions Suivant, Précédent, Premier, Dernier qui retourne un booléen.
'Paramètre entrée : l'objet recordset
'Fonctions qui permettent de parcourir les enregistrements d'un recordset
Public Function RSLireSuivant(ByRef rs As ADODB.Recordset) As Boolean
On Error Resume Next
rs.MoveNext
If rs.EOF Then
RSLireSuivant = False
Exit Function
End If
If Err <> 0 Then
RSLireSuivant = False
Exit Function
End If
RSLireSuivant = True
End Function
Public Function RSLirePrecedent(ByRef rs As ADODB.Recordset) As Boolean
On Error Resume Next
rs.MovePrevious
If rs.BOF Then
RSLirePrecedent = False
Exit Function
End If
If Err <> 0 Then
RSLirePrecedent = False
Exit Function
End If
RSLirePrecedent = True
End Function
Public Function RSLirePremier(ByRef rs As ADODB.Recordset) As Boolean
On Error Resume Next
rs.MoveFirst
If Err <> 0 Then
RSLirePremier = False
Exit Function
End If
RSLirePremier = True
End Function
Public Function RSLireDernier(ByRef rs As ADODB.Recordset) As Boolean
On Error Resume Next
rs.MoveLast
If Err <> 0 Then
RSLireDernier = False
Exit Function
End If
RSLireDernier = True
End Function
'procédure qui ferme la connexion à la base de données
Public Sub CloseBdd()
AdoCnx.Close
End Sub
'procédure qui ferme le recordset
Public Sub CloseRs(ByRef rs As ADODB.Recordset)
rs.Close
End Sub
Sur le bouton du formulaire :
Private Sub Command2_Click()
Dim rst As ADODB.Recordset
Dim query As String
Set rst = New ADODB.Recordset
query = "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' "
ModBdd.ConnectBdd
If ModBdd.OpenRecordset(query, rst) = False Then
MsgBox "veuillez verifier vos paramêtres" , VbExclamation,"Message Système"
Exit Sub
End If
rst.MoveFirst
While Not rst.EOF
If rst.Fields(0) = Text4.Text Then
form1.Show
Unload Me
End If
rst.MoveNext
Wend
ModBdd.CloseRs(rst)
ModBdd.CloseBdd
End Sub
Reviens ici si tu as un problème
;o)
Merci bien!!
(Jazakom Allah khyran)