Select mycursor Thisform.mybutton.setfocus Report formbecause moving focus fires some events (grid.arcc, at least) and some code there can change active area. So you should at least Select mycursor right before Report Form.
>thisform.cmdPrint.visible = .t. >thisform.cmdPrint.SetFocus() >SELECT cDescription as cSoftware, ; >000000 as nRec1, iActive_Flag as iSoftware_active ; >FROM crsSoftware ORDER BY 1 INTO CURSOR curSoftware readwrite > >replace ALL nRec1 WITH RECNO() IN curSoftware > >SELECT cDescription as cHardware, ; >000000 as nRec2, iActive_Flag as iHardware_active ; >FROM crsHardware ORDER BY 1 INTO CURSOR curHardware readwrite > >replace ALL nRec2 WITH RECNO() IN curHardware > >SELECT cDescription as cOther, ; >000000 as nRec3, iActive_Flag as iOther_active ; >FROM crsOther ORDER BY 1 INTO CURSOR curOther readwrite > >replace ALL nRec3 WITH RECNO() IN curOther > >SELECT * from curSoftware cs FULL JOIN curHardware ch ; >ON cs.nRec1 = ch.nRec2 FULL JOIN curOther co ON cs.nRec1 = co.nRec3 INTO CURSOR curReport >SET NULLDISPLAY TO "" >USE IN curOther >USE IN curSoftware >USE IN curHardware > >SELECT curReport >*!* browse > >REPORT FORM Software_Hardware_Other PREVIEW > >USE IN curReport >thisform.cmdPrint.Visible = .f. > >