Programmation VB6

Résolu/Fermé
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 - 1 mai 2010 à 12:53
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 2 mai 2010 à 00:29
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!
A voir également:

9 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
1 mai 2010 à 12:56
Bonjour,

Essaies en faisant:
resultatADO.Open "SELECT motDePasse FROM employé where login = ' " & Text2.Text & " ' ", connectionADO 


;o)
0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 13:07
wé c bien ça!

Merci bien!!

(Jazakom Allah khyran)
0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 14:50
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"
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
1 mai 2010 à 14:54
Avant la boucle il faut faire:

resultatADO.MoveFirst


Et juste avant le Loop

resultatADO.MoveNext


Sinon tu boucles toujours sur le même enregistrement

;o)
0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 15:05
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
1 mai 2010 à 15:13
Tu es bien en VB6 ?

Essaie avec ça:

If resultatADO.Fields(0) = Text4.Text Then


0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 15:18
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
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
1 mai 2010 à 15:20
Ok, je vais regarder ça de plus près
0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 15:24
ok,merci infinément
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
1 mai 2010 à 21:18
Voilà un code à placer dans un nouveau module. Tu renommes le module en ModBdd :

'==========================================='
'          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)
0
muslim_a Messages postés 16 Date d'inscription mercredi 6 janvier 2010 Statut Membre Dernière intervention 12 juin 2010 7
1 mai 2010 à 22:59
D'abord je vous remercie bien :) c'est tres gentil de votre part

je trouve -plutôt c'est lui qui trouve- un problème avec cette ligne

ModBdd.ConnectBdd
il me demande un objet requierd
j'ai essayé avec tout le code que vous m'avez présenté
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 mai 2010 à 00:29
Il faut activé la référence Microsoft ActiveX Data Objects x.x Library dans Outils > références ...
0