IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

probleme de ListBox sous VB6 ( debutant )


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 96
    Points : 47
    Points
    47
    Par défaut probleme de ListBox sous VB6 ( debutant )
    salut
    je travaille sur une application et je voudrais afficher toutes les dates qui se trouvent dans une table dans une listbox

    pouvez me donner un bout du code

    merci

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    De quel type de table s'agit-il? Access ou Excel ou autre?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 96
    Points : 47
    Points
    47
    Par défaut probleme de ListBox sous VB6 ( debutant )
    j utilse une base sql server

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Je ne suis pas experte en communication avec les bases de données, mais je sais que pour afficher une sélection de données selon certains critères, il faut recourir à une requête (sans vouloir faire de mauvais jeux de mots).

    Va faire un tour sur les tutoriels de traitement de données. si tu ne trouve pas ton bonheur, du dis. Pour le reste, je passe la main.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 96
    Points : 47
    Points
    47
    Par défaut probleme de ListBox sous VB6 ( debutant )
    ok merci je vais tout de suite voir ca

    mais n'empeche qu'un bout de code m'aiderais beaucoup

    si quelqu 'un pouvvez m'aider ca serait parfait

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut
    les requetes sql sur des bases de données ne sont pas simple, il suffit de trouver la bonne phrase mais si mes souvenirs sont bons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    Public p_strServeur As String
    Public p_strBase As String
    Public p_adoConnect As New ADODB.Connection
     
    Declare Function GetPrivateProfileString Lib "kernel32" _
            Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
            ByVal lpKeyName As String, ByVal lpDefault As String, _
            ByVal lpRetunedString As String, ByVal nSize As Long, _
            ByVal lpFileName As String) As Long
     
     
    Public Function OuvreConnection(p_strServeur As String, p_strBase As String) As Boolean
    'Description    : Ouvre une connection ADO sur base SQL Server
    Dim l_strconnectstring As String
     
    On Error GoTo erreur
     
    ' uid= nom de l'utilisateur
    ' pwd=mot de passe
    l_strconnectstring = "uid=;pwd=;driver={SQL Server}; server=" & p_strServeur & ";database=" & p_strBase & ";dsn=''"
    If p_adoConnect.State = adStateOpen Then p_adoConnect.Close
     
    With p_adoConnect
        .ConnectionString = l_strconnectstring
        .ConnectionTimeout = 0
        .CommandTimeout = 0
        .Open
    End With
     
    OuvreConnection = True
    Exit Function
    erreur:
    MsgBox Err.Description, vbCritical
    OuvreConnection = False
    End Function
     
    Function FermeConnection() As Boolean
     If p_adoConnect.State = adStateOpen Then
        p_adoConnect.Close
        FermeConnection = True
     Else
     
        FermeConnection = False
     End If
    End Function
    Function LitTable2()
        Dim l_rsRecord As New ADODB.Recordset
        Dim l_strSql As String
        On Error GoTo erreur
        If p_adoConnect.State = adStateOpen Then
             ' modifier le nom de la table <donnees> de l'exemple
            l_strSql = "SELECT * from employees"
            l_rsRecord.Open l_strSql, p_adoConnect
            'MsgBox l_rsRecord!montant
            ' alimente le Grid
            Exemple.Adodc1.Visible = True
            Exemple.DataGrid1.Visible = True
            Exemple.Adodc1.ConnectionString = p_adoConnect.ConnectionString
            Exemple.Adodc1.RecordSource = "select * from employees"
     
            Exemple.Adodc1.Refresh
     
        Else
            MsgBox "La base est fermée", vbInformation
        End If
    Exit Function
    erreur:
    MsgBox Err.Description, vbCritical
     
    End Function
    ensuite pour lire la base ouverte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Function LitTable2()
        Dim l_rsRecord As New ADODB.Recordset
        Dim l_strSql As String
        On Error GoTo erreur
        If p_adoConnect.State = adStateOpen Then
             ' modifier le nom de la table <donnees> de l'exemple
            l_strSql = "SELECT * from employees"
            l_rsRecord.Open l_strSql, p_adoConnect
     
            ' alimente le Grid
            Exemple.Adodc1.Visible = True
            Exemple.DataGrid1.Visible = True
            Exemple.Adodc1.ConnectionString = p_adoConnect.ConnectionString
            Exemple.Adodc1.RecordSource = "select * from employees"
     
            Exemple.Adodc1.Refresh
     
        Else
            MsgBox "La base est fermée", vbInformation
        End If
    Exit Function
    erreur:
    MsgBox Err.Description, vbCritical
     
    End Function

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 96
    Points : 47
    Points
    47
    Par défaut probleme de ListBox sous VB6 ( debutant )
    merci

    mais je suis débutant je crois qu'il y a trop de chose dans ce code que je ne comprend pas
    moi je voudrais juste remplir une listbox avec les dates qui se trouvent dans un champ d'une table

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    On ne peut pas mettre la charue avant les boeufs.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut
    tu ne pourras jamais récupérer des données si tu ne crée pas une connexion avec la base de donnée.

    Je vais essayer d'expliquer

    1°) créer un module dans ton projet
    2°) ajouter une référence à Microsoft data object 2.6 library

    ensuite le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Public p_strServeur As String 'variable chaine nom du serveur
    Public p_strBase As String 'variable chaine nom de la base
    Public p_adoConnect As New ADODB.Connection
     
    Declare Function GetPrivateProfileString Lib "kernel32" _
            Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
            ByVal lpKeyName As String, ByVal lpDefault As String, _
            ByVal lpRetunedString As String, ByVal nSize As Long, _
            ByVal lpFileName As String) As Long
    ce code ce place dans le module au début, déclaration des variables publiques

    ensuite les deux fonction :

    ouverture de la connexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    'Description    : Ouvre une connection ADO sur base SQL Server
     
    Public Function OuvreConnection(p_strServeur As String, p_strBase As String) As Boolean
     
    Dim l_strconnectstring As String
     
    On Error GoTo erreur
     
    'cette ligne permet de créer la chaine avec tous les paramètres d'ouverture de la base:
     
    p_strServeur = "nom du serveur SQL"
    p_strBase = "nom de la base (fichier)"
     
    l_strconnectstring = "uid=;pwd=;driver={SQL Server}; server=" & p_strServeur & ";database=" & p_strBase & ";dsn=''"
     
    ' uid= blabla (nom del'utilisateur) peut-être une variable si plusieurs utilisateurs
    ' pwd=********* mot de passe idem
    'driver= chemin du serveur
     
    'rajouter dans la chaine tous ces paramètres ou créer des variables si plusieurs utilisataurs et plusieurs mot de passe (sauf pour le chemin du server car il ne change pas)
     
    'laisser ensuite les lignes suivantes :
     
    If p_adoConnect.State = adStateOpen Then p_adoConnect.Close
     
    With p_adoConnect
        .ConnectionString = l_strconnectstring
        .ConnectionTimeout = 0
        .CommandTimeout = 0
        .Open
    End With
     
    OuvreConnection = True
     
    Exit Function
     
    erreur:
    MsgBox Err.Description, vbCritical
    OuvreConnection = False
    End Function
    une fois que la base est ouverte il faut apprendre à la fermer !!!

    la fonction de fermeture à laisser telle quel, c'est cool ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Function FermeConnection() As Boolean
     
     If p_adoConnect.State = adStateOpen Then
        p_adoConnect.Close
        FermeConnection = True
     Else
     
        FermeConnection = False
     End If
    End Function
    Ensuite viens la lecture dans la base.

    Il faut trouver la bonne phrase, car le sql est un langage un peu complexe.

    déjà créer une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    Function LitTable()
        Dim rs As New ADODB.Recordset
        Dim sql As String
     
        On Error GoTo erreur
     
        If p_adoConnect.State = adStateOpen Then
     
    'voici la ligne à compléter 
     
           sql = "SELECT (1) from (2) where ........."
     
     
     
    '(1) nom de la colonne ou * pour balayer toute les colonnes
    '(2) nom de la table
    'ensuite faut chercher car je ne suis pas trop calé en sql mais sur le net tu trouve
     
          rs.Open sql, p_adoConnect
     
        While not .EOF
     
            With rs
     
                listbox1.Additem rs 'pas sur du rs, pour un nombre c'est !NB, pour    une date ??? je ne sait pas !DATE peux-t-être
     
            .MoveNext
     
            Wend
     
            .Close
     
        End With
     
    Set rs = Nothing
     
          End If
     
    Exit Function
     
    erreur:
    MsgBox Err.Description, vbCritical
     
    End Function
    Voilà, je suis pas trop calé mais avec internet et ça tu devrais te débrouiller

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 96
    Points : 47
    Points
    47
    Par défaut probleme de ListBox sous VB6 ( debutant )
    merci pour ton aide

    c'est ce dont j'avais besoin

  11. #11
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Merci à alexxx69 d'avoir pris la main...

    Bon et bien, si ça marche, josémaria (espagnol ?), t'oublies pas de cliquer sur .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] Liste Des Commandes Basiques Les Plus Utilisées Sous VB6
    Par akatsuki1905 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/10/2008, 21h23
  2. Probleme Interface Menu SWF Sous VB6
    Par sooprano dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 22/03/2008, 14h42
  3. probleme de champ sous VB6
    Par josémaria dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/02/2007, 22h34
  4. Probleme de sous requete DEBUTANT
    Par nashouille dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/09/2005, 11h47
  5. Direct8X/Direct3D sous VB6, probleme de récup d'animations
    Par John Blobsmith dans le forum DirectX
    Réponses: 3
    Dernier message: 28/04/2004, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo