begin process at 2012 02 15 02:56:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Base de données

 > 

SQL

 > 

Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Alimentation d'un ComboBox via une requête paramètrée par un autre ComboBox

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ée 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 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 inserer données dans base de donnée provenant d'une comboBox [ par champomy62 ] Salut à tous et meilleurs voeux, Voulant me faire une petite application de gestion de rangement, j'ai crée un formulaire pour ajouter de nouveaux él 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 Insertion du texte émanant d'un combobox [ par Rakam ] J'ai dans un Userform, créé un masque de saisie de texte me permettant de remplir un fichier modèle. Dans ce masque, j'ai introduit trois liste de typ SVP AIDE !! COMBOBOX AVEC WORD ET VISUAL BASIC [ par kdn77s13 ] Bonjour tt l'monde, voilà mon pb:j'ai fé une combobox sous word, é pr ajouté d truk ds la combo ben j'ai utilisé ComboBox1.AddItem "truk"dc en gros ca combobox apparence [ par MAudio ] Impossible de définir l'apparence FLAT à mon control de base ComboBox (il reste toujours en 3D) Pourquoi ? Comment ???C'est la meme chose pour le Con Nombre maximal de combobox [ par gsavard ] Sommes-nous limité par un nombre maximal de combobox par frame?? 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 ouvrir le cd explorer à partir d'un combobox [ par roupin ] Bonjour à tous ,je post en français car je viens de constater que c'était un forum francophone ;-) Donc voilà, je réalise actuellement un cd et au lan


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,622 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales