Numéro d'article: 210504 - Dernière mise à jour: jeudi 23 juin 2005 - Version: 3.0 ACC2000 : Référence à un champ dans l'enregistrement précédent ou suivant
Avancé : Nécessite une matière de programmation, l'interopérabilité et compétences multi-utilisateur. Cet article s'applique uniquement à une base de données Microsoft Access (.mdb). SommaireRésuméCet article décrit deux méthodes que vous pouvez utiliser pour obtenir les valeurs à partir de la précédente ou l'enregistrement suivant à utiliser dans des calculs. La première méthode utilise la fonction DLookup() dans une expression ; la deuxième méthode utilise deux fonctions définies par l'utilisateur. Remarque : vous pouvez voir une démonstration de la technique utilisée dans cet article dans l'exemple de fichier Qrysmp00.exe. Pour savoir comment obtenir cet exemple de fichier, consultez l'article suivant dans la base de connaissances Microsoft : 207626
(http://support.microsoft.com/kb/207626/EN-US/
)
ACC2000 : Exemples de requêtes Access 2000 disponibles au centre de téléchargement Plus d'informationsMéthode 1: Utilisation DLookup()Remarque : cette technique suppose que vous disposez d'une table avec un champ ID d'un type de données numérique, et que les valeurs d'ID ne manque n'importe quel nombre (ou nombres) dans un ordre séquentiel. Si votre table ne respecte pas ces critères, vous devez utiliser la méthode "Utilisation de code" décrite plus loin dans cet article.Vous pouvez utiliser les exemples d'expressions DLookup() suivantes pour obtenir des valeurs d'un champ de l'enregistrement précédent ou suivant d'un formulaire, d'un rapport ou d'une requête. Remarque : vous devez insérer le champ de données correctes, table, formulaire, rapport et ID de champ noms dans les exemples d'expressions suivants. Dans un formulairePour obtenir une valeur à partir d'un champ de l'enregistrement précédent, tapez la ligne suivante pour la propriété ControlSource de la zone de texte := DLookUp("[MyField]","MyTable","[ID]=Forms![MyForm]![ID]-1") Pour obtenir une valeur à partir d'un champ de l'enregistrement suivant, tapez la ligne suivante pour la propriété ControlSource de la zone de texte : = DLookUp("[MyField]","MyTable","[ID]=Forms![MyForm]![ID]+1") Dans un rapportPour obtenir une valeur à partir d'un champ de l'enregistrement précédent, tapez la ligne suivante pour la propriété ControlSource de la zone de texte := DLookUp("[MyField]","MyTable","[ID]=Reports![MyReport]![ID]-1") Pour obtenir une valeur à partir d'un champ de l'enregistrement suivant, tapez la ligne suivante pour la propriété ControlSource de la zone de texte : = DLookUp("[MyField]","MyTable","[ID]=Reports![MyReport]![ID]+1") Dans une requêtePour obtenir une valeur à partir d'un champ de l'enregistrement précédent, tapez la ligne suivante dans la ligne champ de la grille de requête :Expr1 : DLookUp("[MyField]","MyTable","[ID]=" & [ID]-1) Pour obtenir une valeur à partir d'un champ de l'enregistrement suivant, tapez la ligne suivante dans la ligne champ de la grille de requête : Expr1 : DLookUp("[MyField]","MyTable","[ID]=" & [ID]+1) Remarque : dans ces exemples d'expressions, la valeur -1 et + 1 indiquent les enregistrements précédents et suivants. Lorsque l'enregistrement actif est le premier enregistrement dans le jeu d'enregistrements, la valeur -1 retourne une valeur null comme enregistrement précédent. De même, lorsque l'enregistrement actif est le dernier enregistrement dans le jeu d'enregistrements, le + 1 retourne une valeur NULL. Si vous souhaitez retourner une valeur à partir d'un enregistrement différent de celui suivant ou précédent, vous pouvez spécifier un numéro différent, par exemple, -3 du troisième enregistrement précédent. Méthode 2: Utilisation de codeMicrosoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques. Remarque : l'exemple de code dans cet article utilise Microsoft Data Access Objects. Pour ce code s'exécute correctement, vous devez référencer la bibliothèque d'objets Microsoft DAO 3.6. Pour ce faire, cliquez sur références dans le menu Outils dans Visual Basic Editor et assurez-vous que la case à cocher Bibliothèque d'objets Microsoft DAO 3.6 est activée.Pour récupérer une valeur dans un champ à partir de l'enregistrement précédent ou suivant dans un formulaire à l'aide de code, procédez comme suit :
RéférencesPour plus d'informations sur l'entrée de données automatiquement dans un formulaire à l'aide des valeurs de l'enregistrement précédent, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft : 210236
(http://support.microsoft.com/kb/210236/EN-US/
)
ACC2000:Fill enregistre automatiquement avec des données à partir de l'enregistrement précédent Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatiqueIMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 210504
(http://support.microsoft.com/kb/210504/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Autres ressources Autres sites d'aide
CommunautésObtenir de l'aideTraductions disponibles
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Retour au début
