Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Is there a VFP function to...
Message
From
28/06/2006 10:49:48
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
 
 
To
28/06/2006 10:07:58
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01132372
Message ID:
01132416
Views:
17
>>
>>LOCAL lcControl
>>lcControl = IIF(UPPER(LEFT(Object.ControlSource,2)) == [M.],SUSBTR(Object.ControlSource,3),Object.ControlSource)
>>DO CASE
>>   CASE TYPE([m.]+lcControl) == [U] AND; && Not a memory variable
>>        TYPE(lcControl)      #  [U]
>>        REPLACE (lcControl) WITH WITH ltNewDateTime
>>   CASE TYPE(lcControl)      == [C] && Memory variable
>>        STORE ltNewDateTime TO (lcControl)
>>OTHERWISE
>>        *** something wrong
>>ENDCASE
>>
>>(not tested for all occasions)
>
>I guess you ment to use VARTYPE() and not TYPE(), with TYPE() you must enclose the variable names with apostrophs. (I know that you know that!)

PFMJI, but he's right - lcControl contains the name of the variable or field. Vartype(lcControl) would always return "C", while type(lcControl) returns the type of the expression it contains. Hence, this should read
LOCAL lcControl
lcControl = IIF(UPPER(LEFT(Object.ControlSource,2)) == [M.],SUSBTR(Object.ControlSource,3),Object.ControlSource)
DO CASE
   CASE TYPE([m.]+lcControl) == [U] AND; && Not a memory variable
        TYPE(lcControl)      =  [T]    && a datetime field
        REPLACE (lcControl) WITH WITH ltNewDateTime
   CASE TYPE(lcControl)      == [T] && datetime Memory variable
        STORE ltNewDateTime TO (lcControl)
OTHERWISE
        *** something wrong
ENDCASE

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform