Liste de valeurs

The Praetorian Messages postés 18 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 17 août 2004 - 12 juil. 2004 à 15:51
The Praetorian Messages postés 18 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 17 août 2004 - 13 juil. 2004 à 14:30
bonjour!
j'ai une zone de liste rempli avec une liste de valeurs. La zone de liste est composée d'un en-tête IDSite et NomSite. Le contenu de la liste est donc sous la forme
IDSite;NomSite;1;Site1;2;Site2;
quand il y a 2 sites dans la zone de liste.
Je voudrais pouvoir récupérer les valeurs de NomSite qui serviront pour une requete SQL. Un truc du genre SELECT NomSite FROM Site WHERE Forms!MonFormulaire!MaListe = Site.NomSite.
Pour résumer comment je peux récupérer les valeurs Site1 et Site2 de ma zone de liste???
j'espere avoir été clair!
merci.

9 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
12 juil. 2004 à 17:18
Pos1 = InStr(1, Combo1.Text, ";")
Pos2 = InStr(Pos1 + 1, Combo1.Text, ";")
Pos3 = InStr(Pos2 + 1, Combo1.Text, ";")
Pos4 = InStr(Pos3 + 1, Combo1.Text, ";")
Pos5 = InStr(Pos4 + 1, Combo1.Text, ";")
Pos6 = InStr(Pos5 + 1, Combo1.Text, ";")

NomSite1 = Mid(Combo1.Text, Pos3 + 1, (Pos4 - Pos3) - 1)
NomSite2 = Mid(Combo1.Text, Pos5 + 1, (Pos6 - Pos5) - 1)

It@li@
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 juil. 2004 à 08:09
ou tu peux extraire les champs :

Dim a() as string
a = split("IDSite;NomSite;1;Site1;2;Site2;", ";")

NomSite1 = a(3)
NomSite2 = a(5)
0
The Praetorian Messages postés 18 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 17 août 2004
13 juil. 2004 à 09:24
merci pour ces reponses!
mais ces solutions supposent qu'on connaisse le nombre de site présent dans la zone de liste, nan?
sinon ne pourrait-on pas convertir la liste de valeurs en table/requete comme origine source?
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
13 juil. 2004 à 10:08
Non je pense pas que ca soit faisable...

perso, ma methode est ameliorable

tu peux avoir combien de site ??


It@li@
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 juil. 2004 à 10:19
au pire, il t'es toujours possible d'effectuer un test, pour connaire le nombre de site dans le tableau...

NombredeSites = (Ubound(a)-1)/2
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 juil. 2004 à 10:31
Tu peux simplement faire :

Dim a() as string
a = split("IDSite;NomSite;1;Site1;2;Site2;", ";")

Dim i as integer
For i = 3 to Ubound(a) step 2
        MsgBox a(i)
next i
0
The Praetorian Messages postés 18 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 17 août 2004
13 juil. 2004 à 10:32
ben le nombre de sites n'est pas fixe du tout mais il peut y en avoir des centaines...
en fait j'avais besoin de 2 listes pour pouvoir faire des ajouts et des suppressions d'une liste à l'autre (du genre 2 listes avec les boutons ">", ">>", "<", "<<" ) et j'ai récupérer le prog d'un gars qui l'avait fait mais qui a du transformer la liste obtenue par requete en liste de valeurs pour simplifier sa prog... et mon but c'est de récupérer les noms des sites que l'utilisateur a choisis pour pour faire des requetes SQL...
donc si qqn connait par hasard une autre implémentation possible de la gestion des 2 listes je suis preneur...
en tout cas merci pour les réponses!!!
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
13 juil. 2004 à 13:27
Utilise sinon une petite base ACCESS ?

It@li@
0
The Praetorian Messages postés 18 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 17 août 2004
13 juil. 2004 à 14:30
sinon j'arrive à récupérer les noms des sites en utilisant ta méthode Renfield... j'ai stocké les a(i) dans le code VB mais je voudrais savoir comment on fait pour les utiliser pour une comparaison dans une requete SQL? Faut écrire la requete SQL directement dans le code VB?
0
Rejoignez-nous