Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Frustration with private dataset not saving
Message
From
18/10/2010 16:33:48
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows 7
Miscellaneous
Thread ID:
01486018
Message ID:
01486028
Views:
88
If you're using REPLACE instead of UPDATE - SQL, IMO the IN ... clause is mandatory for unexpected/Heisenbug resistance.

IIRC the behaviour Dragan points out goes back to dBASE III, if not earlier. Since it's possible to purposely design software where the REPLACE doesn't happen if EOF( [currently selected alias] ) is .T., it's officially a "feature", not a bug, and Fox Software perpetuated the behaviour in FoxBASE/FoxPro.

The introduction of the IN ... clause basically lets users who consider this behaviour a bug, to turn it off.

>Interesting - I have never needed that clause in the past (that I know of), but will definitely try it!
>>>
>>>PARAMETERS l_check
>>>
>>>* l_check values
>>>* 1 = yes
>>>* 2 = no
>>>SET STEP ON
>>>
>>>thisform.pageframe1.page1.tol_no.Value = 0
>>>thisform.pageframe1.page1.tol_yes.Value = 0
>>>
>>>
>>>IF thisform.isloading AND thisform.isediting then
>>>	l_check = VAL(jcpmt.tolerance)
>>>ELSE
>>>	replace jcpmt.tolerance WITH ALLTRIM(STR(l_check))
>>>ENDIF
>>>	
>>>IF l_check = 1		&&yes
>>>	thisform.pageframe1.page1.tol_yes.Value = 1
>>>ELSE
>>>	thisform.pageframe1.page1.tol_no.Value = 1
>>>ENDIF
>>>
>>>thisform.pageframe1.page1.tol_yes.Refresh
>>>thisform.pageframe1.page1.tol_no.Refresh
>>>
>>>
>>>the replace command sometimes just doesn't update the table....what am I missing here?
>>>
>>>thanks in advance!
>>
>>Let's try with usual suspects first. In case you're sitting on an alias which is at eof(), the replace won't take place... unless
>>
>>
replace jcpmt.tolerance WITH ...whatever... in jcpmt
>>
>>which circumvents that.
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform