Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to do this with sql
Message
De
25/06/2011 09:24:54
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
 
 
À
24/06/2011 22:53:22
Mk Sharma
Shrishti Solutions
Mumbai, Inde
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01515989
Message ID:
01516019
Vues:
93
I believe that is a bit too complicated to do with SQL. However, I have the following suggestions for improving your code:

1) Don't abbreviate commands. It makes code more difficult to read.

2) Instead of SCATTER MEMVAR, it is probably better to use SCATTER NAME ... This will generate a single variable, similar to an object, and you can then access its properties by name.

3) To loop through all the records of a table, use SCAN ... ENDSCAN. This way, you don't need (a) the GO TOP, (b) the condition (WHILE NOT EOF(...)), and (c) the SKIP at the end of the loop.

>
>use 1001\customer again in 0 alias oldcustomer shared 
>use 1002\customer again in 0 alias newcustomer shared
>sele newcustomer
>set order to accode
>sele oldcustomer
>set order to accode
>go top
>do while not eof('oldcustomer')
>     scatter memvar
>     sele newcustomer
>     if  not seek(m.accode,'newcustomer','accode')
>         appe blank in newcustomer
>         gather memvar
>    else
>          if empt(newcustomer.address1)
>             repl newcustomer.address1 with m.address1 in newcustomer
>         endif
>          if empt(newcustomer.address2)
>             repl newcustomer.address2 with m.address2 in newcustomer
>         endif
>    endif
>    sele oldcustomer
>    skip
>enddo
>
>
>
>how to do this with sql.
>
>Warm regards,
>mk.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform