#1 Mon 21 June 2010 10:51
- Simon AILLAUD
- Participant occasionnel
- Date d'inscription: 11 Jun 2010
- Messages: 23
[MapBasic 7.5] Sélectionner les valeurs d'une colonne
Bonjour,
J'aimerais créer une ListBox à partir des valeurs d'une colonne de ma table.
J'arrive à le faire par exemple si je veux faire une ListBox à partir de mes tables ouvertes, comme suit :
Code:
For I = 1 To Numtables() tableauTAble(I) = TableInfo(I,TAB_INFO_NAME) Next choixT = "" For I = 1 To Numtables() choixT = choixT + tableauTable(I) + ";" Next '----------Boite de dialogue: Dialog Title "Choix de la Table" Control ListBox Title choixT Calling verificateur ID 1 Value 1 Into tableChoisie Position 5,25
Mais je n'arrive pas à l'adapter à mon problème.
Quelqu'un a-t-il une idée?
Merci!
Hors ligne
#2 Mon 21 June 2010 11:30
- Simon AILLAUD
- Participant occasionnel
- Date d'inscription: 11 Jun 2010
- Messages: 23
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Personne n'a d'idée pour m'aider à créer une liste à partir des valeurs d'une colonne?....
Ou dans un premier temps m'indiquer comment retourner la valeur d'une reqûete SQL dans un Note,
car je m'aperçois que pour ça aussi je bloque...
Merci
Hors ligne
#3 Mon 21 June 2010 11:50
- Simon AILLAUD
- Participant occasionnel
- Date d'inscription: 11 Jun 2010
- Messages: 23
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Pour information, si cela peut un jour aider quelqu'un, voici la solution que j'ai trouvé :
Code:
Fetch First From Regions For I = 1 To TableInfo(0, TAB_INFO_NROWS) tableauReg(I)=Regions.NOM_REG Fetch Next From Regions Next choixReg = "" For I = 1 To TableInfo(0, TAB_INFO_NROWS) choixReg = choixReg + tableauReg(I) + ";" Next Dialog Title "Choix de la Région" Control ListBox Title choixReg
Hors ligne
#4 Mon 21 June 2010 12:01
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Bonjour
Merci pour le suivi...
nb: pourquoi ne oas utiliser directement tableauReg avec
Control ListBox
Title From Variable tableauReg
et se dispenser de choixReg et de son "remplissage" ... ??
Hors ligne
#5 Mon 21 June 2010 13:45
- Simon AILLAUD
- Participant occasionnel
- Date d'inscription: 11 Jun 2010
- Messages: 23
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
En effet, je viens de le tester, et ça marche parfaitement.
(Et du coup, ça raccourci un peu le code^^).
Par contre, dans les option de la ListBox, lorsque je fais Into regChoisie,
cela stocke le numéro de position dans la liste (1, 2, ..., n).
Est-il possible de récupérer le texte de la liste? A savoir dans mon cas le nom de la région.
Merci.
Hors ligne
#6 Mon 21 June 2010 14:33
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Oui il est possible...
en fait choixReg devrait donner quelque chose comme champ1;champ2;champ3;champ4;
Et si tu veux récupérer le nom de id3 par exemple il te faudra un code du genre pour extraire la chaine entre le 2ieme et 3ieme pts virgule
Code:
sintPVcount = 3 strTemp = choixReg strRight = "" strRegion = "" do while sintPVcount < intColChoix + 1 i = InStr(1, strTemp, ";") strTemp = Right$(strTemp, len(strTemp) - i) strRight = strTemp sintPVcount = sintPVcount + 1 loop i = InStr(1, strTemp, ";") strTemp = left$(strTemp, i - 1) strRegion = strTemp
J'espère que mon pseudo code n'as pas trop d'erreur masi j'imagine que tu vois le style
JF
Dernière modification par jean94 (Mon 21 June 2010 14:39)
Hors ligne
#7 Mon 21 June 2010 15:07
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
...st-il possible de récupérer le texte de la liste? A savoir dans mon cas le nom de la région...
Bien sûr:
Si regChoisie = k alors le nom de la région est tableauReg(k)
Hors ligne
#8 Wed 23 June 2010 16:08
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Bonjour @ tous !
Je rebondis sur cet intéressant post, voulant également de mon côté mettre à profit le résultat d'un champ dans une requête. J'ai bien essayé de ne faire aucune boulette dans mon code ci-dessous, mais je me heurte à un message de MapBasic qui me signale une erreur lorsque j'affecte mes variables à mon tableau. J'ai bien essayé de chercher la solution mais pour l'instant je n'ai pas trouvé. J'ai par contre un doute quant à la construction de la valeur du champ attaqué qui provient d'une expression. Ne serait-ce pas çà qui poserait souci ? le champ en lui-même n'atteint au final que 64 caractères.... La première valeur de variable passe dans mon note, mais après j'obtiens le message d'erreur...
Code:
NbCol2=TableInfo(name, TAB_INFO_NCOLS) For NBC2 = 1 to NbCol2 Cname2=ColumnInfo(name, "COL"&NBC2, COL_INFO_NAME) If Cname2="OPERATION" then Alias_Ope = name & "." & Cname2 note Alias_Ope Fetch First From name For I = 1 To TableInfo(0, TAB_INFO_NROWS) tableauOperations(I)=Alias_Ope 'Valeur hors limite Fetch Next From name Next End If Next
Si l'un d'entre-vous à une idée, elle sera la bienvenue...
Merci beaucoup d'avance
Hors ligne
#9 Wed 23 June 2010 21:00
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Bonjour
Ce TableInfo(0, TAB_INFO_NROWS) ne serait-il pas plus "sur" en TableInfo(name, TAB_INFO_NROWS)
D'autre part, avez vous dimensionné tableauOperations() ??
Sinon un Redim tableauOperations(TableInfo(name, TAB_INFO_NROWS)) s'impose...la variable liste non dimensionnée ayant une "capacité" de zéro elle déborde hors limite dès la première valeur !!
Hors ligne
#10 Fri 25 June 2010 08:58
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
Re: [MapBasic 7.5] Sélectionner les valeurs d'une colonne
Bonjour à tous !
Effectivement... Merci beaucoup Maurice, la liste fonctionne.
Hors ligne