RELEASE ALL CLEAR ALL CLEAR LOCAL x, nRec CREATE CURSOR foo ( ; IntField I, ; CharField C(10) ) FOR x = 1 TO 10 INSERT INTO foo (IntField, CharField) ; VALUES (x,TRANSFORM(x)) ENDFOR GO 2 nRec = RECNO() ? nRec && 2 ? CharField && "2" SET FILTER TO NOT ALLTRIM(CharField) == "2" LOCATE BROWSE && The record that contains "2" isn't visible, pointer is on record 1 ? CharField && "1" GO nRec * With this commented out, the next line returns "2", which should be * impossible, because that record isn't visible; it's excluded by the filter. * If this line runs, the browse window shows the record pointer on the second * record, where CharField = "3", and the next line returns "3", which is what * should happen with or without the BROWSE. *BROWSE ? CharFieldCan anyone explain this?
>>>Select pxEntryCodes >> >>If pxEntryCodes it is in EOF(), RECNO()=RECCOUNT()+1, and you cannot use this for a GO command >>( this is a VFP bad design ) >> >>> lnRecNo = RECNO() >>> If .lHide >>> Set Filter To EMPTY( FacCatCode) && i.e. hide all those that have a value >>> Else >>> Set Filter To >>> Endif >> >>Use LOCATE here >> >>> Go Top >>> .grdEntryCodes.Refresh() && Daughter grid >>> Select pxEntryCodes >> >>* use this >>IF m.lnRecNo<=RECCOUNT() >>> Goto lnRecNo && erroneous statement >>ENDIF >> >>>>>>