Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
TAG() returns value but will not insert into table
Message
De
14/02/2006 16:01:21
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 6 SP5
OS:
Windows XP SP2
Network:
Novell 4.x
Database:
Visual FoxPro
Divers
Thread ID:
01096302
Message ID:
01096318
Vues:
19
Cool. Thanks for the usual quick reply & good point on the 10 character max tag name length.

I'm just still trying to formulate in my head how my original code could output an answer when I just used '?' to get it out to the screen, but it did NOT return any text when trying to insert it into the cursor. I did believe I originally followed correct TAG() function syntax based on this that I saw in help:
TAG([CDXFileName,] nTagNumber [, nWorkArea | cTableAlias])
There are a lot of optional parameters there, and I opted out of the wrong one! I just chose to specify the CDX, and leave the alias off as 'optional'. I guess if I don't specify the alias, when I try to insert it into the cursor, at the moment it tries to evaluate what alias TAG() is referring to, my 'cAliasName' cursor must no longer be selected, so no text is returned? That would at least make sense then why in your version of the TAG function call, the alias is specified to overcome this & it works!

Very interesting, indeed.

>Try to follow TAG() function syntax. BTW, a TAG name cannot be longer than 10 characters.
>		INSERT INTO orderList( cTagName, tagExpression ) VALUES ;
>			(TAG("", nTagCount, cAliasName), KEY("", nTagCount, cAliasName))
>
>
>> In the code below, I added the line
? TAG(cAliasName, nTagCount)
as a debugging measure to try to figure out why my cTagName field was coming up empty everytime I ran this code. To my surprise, I was getting the TAG names written out to my VFP screen, but I still was getting nothing inserted into my table. Notice I'm trimming the value that I'm inserting, and none of the tag names are greater than the 50 character field width.
>>
>>
>>LPARAMETERS cAliasName
>>LOCAL nTagCount
>>
>>nTagCount = 1
>>
>>CREATE CURSOR orderList ( cTagName C(50), tagExpression C(200) )
>>
>>if TAGCOUNT(cAliasName) > 0
>>	for nTagCount = 1 to TAGCOUNT(cAliasName)
>>                  ? TAG(cAliasName, nTagCount)
>>		INSERT INTO orderList( cTagName, tagExpression ) VALUES ;
>>			(alltrim(TAG(cAliasName, nTagCount)), SYS(14, nTagCount, cAliasName))
>>	endfor
>>endif
>>
>>
>>BTW, y'all are getting the "Thundering Train" version of the code here whereas I'm just trying to get the tags into the cursor for now & will put all proper precautions in place later. Thoughts anyone?
Paul A. Busbey
Victoria Insurance
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform