#1 Tue 09 November 2010 10:07
- Amandine Doulaine
- Participant actif
- Date d'inscription: 18 Mar 2010
- Messages: 76
MapBasic 8.0
Bonjour,
J'ai besoin d'aide (j'ai cherché sur le forum avant mais sans succès^^). Je dois faire des programmes sur MapBasic en évitant de faire des sélections... j'ai quelques soucis...
- on cherche une valeur maximum dans une table, y aurait il une fonction???
- on souhaite épurer une table pour enlever des doublons
- et là ma colonne ne se met pas à jour????????? une idée???
Sub Presence_Absence()
Dim num_rec03, k, i_ind_prairie as Integer
Dim f_intersect as Float
num_rec03 = TableInfo (ind_prairie, Tab_Info_nRows)
Fetch First from ind_prairie
For k = 1 to num_rec03
If f_intersect = 0 Then
i_ind_prairie = 0
Else
i_ind_prairie = 1
End If
Update ind_prairie Set indice_p = i_ind_prairie Where RowId = k
Fetch Next from ind_prairie
Next
Call Sauvegarde
End Sub
merci pour toutes vos réponses.
Amandine
Hors ligne
#2 Tue 09 November 2010 10:24
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: MapBasic 8.0
Salut,
Tu cherches à développer un .mbx avec les fonctions que tu cites, ou tu cherches uniquement le résultat (avoir une table nettoyée de ces doublons et connaître le max d'une de tes colonnes)?
Dans le dernier as tu essayé une requète SQL avec "Select max" (beaucoup d'exemples sur le forum)
et pour les doublons --> http://georezo.net/forum/viewtopic.php?pid=159500
A+
Joël
Hors ligne
#3 Tue 09 November 2010 10:36
- Amandine Doulaine
- Participant actif
- Date d'inscription: 18 Mar 2010
- Messages: 76
Re: MapBasic 8.0
oui je veux développer un .mbx avec mon programme( je veux que ca fonctionne sous MapInfo...) mais le but est de ne pas utiliser de selection SQL, pour trouver la valeur max j'ai essayé de faire une boucle:
Fetch First From ind_annexe
For i = 1 To i_rec
f_max = 0
f_long_cum = ind_annexe.long_cum
If f_long_cum > f_max Then
f_max = f_long_cum
End If
Fetch Next From ind_annexe
Next
La ca tourne on va voir si ca marche...
Pas d'idée pour ma procédure " Presence_Absence" qui ne tourne pas?
merci
Hors ligne
#4 Tue 09 November 2010 10:40
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: MapBasic 8.0
Tu peux aussi intégrer dans un .mbx --> une requète SQL
Avec
Code:
Dim cmd as String cmd="Select max(colonne) from table......" run command cmd
Dernière modification par Spacejo (Tue 09 November 2010 10:55)
Hors ligne
#5 Tue 09 November 2010 14:51
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: MapBasic 8.0
Bonjour,
Spacejo a, à mon avis, la meilleurs options, or tu peux toujours essayer ceci
Code:
dim Fvaleur, Fmax as float Fmax = 0 Fetch First From ind_annexe Do while not EOT(ind_annexe) Fvaleur = ind_annexe.long_cum If Fvaleur > Fmax Then Fmax = Fvaleur End If Fetch Next From ind_annexe Loop Print Fmax
Peux tu être plus explicite ce que tu entend par doublons dans ton cas?
JF
Dernière modification par jean94 (Tue 09 November 2010 14:53)
Hors ligne
#6 Tue 09 November 2010 23:16
- Amandine Doulaine
- Participant actif
- Date d'inscription: 18 Mar 2010
- Messages: 76
Re: MapBasic 8.0
merci pour ton code j'en ai essayé un similaire et ca marche^^
Pour les doublons en fait c'est que j'ai croisé deux tables et que en données j'ai, en nb de lignes, le multiple des deux tables...dc ya un truc qui va pas. En fait la premiere ligne d'une table est comparé avec toutes les lignes de la seconde table et ensuite la seconde ligne de la première table avec toute la seconde table..enfin tu vois???c'est comme qui dirait un peu lourd, j'arrive à plus de 860000 lignes!!!!...et a part une sélection SQL avec un group by je vois pas...
Sinon j'ai eu un autre soucis...décidément!!! à la fin de mon code MapBasic, je veux faire une analyse thématique avec une carte sauf que j'ai pas d'objet dans ma table...En fait je voudrais mettre l'objet d'une table(grille) dans la table "indice_annexe" que j'ai crée avec Mapbasic...je sais pas si j'ai été clair mais c'est vraiement galère j'y ai passé toutema matinée plus une bonne partie de l'après midi pour...RIEN! si qqun a une solution un grand merci d'avance.
Amandine
Hors ligne
#7 Wed 10 November 2010 10:01
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: MapBasic 8.0
...mais le but est de ne pas utiliser de sélection SQL...
Bonjour
C'est pédagogique comme exercice ??
Ça ne peut pas être pratique: pour faire un chrono, on ne s'oblige pas à conduire une voiture seulement en 1ère !!
Hors ligne
#8 Wed 10 November 2010 12:35
- Amandine Doulaine
- Participant actif
- Date d'inscription: 18 Mar 2010
- Messages: 76
Re: MapBasic 8.0
Bonjour Maurice, oui c'est un exercice dans le cadre d'un projet universitaire c'est pourquoi je ne veux pas les solutions mais des pistes!!!
Peux tu m'aider en ce qui cnocerne l'aspect carto???
merci
Amandine
Hors ligne