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 : Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox [ Base de données / SQL ] (PlatiniumPhoenix)

vendredi 27 juin 2008 à 16:51:30 | Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox

PlatiniumPhoenix


Bonjour tout le monde

Alors voilà, j'ai une base de donnée access, les tables suivantes sont concernés par le problème en question:
-Banque
-Agence
Une banque a plusieurs agences.

Voilà à quoi ressemble la FORM sur laquelle je travaille :

[URL=http://www.boostupload.com/img.php?i=image_776_Banque.JPG][IMG]http://www.boostupload.com/files/image_776_Banque.JPG[/IMG][/URL]

Ce que je veux faire c'est : N'avoir dans le ComboBox de l'agence que les agences appartenant à la banque selectionnée dans le premier ComboBox.

Voici mon code :

Ce que je veux faire c'est : N'avoir dans le ComboBox de l'agence que les agences appartenant à la banque selectionnée dans le premier ComboBox.

Voici mon code :

'-----------------------Declaration Des Variables Globales--------------------------
Dim cnx As ADODB.Connection
Dim cob As ADODB.Recordset
Dim coa As ADODB.Recordset
Dim VarBanque AsInteger
 
'---------------------------------
     PrivateSub Form_Load()
'---------------------------------
 
Set cnx = New ADODB.Connection
Set cob = New ADODB.Recordset
Set coa = New ADODB.Recordset
 
'----------------------------------------------------------------------------------
VarBanque = 1
' Là j'ai initialisé la variable VarBanque pour éviter le msg d'erreur suivant :
'          "L'operation demandée necessite un enregistrement actuel"
'----------------------------------------------------------------------------------
 
cnx.Provider = "microsoft.jet.oledb.4.0"
cnx.ConnectionString = App.Path & "\GD.mdb"
cnx.Open
cob.Open"select NomBanque from Banque", cnx, adOpenDynamic, adLockOptimistic
coa.Open"select NomAgence from Agence where  NumBanque  = " & VarBanque & "", cnx, adOpenDynamic, adLockOptimistic
 
'------------------------------Combo Banque-------------------------------------------
 
cob.MoveFirst
Do
Cb.AddItem cob("NomBanque")
 
cob.MoveNext
LoopUntil cob.EOF
 
'-----------------------------Combo Agence--------------------------------------------
coa.MoveFirst
Do
Ca.AddItem coa("NomAgence")
coa.MoveNext
LoopUntil coa.EOF
EndSub
 
 
'----------------------ComboBox Banque Click----------------------------------------
 
PrivateSub Cb_Click()
 
cob.MoveFirst
DoUntil cob.EOF
     cob.MoveNext
Loop
EndSub
 
'----------------------ComboBox Agence Clik-----------------------------------------
 
PrivateSub Ca_Click()
 
coa.MoveFirst
DoUntil coa.EOF

coa.MoveNext
Loop
EndSub

Avec ce code j'ai dans le deuxième ComboBox les agences de la première Banque(Car j'ai initialisé la variable qui indique à la requête la banque 1).
Ca fait maintenant quatre jours que je galère dessus mais en vain

Je sais pas comment faire pour avoir à chaque fois que les agences appartenant à la banque selectionnée, autrement dit pour que la requete s'execute et aliment le ComboBox 'Agence' à chaque selection d'une banque.
Si quelqu'un a une idée ...
Je vous remercie d'avance pour votre collaboration


Remarque :
Je croie que quand j'ai rempli le premier combo, j'ai fais une boucle de lecture de ma table, a la fin de cette boucle, le premier recordset ne pointe plus sur aucune ligne de la table (fin de fichier atteinte)
Qu'est ce que vous en pensez ?
Merci d'avance pour votre collaboration


vendredi 27 juin 2008 à 21:19:19 | Re : Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox

Gwendal3

SAlut,

Je croie que quand j'ai rempli le premier combo, j'ai fais une boucle de lecture de ma table, a la fin de cette boucle, le premier recordset ne pointe plus sur aucune ligne de la table (fin de fichier atteinte)
Qu'est ce que vous en pensez ?

Très bizar t'as façon de remplir tes combobox....Faire une boucle sur une table pour remplir une combobox, je ne suis pas sur que ce soit très optimisé!
Dans Access, je procédais ainsi:

Private Sub Lst_ZoneRech_Click()

'=> la liste Lst_Terme est rempli par la table Tbl_LstMod

    Dim Sql As String

    Sql = "SELECT Tbl_TypeDep.* " & _
              "FROM Tbl_TypeDep " & _
              "ORDER BY Tbl_TypeDep.TypeDep ;"

    Me.Lst_Terme.RowSource = Sql
    Me.Lst_Terme.Requery

End Sub

Et dans vb.net

Me.cboRechercherDans.DataSource = ....


Je sais pas comment faire pour avoir à chaque fois que les agences appartenant à la banque selectionnée, autrement dit pour que la requete s'execute et aliment le ComboBox 'Agence' à chaque selection d'une banque.
Je crois que la réponse est dans ta phrase:
chaque selection d'une banque -> requete s'execute -> aliment le ComboBox 'Agence'

1- Revois ton code pour le remplissage d'une combobox avec une requête...
2- Ensuite sur la sélection (ou changement de texte) rempli le second combobox avec une requête incluant en critère la sélection de la première combobox.

J'ai plus batteries....

@+

Gdal







jeudi 10 juillet 2008 à 21:15:07 | Re : Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox

bonjourcheval

Très bizar t'as façon de remplir tes combobox.... Faire une boucle sur une table pour remplir une combobox, je ne suis pas sur que ce soit très optimisé!


Et access ne fait pas de boucle lui pour lire toutes ces lignes? ;)

Personnelement, je crois que les deux méthodes ont la même vitesse.
Resterait à tester avec un calculateur de vitesse de fonction...

vala



Cette discussion est classé dans : combobox, banque, cnx, cob, coa


Répondre à ce message

Sujets en rapport avec ce message

Comment afficher dans une ComboBox quii doit affiche les tables de ma base [ par beber00 ] voici mon codeje suis sous VisualBasic 6.0    'Déclaration de la variable de connexion    Dim cnx As ADODB.Connection    Set cnx = New ADODB.Connectio base de données [ par mathieu57100 ] bonjour, une ptite question avant le week end...J'ai une appli qui pointe dsur une base de doonée.La connection entre les 2 se fait bien.J'ai une comb ComboBox et recorset [ par bruce207 ] Bonjour, mon probleme est le suivant :lorsque je saisie le code suivant il marche pour les 2 valeurs du recorset Private Sub Form_Load()Dim j As Int HELP Aide Userform - Tableau - Combobox Fonction d'une autre [ par gad311081 ] Bonjour à tous, C'est encore moi:En espérant que vous puissiez m'aider....merciN' hésiter pas à me demander si cela n'est pas assez clairJ'ai plusieur DataGridView et ComboBox [ par HermesCB ] HermesCB Bonjour à tous VB.NET 2008 Petit problème, j'ai créé un DataGridView avec un ComboBox incorporé dans une colonne, Ce ComboBox peu prendre p VB combobox [ par gipsyfree1 ] salutj'ai une liste ou il y a des valeures SINGLE listé dans une comboboxje ve savoir comment utiliser une valeur ke j ai selectionné dans cette combo Combobox , readonly [ par dimitriusai ] Bjr à tous,j'ai une petite question concernant les Combobox en vb.net.Par défaut, il est possible de modifier la valeur des champs (options / item).Sa Associer une combobox et une picturebox [ par podolis ] Je suis débutant en VB et je créais des IHM car je suis Ergonome logicielJ'aimerais que lorsque je séléctionne un items dans une combobox cela change ajouter un item avec bouton et textbox [ par spv54 ] Bonjour j'ai sur ma form une combobox une textbox et un bouton de commandelorsque je clique sur le bouton de commande j'aimerai que le textbox s'affic Problème erreur d'exécution [ par bruce207 ] Bonjour,j'ai tapé le code suivant pour modifier (MAJ) le contenu du champ Solde de la table COMPTE, puis ajouter dans la table VERSEMENT des informati


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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 : 0,250 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é.