Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Scan vs do while
Message
 
 
À
18/04/2007 14:22:43
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Divers
Thread ID:
01217352
Message ID:
01217427
Vues:
9
Look closer at the code. SCAN is done on one table and loop and skip on another.
Yet I think it can be re-written in much simpler way once I understand the goal of it.

>Normally you would use SCAN precisely to avoid doing a SKIP after every record (and also avoid checking for EOF()). Since the SCAN automatically does an additional SKIP, and you are also SKIPping, perhaps that is one SKIP too many.
>
>>Hi,
>>I've bumped into an interesting thingy. I've used the code snippet below for a long time and it's worked quite well. But today my the MS XP crushed and had to restart the computer. From that time this code snippet stops at the end of the first loop. Interestingly enough, if I exchange the "scan... endscan" to "do while...enddo", it works fine.
>>Any idea?
>>
>>
>>SCAN
>>	lEngkod = ALLTRIM(temp1.engkod)
>>	lSql = STUFF(lcSelect,AT('"',lcSelect)+1,10,lEngkod)
>>	&lSql
>>	
>>	SELECT temp2
>>
>>	lcTenSuly = 'temp1.ten_suly'
>>	lcTenTav = 'temp1.ten_tav'
>>
>>	SELECT temp2
>>   		FOR gnCount = 1 TO RECCOUNT()
>>			lcTenSuly1 = lcTenSuly+ALLTRIM(STR(gnCount))
>>			lcTenTav1 = lcTenTav+ALLTRIM(STR(gnCount))	
>>			REPLACE &lcTenSuly1 WITH temp2.suly, &lcTenTav1 WITH temp2.Ttav
>>			SKIP
>>		ENDFOR
>>
>>ENDSCAN
>>
>>
>>
>>(Anyway, many thanks for the replies about the text wrapping problem from yesterday.)
>>
>>Tamas
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform