Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Field name != variable name?
Message
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
Field name != variable name?
Divers
Thread ID:
00100420
Message ID:
00100420
Vues:
82
I put this in chatter because I've already found the solution, but I'm curious why it was a problem in the first place.

I have the following code:

public clname
clname = ""
public cfname
cfname = ""

Clname = left(newname,at(",", newname)-1)
Cfname = right(newname,len(newname)-at(",", newname)-1)

select 0
use (bal_file) alias bal
select bal

scan for alltrim(bal.client_num) = alltrim(ClNum)
replace bal.lname with Clname
replace bal.fname with Cfname
endscan

(newname comes in to the program as a parameter, and bal_file is defined earlier)

It splits up newname into clname and cfname just fine according to a messagebox. But when I open the bal file, it _changes_ the value of those two variables to a completely different name! I went round and round with it, with no clue why it should be changing the variables when I didn't tell it to. Finally, in desperation, I changed the variable names. That did it.

The best I can figure out is it thinks clname and cfname are equivilent to the field names bal.lname and bal.fname. So when I open the bal file, it fills in the global variables with the fields it finds there in the first record.

But why? lname != clname. This doesn't make sense.

My solution was to change the variables to cl and cf. That fixed it, but it's still got me baffled as to why it happened in the first place.

Thanks,
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform