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

Signaler
Messages postés
2
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
16 janvier 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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.
A voir également:

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
quelle est ta requete ?
Messages postés
2
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
16 janvier 2008

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','')
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
'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") & "#, ...."