banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 01 August 2006 23:37

Abdo
Participant occasionnel
Date d'inscription: 21 Jul 2006
Messages: 19

Extraire une valeur d'une table

Bonjour

est ce que quelqu un peut  me montrer comment ressortir une valeur d'une table tout en sachant le num de la colonne et celui de la ligne ( en MapBasic).

Cordialement

Hors ligne

 

#2 Wed 02 August 2006 08:28

Florent
Participant actif
Lieu: Nantes
Date d'inscription: 5 Sep 2005
Messages: 86
Site web

Re: Extraire une valeur d'une table

Bonjour,

Voici quelques pistes :

Code:

' Se positionne sur un élément précis
' j est la ligne à interroger

Fetch Rec j From matable

' Travaille sur la colonne i
' Attention en MapBasic, on commence à 1 et non à 0 comme dans de nombreux autres langages

matable.col(i)

Bonne continuation


Florent

Hors ligne

 

#3 Wed 02 August 2006 15:09

Abdo
Participant occasionnel
Date d'inscription: 21 Jul 2006
Messages: 19

Re: Extraire une valeur d'une table

Merci beaucoup, Ca marche tres bien

Hors ligne

 

#4 Thu 27 November 2008 15:52

Fabius
Participant actif
Date d'inscription: 19 Mar 2008
Messages: 130

Re: Extraire une valeur d'une table

Bonjour,

Je remonte ce sujet qui date un peu (voir meme beaucoup) afin de ne pas poluer le forum.

J'ai un probleme similaire a l'utilisateur précédent.  En effet, j'obtiens gràce à une requette une sorte de tableau croisé dynamique sur 3 lignes et quatres colonnes avec une 1ere colonne que je considere comme ligne de titre. Je voudrais récuperer dans des variables distinctes les 9 observations contenus dans ce tableau

Pour cela voici ce que j'ai écrit

Code:

for k=1 to 9
 for i=1 to 3
   Fetch Rec i From sel1 
   redim var(9)
     for z= 2 to 4
       var(k)=sel1.col(z)
       print var(k)
     next
 next
next

Je veux récuperer dans la variable var(k) les k(9) observations de ma selection
Cependant ce bout de programme me rapporte mes 9 valeurs 9 fois.....

Cordialement


Fabius

Hors ligne

 

#5 Thu 27 November 2008 16:30

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Extraire une valeur d'une table

Bonjour
Ce ne sont pas des variables distinctes mais des valeurs distinctes d'une variable liste...
Il y a une boucle en trop. Testez

'redim var(9)  'seulement si on est sûr qu'il y a 9 valeurs
k=0  'remise à zéro, pour être tranquille
for i=1 to 3
   Fetch Rec i From sel1
     for z= 2 to 4
       k=k+1  'varie de 1 à 3 au premier tour, puis de 4 à 6 au second, etc...
       redim var(k)  'si on n'est pas sûr des 9 valeurs, on monte une par une
       var(k)=sel1.col(z)
       print var(k)  'si on veut
     next
next

Hors ligne

 

#6 Fri 06 February 2009 10:47

Fabius
Participant actif
Date d'inscription: 19 Mar 2008
Messages: 130

Re: Extraire une valeur d'une table

Bonjour je reviens vers vous pour un probleme quasi similaire, cette fois j'ai un tableau de 8 colonnes et 5 lignes. Pas de probleme apparent seulement , je voudrais récupérer les valeurs de la 1ere colonne donc les valeurs de var(k) allant de 1 a 5 comme étant celle de ma premiere colonne, de 6 a 10 comme étant celle de la deuxieme, etc...
Le programme adapté me permet de récupérer les valeurs en ligne et en colonne, les valeurs de var(k) pour k allant de 1a 5 correspondent a la premiere ligne pour les colonnes allant de 1 a 5.
Ou dois je adapter le code pour que la lecture se fasse en colonne et non plus en ligne?

Merci

Hors ligne

 

#7 Fri 06 February 2009 12:48

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Extraire une valeur d'une table

Il faut adapter le code...
Une boucle sur i de 1 à 8 pour aller de col(1) à col(8) par select COLi from ma table into sel_col noselect
A l'intérieur de cette boucle, une autre boucle sur j de 1 à 5 pour parcourir les 5 lignes par un Fetch, faire varier k = k + 1, faire un Redim et affecter la variable au rang k comme dans le code ci-dessus
Je vous laisse faire...

Hors ligne

 

#8 Fri 06 February 2009 16:02

Fabius
Participant actif
Date d'inscription: 19 Mar 2008
Messages: 130

Re: Extraire une valeur d'une table

Merci j'ai réussi !!! J'avais omis le redim. Merci bien wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB