Pages: 1
- Sujet précédent - [MapBasic v.10] erreur dans la fonction Do While Not EOT( ) - Sujet suivant
#1 Wed 21 July 2010 20:08
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
[MapBasic v.10] erreur dans la fonction Do While Not EOT( )
Bonjour a tous,
Voici un code qui est supposer réduire la taille de toute les colonnes d'une table au nombre de caractère du plus petit objet.
La ligne bloque ou est la flèche
Code:
sub fieldsizer dim i as smallint dim colnum as smallint dim fieldlenth as integer dim newfieldlenth as integer dim strfieldlenth as string i = 1 fieldlenth = 0 colnum = TableInfo(sNewFileN, TAB_INFO_NCOLS) Do while i < colnum Fetch First From sNewFileN Do While Not EOT(sNewFileN) strfieldlenth = sNewFileN.coli '<-------------------- newfieldlenth = len(strfieldlenth) if newfieldlenth >= fieldlenth then fieldlenth = newfieldlenth else fieldlenth = fieldlenth end if Fetch Next From sNewFileN Loop Alter Table sNewFileN ( modify COLi Char(fieldlenth) ) Interactive i = i + 1 Loop commit table sNewFileN end sub
Merci!
Dernière modification par jean94 (Wed 21 July 2010 20:10)
Hors ligne
#2 Wed 21 July 2010 21:36
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic v.10] erreur dans la fonction Do While Not EOT( )
Bonjour
Au cas où il y aurait une question dans votre sujet, je vous conseille une recherche sur l'item "alias"....
Hors ligne
#3 Thu 22 July 2010 14:06
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [MapBasic v.10] erreur dans la fonction Do While Not EOT( )
Merci Maurice et je crois que ces mon problème car j'ai trouver une solution et la voici..aussi innéficace soit-elle, elle fonctionne...
Code:
sub fieldsizer Close table sNewFileN Open table sNewFilePath + sNewFileN as nom_bidon dim i as smallint dim colnum as smallint dim fieldlenth as integer dim newfieldlenth as integer dim strfieldlenth as string i = 1 fieldlenth = 0 colnum = TableInfo(nom_bidon, TAB_INFO_NCOLS) Do while i < colnum Fetch First From nom_bidon Do While Not EOT(nom_bidon) strfieldlenth = nom_bidon.coli '<-------------------- newfieldlenth = len(strfieldlenth) if newfieldlenth >= fieldlenth then fieldlenth = newfieldlenth else fieldlenth = fieldlenth end if Fetch Next From nom_bidon Loop Alter Table nom_bidon ( modify COLi Char(fieldlenth) ) Interactive i = i + 1 Loop
Merci encore JF
Dernière modification par jean94 (Thu 22 July 2010 14:06)
Hors ligne
Pages: 1
- Sujet précédent - [MapBasic v.10] erreur dans la fonction Do While Not EOT( ) - Sujet suivant