Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Combobox et requête sql [ Base de données / SQL ] (Herminator)

mercredi 19 septembre 2007 à 12:18:21 | Combobox et requête sql

Herminator

Bonjour à tous,
Je débute en vb2005, et j'ai un problème pour utiliser le Displaymember et Valuemember du combobox.
En gros, comment je peux charger la liste d'un combobox avec un champ 'CustomerName', et récupérer le champ 'CustomerId' du client sélectionné ?

Voici comment je rempli mon combobox :

PrivateSub Remplissage_ComboBox1()
Rt.Open(
"SELECT DISTINCT SCustomer.CustomerNo, SCustomer.Name FROM SProd, SCustomer WHERE SProd.Customer_Id = SCustomer.Id ORDER BY SCustomer.Name ", Ct)

ComboBox1.Items.Clear()
Me
.Cursor = Windows.Forms.Cursors.WaitCursor

While
Not Rt.EOF
   ComboBox1.Items.Add(Rt(1).Value)
   Rt.MoveNext()
End
While

Me
.Cursor = Windows.Forms.Cursors.Default
Rt.Close()
EndSub

Merci d'avance pour votre aide.





mercredi 19 septembre 2007 à 13:52:48 | Re : Combobox et requête sql

ThoT49

Membre Club

Pour charger des données dans un combobox avec access (je ne sais pas ce que t'utilise donc je t'aide pour access) il faut :

        'définition du chemin de la base de donnée
        Me.ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
          "Data Source=" + Application.StartupPath + "\BDD.mdb"

        'définition de la variable sql
        Me.Sql = "SELECT * FROM TableEssai" 'sql est déclaré en string

        'choix de la connection
        Me.Conn.ConnectionString = Me.ConnString 'connstring déclaré en string

        'on ouvre la connection
        Me.Conn.Open() 'conn déclaré en oledbconnection

        'déclaration du data adapteur
        Dim Dta As New OleDbDataAdapter(Me.Sql, Me.Conn)

        'on charge les données de la liste dans le dataset
        Dta.Fill(Me.Dts, "Table"'dts déclaré en dataset

        'on rempli la table avec le dataset
        Me.Dtt = Me.Dts.Tables("Table"'dtt déclaré en datatable

        'on rempli le combobox avec la table
        Me.ComboBox1.DataSource = Me.Dtt

        'on choisi le champs à afficher
        Me.ComboBox1.DisplayMember = "Champ"

        'on ferme la connection
        Me.Conn.Close()
Voila cela fonctionne comme cela et c'est stable... Bien sur il faut utiliser access.

Je pense que avec sqlserver cela revien au même ...

Bonne chance ;)

mercredi 19 septembre 2007 à 14:03:42 | Re : Combobox et requête sql

Herminator

Pour info, j'ouvre une table sous sql Server 7.
J'essaye tout de suite.
Merci du coup de main !



mercredi 19 septembre 2007 à 15:21:03 | Re : Combobox et requête sql

lesoleil2010

toncombobox.datasoure=tondataset.tables("latable")

toncombobox.displaymember="nom_client" ce que seras afficher dans le combobox
toncombobox.valuemember="numero_client" la valeur retourner par le combobox lors du choix d'un nom

 


mercredi 19 septembre 2007 à 15:32:17 | Re : Combobox et requête sql

Herminator

Est-ce que c'est possible sans passer par un dataset, c'est à dire en adodb, de cette manière :
Dans un module :
Public Ct AsNew ADODB.Connection
Public Cdt AsNew ADODB.Command

Dans ma form:

Dim Rt AsNew ADODB.Recordset

PrivateSub Form1_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load
Ct.ConnectionString =
"Provider=SQLOLEDB.1;Data Source=GPAO;" _
&
"Initial Catalog=Pcp2;User id=sa;"

Ct.Open()

Cdt.ActiveConnection = Ct

Rt.CursorLocation = ADODB.CursorLocationEnum.adUseClient
Rt.CursorType = ADODB.CursorTypeEnum.adOpenDynamic
Rt.LockType = ADODB.LockTypeEnum.adLockPessimistic

Remplissage_ComboBox1()

EndSubLe code de Remplissage_ComboBox1() étant dans la question du départ !

Merci pour votre aide, car je rame !!!



mercredi 19 septembre 2007 à 16:03:31 | Re : Combobox et requête sql

lesoleil2010

Réponse acceptée !
je te propose une astuce si il n ya pas une maniere pour faire ca tu crie deux combobox une visible et l autre cacher ,la premiere tu le remplie avec les noms et l'autre(cacher) avec le numero
dans le cas de la selection d'un nom dans levenement combobox_visible_SelectedIndexChanged
tu met  combobox_cacher.Items.item(combobox_visible.selectedindex)
comme ca tu récupére le numero correspandant au nom choisis....

mercredi 19 septembre 2007 à 16:09:03 | Re : Combobox et requête sql

Herminator

Ok, j'ai compris. Mais je ferais ça demain.
Merci beaucoup pour votre aide !



mercredi 19 septembre 2007 à 20:20:05 | Re : Combobox et requête sql

ThoT49

Membre Club
lesoleil2010 t'as dit la même chose que moi mais plus précisément pour ton problème ...

Tu véra c'est très simple :p

mercredi 19 septembre 2007 à 23:19:57 | Re : Combobox et requête sql

lesoleil2010

oui oui ta raison j ai pas fais attontion dsl,l'essentiel que Herminator trouve une solution

jeudi 20 septembre 2007 à 11:20:54 | Re : Combobox et requête sql

Herminator

Super, ça marche.
Merci encore de votre aide à tous les deux.

Salutations.





Cette discussion est classé dans : combobox, requête, combobox1, rt, scustomer


Répondre à ce message

Sujets en rapport avec ce message

Explication sur les ComboBox [ par Gregco ] Hello all,Bon ben une question simple, mais j'ai pas de ressource pour trouver la réponse... j'ai un ComboBox contenant des noms d'annimaux. Dès que l SOS: comment créer une requête dont les critères de sélection sont choisis dans des Combobox [ par poupou44 ] Bonjour,je voudrais savoir si il est possible avec ACCESS 2000 de créer plusieurs comboBox dans un formulaire et que la sélection d'un paramètre dans combobox et requete en vb [ par imerys ] Je suis un débutant en vb et accessJ'ai une base donné dans laquelle il y'a 1 tableJe sais ouvrir la table 1 qui contient 8 champs en vb6 avec form at Chargement valeurs dans Combobox [ par chicodoubrazil ] Bonjour,j'ai un classeur avec une feuil1 qui possède des combobox dont leurs valeurs sont chargées à l'ouverture du fichier excel comme ci-dessous:Pri VBA Excel : 1er élément par défaut dans ma combobox [ par Manutr808 ] Bonjour,Je suis débutant sous VBA.J'ai une combobox dans laquelle j'ai mis 3 élémentsCombobox1.additem "1"Combobox1.additem "2"Combobox1.additem "3"J' Requête et Combobox [ par diak ] Slt les mecs j'ai faire une requête qui me prend juste le num d'une table et met les arrange dans un comboboxj'ai essayé ça ... req="select num from pbm de remplissage de combobox à plusieurs colonnes [ par evilrico ] bonjour à toutes et à tousbon voila je vais essayé d'etr e claire et brefj'ai un combobox à plusieurs colonnes(3) mais je n'arrive pas à remplir les d Filtrage d'une colonne en fonction d'une ComboBox [ par krystela ] Bonjour,J'ai créer une Combox par la "barre d'outils contrôles"J'y est affecté les plages de cellules souhaitées (ex A1:A1000)Cette colonne possède un COMBOBOX WORD pour le nuls, comme moi [ par lafafmentvotre ] BonjourComme mon sujet l'indique je suis nul en VB mais voudrais avoir une info.Sous WORD 2003, je crée un nouveau doc.Je fais ensuite : Outils/macro/ CHANGER UN ROWSOURCE DANS UN COMBOBOX [ par patrev ] Bonjour à tousVoilà mon problème : J'ai dans un userform un combobox1 avec comme data un rowsource : sheet1!a1:a20Je récupére la valeur qui est select


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,482 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.