Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

ACC2000 : compilation erreur apr�s la conversion de macros de formulaire � VBA.


View products that this article applies to.

Sympt�mes

Apr�s avoir converti macros en Visual Basic pour applications dans un formulaire ou un �tat en utilisant la commande " convertir Basic macros pour Visual ", vous pouvez recevoir le message d'erreur suivant lorsque vous utilisez le formulaire ou �tat.
L'expression < Nom de L'�v�nement > entr� comme le param�tre de propri�t� d'�v�nement produit l'erreur suivante : nom ambigu d�tect�: < Nom de Proc�dure >.
Microsoft fournit des exemples de programmation pour illustration uniquement, sans garantie explicite ou implicite. Cela inclut, mais n'est pas limit� aux garanties implicites de qualit� marchande ou d'ad�quation � un usage particulier. Cet article suppose que vous �tes familiaris� avec le langage de programmation pr�sent� et les outils qui sont utilis�s pour cr�er et d�boguer des proc�dures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalit�s d'une proc�dure particuli�re, mais ils ne sont pas modifier les exemples en vue de fournir des fonctionnalit�s suppl�mentaires ou de cr�er des proc�dures r�pondant � vos besoins sp�cifiques.

↑ Back to the top


Cause

En m�me temps, le formulaire ou l'�tat devait une proc�dure �v�nementielle qui a �t� chang�e par la suite � une macro.

↑ Back to the top


R�solution

Pour �viter l'erreur, ouvrez un module de classe de formulaire ou d'�tat en mode Cr�ation et supprimez la proc�dure de l'�v�nement chaque fois que vous remplacez une proc�dure �v�nementielle par une macro.

Pour r�soudre le probl�me, appliquez l'une des m�thodes suivantes pour supprimer la proc�dure en double dans le module de l'objet classe.

M�thode 1

Si l'objet ne contient pas un m�lange de code Visual Basic et de macros, vous pouvez supprimer le module de l'objet classe avant de convertir ses macros :

  1. Ouvrez le formulaire ou l'�tat en mode Cr�ation.
  2. Attribuez propri�t� HasModule de l'objet et enregistrez l'objet.

    Remarque : code Visual Basic tout l'objet est supprim� avec le module de classe lorsque vous d�finissez la propri�t� AvecModule � non.
  3. Dans le menu Outils , pointez sur macro , puis cliquez sur macros du formulaire convertir en Visual Basic ou des macros du rapport convertir en Visual Basic .

    Un nouveau module de classe est cr�� pour l'objet et aucun nom de proc�dure en double n'existe.

M�thode 2

Vous pouvez ouvrir le module de l'objet classe en mode Cr�ation et supprimer la proc�dure en double :
  1. Ouvrir l'objet en mode Cr�ation.
  2. Dans le menu Affichage , cliquez sur code .
  3. Dans le menu D�boguer , cliquez sur Compiler <dbname> . Vous recevrez le message d'erreur suivantes :
    Nom ambigu d�tect�: < Nom de Proc�dure >.
  4. Examinez le module de classe, recherchez une autre proc�dure portant le m�me nom que celui qui a g�n�r� l'erreur de compilation.
  5. S�lectionner et supprimer la proc�dure ind�sirable.

↑ Back to the top


Plus d'informations

Lorsque vous remplacez [Proc�dure �v�nementielle] par le nom d'une macro en mode cr�ation d'un formulaire ou un �tat, la proc�dure elle-m�me reste dans le module de l'objet classe. Lorsque vous convertissez la macro � une proc�dure Visual Basic, l'Assistant ne v�rifie pas si la proc�dure de cet �v�nement existe d�j�, et qu'il cr�e une proc�dure en double.

Proc�dure pour reproduire le probl�me

L'exemple suivant utilise un formulaire. Vous pouvez obtenir les m�mes r�sultats � l'aide d'un rapport.
  1. D�marrez Microsoft Access et ouvrez la base de donn�es exemple Comptoir.mdb sera modifi�e.
  2. Cr�er la macro suivante appel�e TestVBA :
    Nom de macroAction
    TestVBAOptimiser
  3. Enregistrer la macro et fermez-le.
  4. Utiliser le formulaire instantan� : Colonnes Assistant pour cr�er un nouveau formulaire bas� sur la table Shippers (Exp�diteurs).
  5. Enregistrez le formulaire sous frmShippers, puis puis l'ouvrez en mode Cr�ation.
  6. D�finissez la propri�t� OnLoad du formulaire � la proc�dure �v�nementielle suivante :
    Private Sub Form_Load()
        'This module will be replaced by a macro
    End Sub
  7. Fermez la fen�tre du formulaire module.
  8. Modifier la propri�t� OnLoad du formulaire � partir de [Proc�dure �v�nementielle] � TestVBA.
  9. Dans le menu Outils , pointez sur macro , puis cliquez sur macros du formulaire convertir en Visual Basic .
  10. Dans la bo�te de dialogue Convertir les macros de formulaire , cliquez sur Convertir .
  11. Cliquez sur OK lorsque la conversion termin�e et basculez le formulaire en mode formulaire.
Remarque : vous recevez le message d'erreur indiqu� dans la section Sympt�mes . Si vous acc�dez module de classe du formulaire, vous trouverez deux proc�dures nomm�s Form_Load.

↑ Back to the top


R�f�rences

Pour plus d'informations sur l'utilisation la macros convertir en commande de Visual Basic dans Visual Basic Editor, cliquez sur l'aide de Microsoft Visual Basic dans le menu Aide , tapez Conversion des macros dans le Compagnon Office ou l'aide intuitive et puis cliquez sur Rechercher pour afficher la rubrique.

↑ Back to the top


Propri�t�s

Traduction automatique
IMPORTANT : 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: 209907
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.

↑ Back to the top


Article Info
Article ID : 209907
Revision : 2
Created on : 1/1/0001
Published on : 1/1/0001
Exists online : False
Views : 442