Jorge:
Again, thank you.
FYI, there was one more solution. See reply from Kenneth Downs.
Regards,
Mal
>Yea, that was it, glad to help.
>
>>Joege:
>>Forget my previous reply ... You were right: IT WORKED!
>>Instead of EVAL('&m'), I guess you were saying just use &m.
>>
>>m = "THISFORM.lAccessed3 = .T."
>>&m
>>
>>THIS WORKS!!
>>
>>Thanks Jorge
>>
>>Mal
>>
>>>I think what you're doing here is evaluating the expression THISFORM.lAccessed3 = .T. like in
>>>
>>>
>>>
>>>if THISFORM.lAccessed3 = .T.
>>>..
>>>endif
>>>
>>>
>>>
>>>In other words you are asking Is THISFORM.lAccessed3 = .T.?, so when evaluated it tells you if it is or of it isn't, try this:
>>>
>>>? eval("THISFORM.lAccessed3 = .T.")
>>>
>>>It should return .t. or .f., but no data is changed. Now, to do what you want you just need:
>>>
>>>&m
>>>
>>>"m" will be substituted at runtime with THISFORM.lAccessed3 = .T., and will be executed as expected, hope I was clear enough
>>>
>>>
>>>
>>>>
>>>>Actually, this is what I'm trying to do.
>>>>
>>>>m = ALLTRIM('lAccessed' + '3')
>>>>*need to do this becuase the '3' changes depending on what the form number it's executed from (in this case it's form #3).
>>>>
>>>>m = 'THISFORM.' + m + ' = .T.'
>>>>
>>>>?m .... && shows THISFORM.lAccessed3 = .T.
>>>>
>>>>EVALUATE('m') does not change the lAccess3 to .T.
>>>>
>>>>What am I missing? It works for procedures and functions;
>>>>i.e. if m equaled THISFORM.DoChanges(3).
>>>>
>>>>As always, thank you for your help.
>>>>
>>>>Mal