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