#1 Wed 10 August 2005 17:13
- Hakim CHERIGUI
- Invité
gestion des colonnes sous Mapbasic
Bonjour à tous,
Je souhaiterai connaître la procédure à mettre en place pour faire faire à
un programme mapbasic une opération répétitive sur les colonnes d’une table.
En particulier je souhaiterai utiliser la syntaxe COL(i) pour mettre à jour
les champs.
Voici un bout de code qui entraine un message d’erreur lorsque je le lance.
Est-ce que quelqu’un pourrai m’expliquer comment faire une boucle sur les
champs sans pour autant les nommer svp ?
Merci d’avance.
declare sub main
include "c:/program files/mapbasic/mapbasic.def"
global i as smallint
global COL() as string
sub main
for i = 29 to 33
update table set COL (i) = "0" + COL (i)
next
end sub
#2 Wed 10 August 2005 17:53
- Christophe BARBIER
- Invité
Re: gestion des colonnes sous Mapbasic
Bonjour,
Essayez comme ceci:
-----
declare sub main
include "c:/program files/mapbasic/mapbasic.def"
global i as smallint
global COL() as string
sub main
Dim NomCol As String
for i = 29 to 33
NomCol = ColumnInfo(table, "COL" & Str$(i), COL_INFO_NAME)
Update table set NomCol = "0" + NomCol
next
end sub
---
Christophe Barbier, I²G
www.i2g.fr
#3 Thu 11 August 2005 10:40
- Hakim CHERIGUI
- Invité
Re: gestion des colonnes sous Mapbasic
Merci pour les infos ! Ça fonctionne à point !
Une dernière chose. Dans l’aide de Mapbasic (voir ci – dessous) il est dit
que la syntaxe à utiliser pour les noms de colonne peu être de la forme :
nom_table.nom_colonne ou
nom_table.COL1 ou
nom_table_COL(i)
Comment faut-il faire pour utiliser cet type de syntaxe dans un programme MB
? Y a-t-il une déclaration particulière à effectuer ?
Cordialement.
Syntax For Referring To Columns
Some MapBasic statements take column names as parameters. There are several
ways to specify a column expression, as summarized in the following table:
Syntax Example
table_name.column_name world.Country
table_name.col# world.COL2
table_name.col( SmallInt ) world.COL(i)