Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Filters & Grids
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00396881
Message ID:
00397176
Vues:
22
>>>Hi Steve, I was using the SET FILTER command
>>>
>>>SELECT tblTrans
>>>SET FILTER TO flddate >= dtFrom .AND. flddate <= dtTo
>>>GO TOP
>>>
>>>in the Init method of the form. The date range was being entered into two textboxs in a previous form and passed to this form
>>>
>>>P.S. I also tried setting the data enviornment-cursor's filter property
>>
>>I'm going to guess that because the code was in the Init event of the form, that might be why it doesn't take. The form kinda exists in the netherworld until the .Init event completes. We've solved that dilemma by creating an .InitialSetup method that is blank in the form base class but populated with necessary code at the sub-classed form level. This method is automatically run through via the application object's .DoForm() method so we know it's always run. We limit any code in the .Init of all forms. This also lets the form display faster.
>>
>
>The real problem is that the variables used in the filter statement go out of scope when the Init finishes firing. To ensure that the values remain visible and in scope for the life of the form, store them in form properties and use the form properties rather than the variables, or convert them to literals so that the scope of the variable doesn't affect the visibility of the filter's FOR clause.

Great catch there as I spaced that one.

Steve
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform