Trouver un enregistrement par macro

 

Dans certaines applications développées sous Access, on peut avoir besoin de retrouver un enregistrement particulier en entrant une valeur dans un contrôle Edit (par exemple) et en cliquant sur un bouton. Ce mécanisme met en route 2 contrôles :

 

n  Le contrôle Edit qui contient la donnée à rechercher : par exemple, le contrôle s’appelle NomARechercher

n  Le contrôle dans lequel rechercher la donnée : Par exemple, la table sous-jacente contient un champ " Nom " attaché au contrôle Nom dans le formulaire.

 

On va créer une macro que l’on nommera " Rechercher Nom " et qui sera appelée dans l’événement " sur clic " du bouton choisi pour lancer la recherche. On est alors confronté à deux cas de figure :

 

 

1-   Le contrôle correspondant au champ dans lequel rechercher la donnée est dans un formulaire

 

Ajouter les commandes suivantes dans la macro :

 

n  AtteindreContrôle

 Nom du contrôle : Nom

n  TrouverEnregistrement

 Rechercher : =[NomARechercher]

 Où : N’importe où dans le champ

 Maj / Min : Non

 Direction : Bas

 Comme formaté : Oui

 Rechercher dans : Champ en cours

 Trouver premier : Oui

 

2-   Le contrôle correspondant au champ dans lequel rechercher la données est dans un sous-formulaire

 

Le formulaire principal contenant le bouton de lancement de la recherche contient un sous-formulaire " Sous-formulaire " qui contient les données. On ajoute alors les commandes :

 

n  AtteindreContrôle

 Nom du contrôle : Sous-formulaire

n  AtteindreContrôle

 Nom du contrôle : Nom

n  TrouverEnregistrement

 Rechercher : =[NomARechercher]

 Où : N’importe où dans le champ

 Maj / Min : Non

 Direction : Bas

 Comme formaté : Oui

 Rechercher dans : Champ en cours

 Trouver premier : Oui