BOGUE : Vous recevez un message d'erreur «Bad File Name or Number» lorsque vous faites migrer des bases de données avec des pages d'accès aux données stockées sur le serveur

Traductions disponibles Traductions disponibles
Numéro d'article: 282380 - Voir les produits auxquels s'applique cet article
Modéré : Nécessite macro base, de codage et les compétences de l'interopérabilité.

Cet article s'applique uniquement à une base de données Microsoft Access (.mdb).

Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous utilisez l'Assistant de migration pour convertir une base de données Microsoft Access contient des pages d'accès aux données à un projet Access, message d'erreur suivant peut s'afficher :
Nom de fichier UT_HandleADPDataPages incorrecte ou nombre 52

Cause

Ce problème peut se produire car les pages d'accès aux données liés à l'aide d'un chemin d'accès du serveur Web tel que http://, ftp: / /, ou https://. L'Assistant de migration ne traite pas correctement ces chemins d'accès lorsqu'il crée le nouveau projet.

Résolution

Pour contourner ce problème, appliquez l'une des méthodes suivantes.

Méthode 1: Recréation des liens

Recréer les liens vers les pages d'accès aux données existantes une fois le nouveau projet Access a été créé.

Méthode 2: Utiliser du code VBA

Utiliser Microsoft Visual Basic pour applications (VBA) pour recréer les pages dont les liens ne sont pas copiés correctement par l'Assistant de migration.

Remarque : ce code va modifier les pages d'accès aux données existantes. Il est recommandé de créer des sauvegardes de vos pages avant d'exécuter ce code.

Pour relier les pages en utilisant le code VBA, procédez comme suit :

Microsoft 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.
  1. Cliquez sur l'objet modules dans le projet nouvellement créé, puis cliquez sur Nouveau.
  2. Tapez ou collez le code suivant dans Visual Basic Editor :
    Sub RelinkDataPages(strPathToMDBFile As String)
    
        ' Automates Access to create a new data access page in the
        ' project file (.adp) from the links in the database (.mdb) file
        Dim ao As AccessObject
        Dim dp As DataAccessPage
        
        Dim objAccApp As Access.Application
        Set objAccApp = New Access.Application
        
        With objAccApp
            ' open the original MDB file
            .OpenCurrentDatabase strPathToMDBFile
            For Each ao In .CurrentProject.AllDataAccessPages
                
                ' Create the new path with the link from the existing page
                Set dp = Application.CreateDataAccessPage(ao.FullName, False)
                
                ' Modify the connection of the page to match the ADP's connection info.
                ' Using the .Connection or .AccessConnection property includes the
                ' Microsoft.Access.OLEDB.10.0 provider and will not work in the connection
                ' string of a data access page.  As a result, use the .BaseConnectionString
                ' property instead to get the basic information.
    
                ' If you are using SQL Server security, you will need to
                ' to concatenate the user name and password information
                ' for the page.
                dp.MSODSC.ConnectionString = CurrentProject.BaseConnectionString
                
                ' save the new page
                DoCmd.Save acDataAccessPage, dp.Name
                
                ' close the page
                DoCmd.Close acDataAccessPage, dp.Name
                
            Next
        End With
        
        ' cleanup
        Set ao = Nothing
        objAccApp.Quit
        Set objAccApp = Nothing
        
        MsgBox "Pages have been relinked"
    End Sub
    					
  3. Enregistrez le module sous FixLinks.
  4. Tapez la ligne suivante dans la fenêtre exécution, appuyez sur entrée
    RelinkDataPages "<FullPathToDatabase>"
    					
    où <fullpathtodatabase>est le chemin d'accès à la base de données que vous venez migrée.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés au début de cet article.

Plus d'informations

Lorsque vous utilisez l'Assistant de migration pour convertir un accès base de données à un projet Access, objets de la base de données sont copiées dans les objets correspondants dans le nouveau projet. Les objets page sont en fait des liens ou raccourcis vers des pages Web stockées en dehors du fichier de base de données. Les pages peuvent être stockés localement, sur une ressource réseau partagée et accessible via le système de fichiers ou sur un serveur Web et accessibles via un protocole Internet tel que HTTP, HTTPS ou FTP.

Lorsque des objets de page sont copiés, l'Assistant de migration est en mesure de copier les liaisons uniquement lorsque les deux conditions suivantes sont remplies :
  • Les pages sont accessibles via le système de fichiers localement ou via un réseau.

    En d'autres termes, ils ne sont pas accessibles via un protocole Internet.

    - et -
  • Les liens de page sont valides ; autrement dit, les pages n'ont pas été déplacés, supprimées ou renommées.
Pour les liens de page enregistrées dans un protocole Internet, vous recevez message d'erreur décrit dans la section "Symptômes" de cet article lorsque vous faites migrer la base de données. Vous ne recevez aucune message d'erreur pour les liens non valides qui pointent vers un système de fichiers. Dans ce cas, il est plus utile pour vérifier les liens avant de faire migrer la base de données.

Procédure pour reproduire le problème.

  1. Démarrez Access et créez une nouvelle base de données vide.
  2. Importez la table Employees à partir de l'exemple de base de données Comptoir.mdb.
  3. Créez une nouvelle page basée sur la table Employees et enregistrez-le à un annuaire Internet sur lequel vous disposez des autorisations.
  4. Dans le menu Outils, pointez sur Utilitaires de base de données et puis cliquez sur Assistant de migration.
  5. Acceptez les paramètres par défaut de l'Assistant de migration, puis sélectionnez un ordinateur Microsoft SQL Server sur lequel vous disposez des autorisations «créer la base de données».

    Notez que lorsque l'Assistant de migration commence à copier des pages, il interrompue à la page Web existante et affiche message d'erreur décrit dans la section "Symptômes" de cet article.
  6. Cliquez sur OK message d'erreur (ou dans les messages), puis fermez l'Assistant de migration rapport.
  7. Cliquez sur l'objet de pages dans la fenêtre base de données ; vous remarquez que le lien de la page d'accès aux données n'a pas été copié dans le projet Access comme prévu.

Propriétés

Numéro d'article: 282380 - Dernière mise à jour: mercredi 11 octobre 2006 - Version: 4.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2002
Mots-clés : 
kbmt kbwizard kbdap kbtshoot kbbug kberrmsg kbnofix KB282380 KbMtfr
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: 282380
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.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com