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 :

Problème avec une requête sql en access à afficher sur l'interface vb6


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut Problème avec une requête sql en access à afficher sur l'interface vb6
    j'ai à créer un logiciel sous VB6(dépassé mais cahier de charge oblige),basé aussi sur access.Jusqu'à là tout se passe bien mais mon problème c'est que j'ai une requête sql que je voudrais récupérer depuis l'interface vb.J'explique j'ai une table"DEPARTEMENT" avec les champs nomdepart ...... et lorsqu'on enregistre un nom de département cela s'enregistre également dans un combobox pour une réquête voulant obtenir la liste de tous les responsables par département mais le problème est qu'il des doublons au niveau de mon combobox.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Salut

    Il faut faire un select Distinct nom du champ dans la requête à l'ouverture de ton recordset.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    oui depuis access cela a été fait mais le problème en fait est au niveau de vb en particulier sur mon combobox comment faire pour ne pas avoir des départements en double

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    cela s'enregistre également dans un combobox
    Comment, par ligne de code est remplis ton combobox ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    voici un bout de mon code
    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
    Private Sub Combo3_Click()
    Label1 = "HISTORIQUE DES RESPONSABLES ET SOUS-RESPONSABLES D'UN DEPARTEMENT"
    seconnecter
     
    Dim rs As ADODB.Recordset
    Set rs = New Recordset
    rs.Open "select  * From [Requête responsable_sous-responsable] Where [Département]= '" & Combo3 & "'", con, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.Recordset = rs
     
    rs.Close
    con.Close
     
           Set rs = Nothing
           Set con = Nothing
    End Sub

  6. #6
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Là tu mes le code pour remplir le MSHFlexGrid1.
    Je suppose que les doublons sont dans le Combo3, c'est le code qui rempli ce combo3 qu'il faut nous mettre.
    Si non, pour supprimer des doublons dans ton combo3, sur un Form un Combobox et un CommandButton et ce
    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
    Option Explicit
     
    Private Sub Command1_Click()
    Dim T As Integer, U As Integer
    For T = 0 To Combo1.ListCount - 1
        For U = T + 1 To Combo1.ListCount - 1
            If Combo1.List(U) = Combo1.List(T) Then Combo1.RemoveItem (T)
        Next U
    Next T
    End Sub
     
    Private Sub Form_Load()
    Combo1.Clear
    Combo1.AddItem "Pas doublon"
    Combo1.AddItem "Doublon"
    Combo1.AddItem "Doublon"
    Combo1.AddItem "pour demo"
    Combo1.ListIndex = 0
    End Sub
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    au fait je comprend maintenant que dans ma table[DEPARTEMENT], le champ"nomdepart" a la propriété (Indexé avec doublons) ce qui fait que le combobox récoit tout ce qui est nom de département.
    Maintenant je ne sais plus quoi faire.Mais est-ce que ce code de ma requête est juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.Open "select  * From [Requête responsable_sous-responsable] Where [Département]= '" & Combo3 & "'", con, adOpenDynamic, adLockOptimistic

  8. #8
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Exemple d'une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rqt = "Select all distinct Champ2Text From " & Me.Caption & " Where Champ2Text  <> ' truc ' Order By Champ2Text"
    A savoir que si Order By est utilisé, il doit correspondre au champ du distinct.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    Merci je vais essayer d'adapter ce code au mien et je vous ferez signe

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    je n'y arrive pas mais est-ce que vous pouvez me conseiller une autre méthode quand au remplissage des noms de département dans mon combobox sans doublons et adapter cela à ma requête?

  11. #11
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Citation Envoyé par hugnka Voir le message
    ..... quand au remplissage des noms de département dans mon combobox sans doublons et adapter cela à ma requête?
    '1° temps remplir le ComboBox (sans doublon grâce à Distinct)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    rs.Open "select DISTINCT nomdepart From DEPARTEMENT Order By nomdepart", con, adOpenDynamic, adLockOptimistic
    If rs.State = adStateOpen Then
        ComboDerpartement.Clear
        While Not rs.EOF
            ComboDerpartement.AddItem rs.Fields("nomdepart")
            rs.MoveNext
        Wend
        rs.Close
    End If
    '2° temps remplir le MSHFlexGrid pour HISTORIQUE DES RESPONSABLES ET SOUS-RESPONSABLES D'UN DEPARTEMENT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    rs.Open "select  * From [responsable_sous-responsable] Where [Département]= '" & ComboDerpartement.List(ComboDerpartement.ListIndex) & "'", con, adOpenDynamic, adLockOptimistic
    If rs.State = adStateOpen Then
        Set MSHFlexGrid1.Recordset = rs
        rs.Close
    End If
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    j'essai d'adapter ces codes mais il y a un message d'erreur qui est"un objet est requis" je ne plus comment faire

  13. #13
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour,

    toujours mettre le code et specifier la ligne qui provoque l'erreur, c'est le minimum.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    je ne sais pas comment coordonner tout cela dans mon code ( j'ai oublié de préciser mais je suis vraiment très débutant en vb6)
    Voila ce que j'ai de manière générale dans mon combobox3
    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
    Private Sub Combo3_Click()
    Label1 = "HISTORIQUE DES RESPONSABLES ET SOUS-RESPONSABLES D'UN DEPARTEMENT"
    seconnecter
     
    Dim rs As ADODB.Recordset
    Set rs = New Recordset
    rs.Open "select DISTINCT nomdepart From DEPARTEMENT Order By nomdepart", con, adOpenDynamic, adLockOptimistic
    If rs.State = adStateOpen Then
        Combo3Departement.Clear
        While Not rs.EOF
            Combo3Departement.AddItem rs.Fields("nomdepart")
            rs.MoveNext
        Wend
        rs.Close
    End If
    rs.Open "select  * From [responsable_sous-responsable] Where [Département]= '" & Combo3Departement.List(Combo3Departement.ListIndex) & "'", con, adOpenDynamic, adLockOptimistic
    If rs.State = adStateOpen Then
        Set MSHFlexGrid1.Recordset = rs
        rs.Close
    End If
    rs.Close
    con.Close
     
           Set rs = Nothing
           Set con = Nothing
    End Sub
    A ce niveau quand j'exécute ma requête un message d'erreur "un objet est requis" apparait et après débogage voici la ligne qui est en couleur jaune
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Combo3Departement.Clear
    je ne sais plus comment faire

  15. #15
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Sûrement a remplacer ComboDerpartement par le nom de ton ComboBox (Combo3 ?)
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    j'ai rectifié et effectivement c'était cela,mais après tout cela le résultat ne s'affiche pas dans le MSHFlexgrid1

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    Merci à tous pour votre disponibilité et pour toutes vos réponses car le problème se posait au niveau de access et cela a été réglé.

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

Discussions similaires

  1. Problème avec une requête SQL, pour access
    Par a.bott dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 23/09/2008, 17h08
  2. [C++B5]Problème avec une requëte SQL sur BDD ACCESS
    Par Sleeping Lionheart dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/04/2008, 09h03
  3. [MySQL] Problème avec une requête SQL
    Par chobol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/05/2006, 12h29
  4. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 17h47
  5. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39

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