Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
GOTO on Filtered data
Message
De
18/11/2004 07:24:18
 
 
À
18/11/2004 07:05:54
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Divers
Thread ID:
00962533
Message ID:
00962538
Vues:
8
>Here's an intersting one. I have a checkbox on my form that toggles display/hide all the records in 3 grids (granny-mother-child) that don't have a certain field set in them. When the field is set for all recs in the Granny table then all data in the descendant tables are disappeared. Correct.
>
>Below is a sample of the code to hide data in the Granny table/grid. The daughter table's code is almost identical.
>
>
>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

>
>
>Now there are 10 recs in this table (pxEntryCodes) and 56 in its daughter. When all data have been disappeared and I toggle back to display, with the above routine, I get "Record out of range" for the granny and the daughter, i.e. rec no. 11 and 57 respectively.
>
>This suggests that after the filter has been set (on the hide toggle) each table has its record pointer at a "mythical" extra record, at the eof, which is what gets stored in lnRecNo.
>
>At the moment I've commented out the recno bits and left it at Go Top for both grids - no problem. But I would prefer them to go back to the records upon which they weere focusing before the hide toggle.
>
>Any enlightenment?
>
>'Ppreciate it
>
>Terry
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform