>I have a form on which I want certain controls to be visible when the value of a checkbox is false.
>
>In the refresh method, I have the following code:
>
>*refresh
>
>if thisform.chkactive.value = .f.
> thisform.txtin_date.visible = .t.
> thisform.txtin_date.enabled = .f.
> thisform.lblin_date.visible = .t.
>else
> thisform.txtin_date.visible = .f.
> thisform.lblin_date.visible = .f.
>endif
>
>In the CmdNext button, I have the following code:
>
>IF NOT EOF()
> Skip
> thisform.refresh()
>ENDIF
>
>IF EOF()
> =MESSAGEBOX("This is the last " + THISFORM.recordtype, MSGOKONLY + MSGEXCLAMATION, C_APPNAME)
> GOTO BOTTOM
> thisform.Refresh()
>ENDIF
>
>When I move throught the records, the controls become visible one record late. For example, when I get to a record that has a .F. value in the checkbox control, the controls referred to in the refresh method are still not visible. They become visible when I move to the next record. I'm not sure what I'm doing wrong here.
>
>AL
Instead of checking the value of the checkbox, try checking the value of its controlsource in your 'if' statement. Checkboxes are really quirky like this, their values often don't get updated automatically. I am confident that not relying on the value of the checkbox will solve your problem.
Erik Moore
Clientelligence