Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Scan not working in EXE but is fine in Debug
Message
De
20/02/2009 09:13:12
 
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:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01383020
Message ID:
01383062
Vues:
93
This message has been marked as the solution to the initial question of the thread.
>>>>I'm trying to update records that have been printed (the cursor "workorders" contains the work orders that have been printed). The records in the main table need to have a flag set so that they do not print again. The following code works perfectly when I'm debugging, however when running as an EXE nothing is updated, and it looks like the scan is not processing anything.
>>>>
>>>>
>>>>	select workorders
>>>>	go top
>>>>	scan while !eof()
>>>>		select WOMaster
>>>>		seek workorders.WONumber order tag WONumber
>>>>		if found()
>>>>			replace WOMaster.WOPrinted with .t.
>>>>		endif
>>>>		select workorders
>>>>	endscan
>>>>
>>>>
>>>>Any observations or suggestions would be appreciated!
>>>
>>>There is no need of
>>>GO TOP
>>>an SCAN WHILE NOT EOF()
>>>
>>>This is enough:
>>>
>>>select workorders
>>>SCAN
>>>
>>>....
>>>ENDSCAN
>>>
>>>
>>>Try this:
>>>
>>>select workorders
>>>SCAN
>>>   IF SEEK(workorders.WONumber,"WOMaster","WONumber")
>>>      REPLACE WOPrinted with .t. IN WOMaster
>>>   ENDIF
>>>ENDSCAN
>>>
>>
>>And we can even write it as one update command.
>
>
>I was not sure if VFP6 accepts:
>UPDATE ...;
>FROM ....;
>INNER JOIN ....

update it can to be slow a lot,
join is not required here
UPDATE WOMaster SET WOPrinted = .T. WHERE WONumber IN (SELECT WONumber FROM workorders)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform