Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

liste deroulante ajout dans une zone de liste

3 réponses
Avatar
Selune6666
Bonjour =E0 tous,
Voila j'ai un petit probl=E8me et je ai vu sur ce forum des problemes du
meme genre donc je pense que vous pouvez m'aider. Je suis debutante en
base de donnn=E9e et le language qui va avec.
Voila sur mon formulaire j'ai un liste d=E9roulante dans laquelle je
choisis un portique.
Quand je clique sur le bouton Ajouter ce portique s'ajoute dans la zone
de texte que j'ai cr=E9e en m=E9tant les diff=E9rents champs que j'ai
choisi d'afficher avec.
Par exemple je choisi le pore1 je clique sur ajouter et dans le champ
s'affiche le nom du portique dc ici Pore1 , la batterie et le terminal
auquel il est rattach=E9.

Code :
OptionCompare Database
Dim base As Database
Dim data As Recordset
Dim sql AsString
Dim Nom_Equipement AsString

PrivateSub Ajout_Click()
Set base =3D CurrentDb
sql =3D "SELECT Nom_Batterie as Batterie, Nom_Emplacement as Terminal,
Nom_Equipement as Portique FROM Batterie , Equipement where
Id_Equipement=3D" + Str(Portique) + " and
Equipement.Id_Batterie=3DBatterie.Id_Batterie;"
Set data =3D base.OpenRecordset(sql, dbOpenDynaset)
Me.lstEquipement.RowSource =3D sql
Me.lstEquipement.RequeryEndSub

Pour le moment tout va pour le mieux.
Maintenant je veux que les portiques que j'ajoute reste dans mon champ.
Par exemple je veux pouvoir selectionner pore1 cliquer sur ajouter ,
qu'il s'affiche dans le champ, et faire de meme avec autant de portique
que necessaire sans pour autant que les portiques selectionner avant ne
s'efface de ma zone de texte.
actuellement quand j'ajoute pore1 il s'affiche dans mon champ, mais
quand je veux ajouter pore2 , pore1 s'efface de mon champ et est
remplacer par pore2.

3 réponses

Avatar
ze Titi
Bonjour

Pour réaliser ce que tu veux faire, il faut que tu changes un peu la démarche.
Tout d'abord, il me semble que ton contrôle lstEquipement n'est pas une zone de texte mais une listbox... Je me trompe ?
Si c'en est bien une, cela va nous faciliter les choses...
Le type de données que recevra cette liste ne sera pas une table/requête mais une liste de valeurs.

Option Compare Database
Dim maBase as Database
Dim rs as Recordset
dim strSQL as String

Private Sub Ajout_click()
set maBase=CurrentDb
strSQL = "SELECT Nom_Batterie as Batterie, Nom_Emplacement as Terminal,Nom_Equipement as Portique FROM Batterie , Equipement where Id_Equipement=" & Portique & " and Equipement.Id_Batterieºtterie.Id_Batterie;"
Set rs = maBase.OpenRecordset(sql, dbOpenDynaset)
rs.MoveFirst
lstEquipement.RowSource=lstEquipement.RowSource & rs!batterie & ";" & rs!terminal & ";" & rs!portique & ";"
lstEquipement.Refresh
rs.Close
set rs=Nothing
End Sub

Dis-nous !

Bonjour à tous,
Voila j'ai un petit problème et je ai vu sur ce forum des problemes du
meme genre donc je pense que vous pouvez m'aider. Je suis debutante en
base de donnnée et le language qui va avec.
Voila sur mon formulaire j'ai un liste déroulante dans laquelle je
choisis un portique.
Quand je clique sur le bouton Ajouter ce portique s'ajoute dans la zone
de texte que j'ai crée en métant les différents champs que j'ai
choisi d'afficher avec.
Par exemple je choisi le pore1 je clique sur ajouter et dans le champ
s'affiche le nom du portique dc ici Pore1 , la batterie et le terminal
auquel il est rattaché.

Code :
OptionCompare Database
Dim base As Database
Dim data As Recordset
Dim sql AsString
Dim Nom_Equipement AsString

PrivateSub Ajout_Click()
Set base = CurrentDb
sql = "SELECT Nom_Batterie as Batterie, Nom_Emplacement as Terminal,
Nom_Equipement as Portique FROM Batterie , Equipement where
Id_Equipement=" + Str(Portique) + " and
Equipement.Id_Batterieºtterie.Id_Batterie;"
Set data = base.OpenRecordset(sql, dbOpenDynaset)
Me.lstEquipement.RowSource = sql
Me.lstEquipement.RequeryEndSub

Pour le moment tout va pour le mieux.
Maintenant je veux que les portiques que j'ajoute reste dans mon champ.
Par exemple je veux pouvoir selectionner pore1 cliquer sur ajouter ,
qu'il s'affiche dans le champ, et faire de meme avec autant de portique
que necessaire sans pour autant que les portiques selectionner avant ne
s'efface de ma zone de texte.
actuellement quand j'ajoute pore1 il s'affiche dans mon champ, mais
quand je veux ajouter pore2 , pore1 s'efface de mon champ et est
remplacer par pore2.


--
Voilou !
Bon courage !
Cordialement,
ze Titi

Avatar
Selune6666
oui lstEquipement est bien une zone de liste.
euh jai une erreur au niveau de
lstEquipement.Refresh
il me dit erreur de copilation: membre de méthode ou de données
introuvable.

merci d'avoir repondu aussi vite c'est le 4eme forum que je fais sans
que personne ne puisse m'aider.
Avatar
ze Titi
Bonjour

Mille excuses pour le .Refresh, c'est en fait un

lstEquipement.Requery
Me.Repaint


Dans ton message
du mercredi 24/01/2007 jour de la Saint François de Sales, tu as écrit
:

oui lstEquipement est bien une zone de liste.
euh jai une erreur au niveau de
lstEquipement.Refresh
il me dit erreur de copilation: membre de méthode ou de données
introuvable.

merci d'avoir repondu aussi vite c'est le 4eme forum que je fais sans
que personne ne puisse m'aider.


--
Voilou !
Bon courage !
Cordialement,
ze Titi