problème Erreur 3047 à l'enregistrement d'une table déjà remplie

HAYEZ, Stéphane (ARS-HDF) 20 Points de réputation
2025-10-16T08:52:05.8766667+00:00

bonjour,

comment résoudre l'Erreur 3047 à l'enregistrement d'une table access modifiée et contenant des données ?

rmq : il y a 2 champs Memo (type texte long) dans l'enregistrement

merci d'avance pour votre aide

Microsoft 365 et Office | Access | Other | Windows
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur(e) de la question
Anonyme
2025-10-16T09:54:07.27+00:00

Note : Cette réponse a été traduite automatiquement. Elle peut donc contenir des erreurs grammaticales ou des formulations maladroites.

Bonjour HAYEZ, Stéphane (ARS-HDF)

Merci d’avoir contacté le forum Microsoft Q&A et d’avoir partagé votre expérience.

Ce problème d’erreur 3047 dans Access indique souvent qu’un enregistrement est trop volumineux, généralement lorsqu’il dépasse la limite approximative de 2 000 caractères (4 000 octets en Unicode) dans les champs non-Memo d’une seule ligne. Étant donné que vous avez mentionné 2 champs Memo, cela pourrait être lié à la façon dont les données sont stockées ou modifiées dans votre table.

Pour mieux comprendre, pourriez-vous clarifier quelques points :

  • Quelle version de Microsoft Access utilisez-vous (par exemple, Access 2016, Access 2019, Microsoft 365 ou autre) ?
  • Environ combien d’enregistrements contient la table, et quelle est la taille moyenne des champs Memo (par exemple, nombre moyen de caractères par champ) ?
  • Avez-vous déjà essayé certaines étapes de dépannage ?

En attendant, voici quelques étapes préliminaires que vous pouvez envisager d’essayer, selon mes recherches :

  • Vérifiez et utilisez efficacement les champs Memo : Assurez-vous que les champs de texte volumineux sont définis sur le type Memo (Long Text dans les versions récentes), qui permet de stocker des données au-delà de la limite standard d’un enregistrement en utilisant des pages de base de données distinctes. En mode création de table, vérifiez que le type de champ est Memo (ou définissez-le via VBA avec Field.Type = 12 pour Memo, et non 10 pour Text). Si les champs Memo sont déjà utilisés, testez en réduisant temporairement leur contenu pour voir si l’erreur persiste.
  • Redéfinissez ou optimisez la table : Examinez la structure de votre table pour supprimer les champs inutiles ou diviser les enregistrements larges en tables liées (par exemple, déplacer les données Memo volumineuses dans une table liée distincte). Cela peut éviter de dépasser la limite de taille par enregistrement. Sauvegardez toujours votre base de données au préalable.
  • Compactez et réparez la base de données : Accédez à Outils de base de données > Compacter et réparer la base de données.
  • Solution de contournement pour la gestion de grandes quantités de données : Si vous travaillez avec des ensembles de données très volumineux, envisagez d’exporter vers une feuille de calcul Excel à l’aide de la méthode DoCmd.TransferSpreadsheet en VBA (par exemple, pour les requêtes dépassant les limites habituelles). Vous pouvez ensuite lier le fichier Excel à Access pour référence. Notez que les bases de données Access ont une limite de taille globale de 2 Go, mais il n’y a pas de limite fixe de « 4 000 enregistrements » par table : concentrez-vous plutôt sur l’optimisation de votre conception. Pour les exportations en masse, utilisez VBA pour automatiser et gérer les erreurs en toute sécurité.

J’espère que cela vous aidera à mieux comprendre la situation. N’hésitez pas à nous dire comment cela se passe, vos retours sont précieux pour la communauté.


Si la réponse vous a été utile, veuillez cliquer sur « Accepter la réponse » et voter pour. Si vous avez des questions supplémentaires concernant cette réponse, cliquez sur « Commentaire ».

Remarque : Veuillez suivre les étapes de notre documentation pour activer les notifications par e-mail si vous souhaitez recevoir les notifications associées à ce fil de discussion.

Cette réponse vous a-t-elle été utile?


0 réponses supplémentaires

Trier par : Plus ancien

Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur(e) de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur(e).