Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - [MapBasic 8.5]Problème sur l'existence d'un champ dans une table - Sujet suivant
#1 Mon 28 June 2010 14:50
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
[MapBasic 8.5]Problème sur l'existence d'un champ dans une table
Bonjour @ tous !
Le sujet qui m'occupe ici est de créer un champ dans une table, mais avant de le créer, je fais un test de l'existence de ce champ dans ma table. Si celle-ci est trouvée, je veux sortir de ma procédure et passer à la suite du code. Le problème est que le test se fait bien bien mais la sortie de la procédure non. Ca m'avait l'air relativement simple...
Voici le code que j'ai écrit :
Code:
'Ajout d'une colonne ID à la table qui contiendra ROWID '------------------------------------------------------ Dim I, NBCD as integer Dim NbColD as SmallInt Dim CnameAttendu as String name = "PARTIEL_OPERATIONS" If istableopen(name) then NbColD=TableInfo(name, TAB_INFO_NCOLS) For NBCD = 1 to NbColD 'note NBCD CnameAttendu=ColumnInfo(name, "COL"&NBCD, COL_INFO_NAME) 'note CnameAttendu If CnameAttendu="ID" Then Exit For Exit Sub End If If CnameAttendu<>"ID" Then Alter table name (add ID Integer) interactive Update name Set ID = ROWID Commit table name interactive Open table "C:\Documents and Settings\GiraultV\Mes documents\MI\Tables\"+name+ ".TAB" Set Map Redraw on End If Next End If End sub
Je ne pense pas que la ligne
If CnameAttendu<>"ID" Then
pour tester l'existence de mon champ soit académique mais c'est tout ce que j'ai trouvé pour l'instant... Faudrait-il lorsque je créé ce champ dans la table que je le place à une certaine position (premier champ de la table par exemple) pour ensuite ne tester que la valeur de la chaine du champ à cette position ?
Merci beaucoup d'avance pour votre aide....
Hors ligne
#2 Mon 28 June 2010 14:56
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic 8.5]Problème sur l'existence d'un champ dans une table
Moi je crois que le bloc de code suivant
Code:
If CnameAttendu<>"ID" Then Alter table name (add ID Integer) interactive Update name Set ID = ROWID Commit table name interactive Open table "C:\Documents and Settings\GiraultV\Mes documents\MI\Tables\"+name+ ".TAB" Set Map Redraw on End If
devrait être en dehors de la boucle For car sinon su ton premier champ n'est pas "ID"..il va t'en créer un même si tu as un champ "ID" et te retrouve donc avec deux champ ID puis 3 puis 4 ... etc.
JF
Hors ligne
#3 Mon 28 June 2010 15:10
- V. Girault
- Participant actif
- Lieu: Clermont-Ferrand
- Date d'inscription: 22 Sep 2005
- Messages: 106
Re: [MapBasic 8.5]Problème sur l'existence d'un champ dans une table
J'étais en train de réfléchir au fait de passer ma variable champ en Alias lorsque tu m'envoyais ta réponse...
Ca fonctionne effectivement mieux ! Merci beaucoup !
Hors ligne
Pages: 1
- Sujet précédent - [MapBasic 8.5]Problème sur l'existence d'un champ dans une table - Sujet suivant