Hi, I do something a bit more complicated - I set the readonly properties of controls on a form depending on properties set for "it's" cursor - this in the form init:
LOCAL i, i0, in, j, aMm[1], cs, lup, oObj, oPage, lcOldErr, lOK lcOldErr = ON("ERROR") FOR EACH oPage IN thisform.pFrameBase1.pages FOR i = 1 TO AMEMBERS( aMm,oPage,2) oObj = EVALUATE('oPage.'+ aMm[i]) IF UPPER(oObj.BASECLASS) $ 'TEXTBOXCOMBOBOX' cs = <cursorname>.'+oObj.CONTROLSOURCE lOK = .T. ON ERROR lOK = .F. lup = DBGETPROP(cs,"FIELD","UPDATABLE") on error &lcOldErr DO case CASE lOK AND UPPER(oObj.BASECLASS) = 'TEXTBOX' oObj.READONLY = !lup CASE lOK AND UPPER(oObj.BASECLASS) = 'COMBOBOX' oObj.ENABLED = lup endcase ENDIF NEXT i ENDFOR yet another reason why, despite being attracted to the idea, I haven't used scatter name or other forms of business object - I'm just too comfortable with cursors. Andrew Davies MBCS CITP - AndyD 8-)# ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. Please contact [EMAIL PROTECTED] with any queries. ********************************************************************** _______________________________________________ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.