Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
REPLACE command does not REPLACE....
Message
From
04/03/2008 10:55:42
Mike Yearwood
Toronto, Ontario, Canada
 
 
To
04/03/2008 10:44:54
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01298436
Message ID:
01298445
Views:
17
Hi Matt

I'm always telling people this. REPLACE alias.field with value is not the same as REPLACE field with value IN alias. The only time you need to prefix the field with the alias is if you're working with SET RELATION and replacing fields in both tables. If you're doing that, the alias prefix stands out. Otherwise you save typing. It's not just a matter of style. It's a matter of prevention.

>Why did this code not work when trying to use the REPLACE command to replace a field in a different alias than the current alias?
>
> SELECT SomeTableOtherThanMachineSched
> *-- Some misc code here
>
> REPALCE MachineSched.status with 'C' <------ (An updateable view)
> llUpdate=TABLEUPDATE(1,.t.,'MachineSched')&& update local view
> IF llupdate=.f.
> MESSAGEBOX('Error updating changes to data table in cmdCheck.click()', 0, 'Error')
> ENDIF
>
> *-- Requery local view
> cMachNo=thisform.mach_num && Required var for local view
> REQUERY('MachineSched') && to refresh data set
>
>
>
> Problem:
>
> The REPLACE with 'C' would not 'stick' until I specifically SELECTED the correct view alias first.
>
> This code did work:
>
> SELECT SomeTableOtherThanMachineSched
> *-- Some misc code here
>
> SELECT MachineSched
> REPLACE status with 'C' <------ (An updateable view)
> llUpdate=TABLEUPDATE(1,.t.,'MachineSched')&& update local view
> IF llupdate=.f.
> MESSAGEBOX('Error updating changes to data table in cmdCheck.click()', 0, 'Error')
> ENDIF
>
> *-- Requery local view
> cMachNo=thisform.mach_num && Required var for local view
> REQUERY('MachineSched') && to refresh data set
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform