Partager via


FindRecord, action de macro

S’applique à : Access 2013, Office 2013

You can use the FindRecord action to find the first instance of data that meets the criteria specified by the FindRecord arguments. This data can be in the current record, in a succeeding or prior record, or in the first record. You can find records in the active table datasheet, query datasheet, form datasheet, or form.

Setting

L’action TrouverEnregistrement possède les arguments suivants.

Argument d’action

Description

Rechercher

Spécifie les données à rechercher dans l’enregistrement. Entrez le texte, le nombre ou la date recherchée ou tapez une expression en la faisant précéder du signe égal (=) dans la zone Rechercher de la section Arguments de l’action du volet Générateur de macro. Vous pouvez utiliser des caractères génériques. Cet argument est obligatoire.

Match

Spécifie où se trouvent les données dans le champ. Vous pouvez rechercher des données dans toute partie du champ (N’importe où dans le champ), des données qui remplissent tout le champ (Champ entier) ou des données situées au début du champ (Début de champ). La valeur par défaut est Champ entier.

Respecter la casse

Indique si la recherche respecte la casse. Cliquez sur Oui (effectuer une recherche qui respecte la casse) ou sur Non (effectuer la recherche sans respecter les majuscules et les minuscules). La valeur par défaut est Non.

Recherche

Spécifie si la recherche part de l’enregistrement actif et remonte jusqu’au début des enregistrements (Haut), descend jusqu’à la fin des enregistrements (Bas) ou descend jusqu’à la fin des enregistrements, puis repart du début des enregistrements jusqu’à l’enregistrement actif afin que tous les enregistrements soient inclus dans la recherche (Tous). La valeur par défaut est Tous.

Avec mise en forme

Spécifie si la recherche inclut les données mises en forme. Cliquez sur Oui (Microsoft Office Access 2007 recherche les données telles que mises en forme et affichées dans le champ) ou Non (Access recherche les données telles que stockées dans la base de données, ce qui ne correspond pas toujours à la manière dont elles sont affichées). La valeur par défaut est Non. Vous pouvez utiliser cette fonctionnalité pour restreindre la recherche aux données correspondant à un format particulier. Par exemple, cliquez sur Oui et tapez 1,234 dans l’argument Rechercher pour rechercher la valeur 1,234 dans un champ mis en forme avec des virgules. Cliquez sur Non si vous souhaitez taper 1234 pour rechercher les données dans ce champ. Pour rechercher des dates, cliquez sur Oui afin de rechercher une date correspondant exactement à sa mise en forme, par exemple 08 juillet 2003. Si vous cliquez sur Non, entrez la date dans l’argument Rechercher en suivant le format défini dans les paramètres régionaux du Panneau de configuration de Windows. Ce format est indiqué dans la zone Format de date courte sous l’onglet Date des paramètres régionaux. Par exemple, si la zone Format de date courte est défini sur j/m/aa, vous pouvez entrer 8/7/03 ; Access recherche alors toutes les entrées d’un champ Date qui correspondent à 8 juillet 2003, quelle que soit la mise en forme de ce champ.

REMARQUE : L’argument Rechercher sous forme de mise en forme prend effet uniquement si le champ actuel est un contrôle lié, si l’argument Match a la valeur Champ entier, si l’argument Champ en cours est défini sur Oui et que l’argument Match Case est défini sur Non.

Si vous définissez Respecter la casse sur Oui ou Champ actif uniquement sur Non, vous devez également définir Avec mise en forme sur Oui.

Champ actif uniquement

Spécifie si la recherche est limitée au champ actif de chaque enregistrement ou si elle inclut tous les champs de chaque enregistrement. La recherche dans le champ actif est plus rapide. Cliquez sur Oui (limiter la recherche au champ actif) ou sur Non (rechercher dans tous les champs de chaque enregistrement). La valeur par défaut est Oui.

Trouver le premier

Indique si la recherche débute au premier enregistrement ou à l’enregistrement actif. Cliquez sur Oui (démarrer au premier enregistrement) ou sur Non (démarrer à l’enregistrement actif). La valeur par défaut est Oui.

Remarques

Lorsqu'une macro exécute l'action TrouverEnregistrement, Access recherche les données spécifiées dans les enregistrements (l'ordre de la recherche est déterminé par le paramètre de l'argument Sens ). Lorsqu'Access trouve les données spécifiées, elles sont sélectionnées dans l'enregistrement.

L'action TrouverEnregistrement équivaut à cliquer sur Rechercher sous l'onglet Accueil et ses arguments sont identiques aux options de la boîte de dialogue Rechercher et remplacer. Si vous définissez les arguments de l'action TrouverEnregistrement dans le volet Générateur de macro, puis exécutez la macro, les options correspondantes sont sélectionnées dans la boîte de dialogue Rechercher et remplacer lorsque vous cliquez sur Rechercher.

Access conserve les arguments les plus récents de l'action TrouverEnregistrement au cours d'une session de base de données afin que vous n'ayez pas à réentrer les mêmes critères si vous utilisez plusieurs fois l'action TrouverEnregistrement. Si vous laissez un argument vide, Access utilise le paramètre le plus récent de cet argument, qu'il ait été défini par une action TrouverEnregistrement précédente ou dans la boîte de dialogue Rechercher et remplacer.

Si vous souhaitez rechercher un enregistrement à l'aide d'une macro, utilisez l'action TrouverEnregistrement, et non l'action ExécuterCommandeMenu avec ses arguments définis pour exécuter la commande Rechercher.

Remarque

[!REMARQUE] Bien que l'action TrouverEnregistrement corresponde à la commande Rechercher sous l'onglet Accueil pour les tables, les requêtes et les formulaires, elle ne correspond pas à la commande Rechercher dans le menu Edition de la fenêtre Code. Vous ne pouvez pas utiliser l'action TrouverEnregistrement pour rechercher du texte dans les modules.

Si le texte actuellement sélectionné correspond au texte recherché au moment de l'exécution de l'action TrouverEnregistrement, la recherche commence immédiatement après la sélection, dans le même champ que la sélection et dans le même enregistrement. Sinon, la recherche commence au début de l'enregistrement actif. Cela vous permet de rechercher plusieurs instances des mêmes critères de recherche dans un même enregistrement.

Toutefois, notez que si vous utilisez un bouton de commande pour exécuter une macro contenant l’action RechercherEnregistrement, la première instance des critères de recherche est trouvée à plusieurs reprises. En effet, le fait de cliquer sur le bouton de commande supprime le focus du champ contenant la valeur correspondante. L’action RechercherEnregistrement commence alors la recherche à partir du début de l’enregistrement. Pour éviter ce problème, exécutez la macro à l’aide d’une technique qui ne modifie pas le focus, comme un bouton de barre d’outils personnalisé ou une combinaison de touches définie dans une macro AutoKeys, ou définissez le focus dans la macro sur le champ contenant les critères de recherche avant d’effectuer l’action RechercherEnregistrement .

Note de sécurité Note de sécurité
Évitez d’utiliser l’instruction SendKeys ou une macro AutoKeys avec des informations sensibles et confidentielles. Un utilisateur malveillant pourrait intercepter la frappe et compromettre la sécurité de votre ordinateur et de vos données.

Ce comportement est également observé si vous utilisez un bouton de commande pour exécuter une macro contenant l'action TrouverSuivant.

Pour exécuter l'action TrouverEnregistrement dans un module Visual Basic pour Applications (VBA), utilisez la méthode FindRecord de l'objet DoCmd.

Pour les recherches plus complexes, vous voudrez peut-être utiliser l'action de macro RechercherEnregistrement.