La manière la plus simple que je sais est d'établir une fonction qui peut construire votre corde de filtre, et puis appelle cette fonction lorsqu'un de vos critères de commandes de recherche est mis à jour. Par exemple :
Fonction BuildSearch ()
Faible sFilter comme corde
Si "" de Nz (Me.cboDeviceType, "" <> ) alors
sFilter = « DeviceType= » et Me.cboDeviceType
Finir si
Si "" de Nz (Me.cboUserName, "" <> ) alors
Si Len (sFilter) > 0 puis sFilter = sFilter et « ET »
sFilter = sFilter et « UserName='" et Me.cboUserName et « ' »
Finir si
Me.YourSubformControl.Form.filter = sFilter
Me.YourSubformControl.Form.FilterOn = rectifient
Fonction de fin
Appeler maintenant juste cette fonction de vos commandes :
Substrater le cboDeviceType_AfterUpdate ()
BuildSearch
Sous-marin d'extrémité
Quelques bouts :
Les cordes de filtre ne sont rien SQL plus que valide OÙ des clauses sans mot « OÙ », ainsi vous devez suivre les mêmes règles :
Joindre les valeurs des textes dans des citations simples ou doubles : le « UserName='" et le Me.cboUserName et « ' » est entouré par des apostrophes
Joindre les valeurs de date dans les hachures : « DateLoaned=# » et Me.txDateLoaned et « # »
S'assurer que vous vous référez correctement à votre commande de Subform. Ceci est la COMMANDE sur votre forme principale qui accueille la forme que vous employez comme subform. Elle des mai ou mai ne pas être appelé les mêmes que la forme que vous employez comme subform (c.-à-d. le « objet de source »), fassiez attention ainsi en se rapportant à cette commande.