The field is too small to accept the amount of data you attempted to add

Zenturio83 Messages postés 2 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 16 janvier 2008 - 16 janv. 2008 à 13:02
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 16 janv. 2008 à 14:35
Bonjour à tous,


Je suis en train d'installer une application en VB6 utilisant une base de
données Access 97.  Quand je l'installe sous Windows XP, cela se déroule
sans problème.  Par contre, je rencontre des soucis lors du déploiement
sous Windows 2000.


A. Problème rencontré:

Lorsque l'application doit exécuter une insertion, l'erreur suivante est
loggée: "2147217833 - The field is too small to accept the amount of
data you attempted to add;  Try inserting or pasting less data."
Cette erreur apparait en principe quand on essaye, par exemple, d'insérer 11
caractères dans un champ de maximum 10 caractères.


B. Tests effectués:

1 - Exécution de la requète directement dans Access: cela fonctionne
donc ce n'est pas une erreur dans la requète.

2 - Nouvel essai avec une copie de la BD sur le poste client: le
problème subsiste.

3 - Recherche des providers installés sur la machine: Microsoft Jet 4.0
et Microsoft Jet 3.51 sont présents.

4 - Vérification de la version de MDAC installée (fichier msado15.dll):
tout à l'air bon et les dll sont bien enregistrées

5 - Vérification des dépendances de la base de données dans l'éditeur de
macros d'Access: aucune dépendance manquante


C. Autre remarque:

Office 97 n'est pas installé sur la machine client et ne pourra pas l'être.

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
16 janv. 2008 à 13:40
quelle est ta requete ?
0
Zenturio83 Messages postés 2 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 16 janvier 2008
16 janv. 2008 à 14:29
Voici un exemple de requête exécutée, mais le problème est le même pour toute requête d'insertion:

INSERT INTO F_ENTITES_N3 (EN3_IDE,EN3_CODE,EN3_PER_IDE,EN3_TP_N3,EN3_LIBELLE,EN3_INFORMATION,EN3_VALUE,EN3_FLAG,EN3_DTE_INS,EN3_HEU_INS,EN3_EMP_INS) VALUES ('SEC006','006','','SEC','bancaire','secteur bancaire','','0','16/01/2008','14:24:08','')
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
16 janv. 2008 à 14:35
'16/01/2008'

tu devrais utiliser des champs de type date... ca c'est moche (et source d'erreurs)

pour rappel, une date s'envoie ainsi :

#1/16/2008# (et sans quotes)

ce qui donne :

SQL = "INSERT INTO ..........'0', #" & Format$(Date,"MM\/DD\/YYYY") & "#, ...."
0