>I am trying to prevent a user from entering a duplicate number twice into a table. The field is called cmachno. It has an index associated with it which is candidate index. The field is assigned to a text box control in a form. The table is in buffermode=4. The text box's control has code in its valid method which checks for duplicate numbers and it works fine. The problem I am having is when the user goes from the text box control to a tool bar the valid method does not run and therefore does not run the code checking for validation. How can I prevent a user from entering the same number twice into the text box?
Richard,
The problem that you are ahving has to do with when things happen in VFP. A control will update its controlsource upon losing focus. Your problem is that toolbars NEVER get focus, so the textbox doesn;t lose focus.
The solution is to use this type of code in the toolbar;
IF TYPE("_SCREEN.ActiveForm.ActiveControl.ControlSource.Name") = "C"
IF PEMSTATUS(_SCREEN.ActiveForm.ActiveControl, "SetFocus",5)
_SCREEN.ActiveForm.ActiveControl.SetFocus()
ENDIF
ENDIF