Requête Ajout avec Access 2007 = erreur -3087

Fermé
CaptainMarvel - 22 janv. 2008 à 10:56
CaptainMarvel Messages postés 1 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 22 janvier 2008 - 22 janv. 2008 à 14:45
Bonjour,
Je veux réaliser des graphiques (existant déjà sous Excel) sous Access 2007. Pour cela, j'ai besoin de créer un tableau dont les colonnes sont le résultat de plusieurs requêtes. Ces requêtes correspondent à des regroupements par classe : nombre d'accidents pour t = 0 an ou 0<t<10 ans ... Mes requêtes seules fonctionnent bien : je les visualise en mode formulaire sans soucis. Le problème vient du fait que je veux insérer les résultats de chacune de ces requêtes dans une table préalablement créée et correctement typée via les commandes SQL INSERT INTO SELECT.
Le code est le suivant :
INSERT INTO [Accidentologie] ( [Nombre de cas], [Nombre de morts] )
SELECT Count(*) AS Expr1, Sum([base].[Mort(s) au fond]+[base].[Mort(s) en surface]) AS Expr2
FROM base
WHERE (base.[Dt (ans)])=0;

Je n'ai pas d'erreur de syntaxe mais à l'éxécution j'obtiens une erreur du style : "Erreur réservée (-3087) : aucun message assigné à cette erreur" !
En revanche, si je mets la clause VALUES( devant SELECT, Access 2007 détecte une erreur de syntaxe sur COUNT(*).
Je n'ai pas l'impression de vouloir réaliser un grand exploit, mais je n'arrive pas à décoller !
Quelqu'un peut-il m'aider à prendre mon envol ?
A voir également:

2 réponses

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 121
22 janv. 2008 à 13:37
Salut,

Je ne sais pas pour l'erreur, mais j'ai voulu vous donner un petit conseil pour les noms de colonnes: ils sont trop compliqués, il vaut mieux donner des noms du genre nom variables, puis vous pouvez les rendre ségnificatif pendant la requête SELECT
0
CaptainMarvel Messages postés 1 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 22 janvier 2008
22 janv. 2008 à 14:45
Merci pour la réponse,
J'ai changé le début du code par INSERT INTO Accidentologie ( Nombrecas, Nombremorts ) mais la simplification des noms ne change rien. En fait, je m'en doutais un peu puisque la requête de tri sur "base" (le code sans la 1ère ligne) fonctionne très bien malgré des noms 'compliqués' (avec espaces et parenthèses).
Ce que je ne comprends pas, c'est que les 3 dernières lignes correspondent bien à 1 enregistrement sur 2 champs (c'est ce à quoi correspond l'aperçu en mode feuille de données) et que Access est incapable d'insérer ces 2 champs dans une table où les 2 champs correspondants ont été spécialement créés. D'ailleurs, ce type de message sibyllin me fait craindre le pire : pas d'erreur de syntaxe, pas d'incompatibilité avec le type et le nombre de données mais plantage dès le clic sur le bouton exécution. Bref Access trouve une erreur là où il ne devrait pas y en avoir.
A cet instant je me pose les questions suivantes :
- y a-t-il malgré tout un problème dans l'écriture SQL de ces 4 lignes ?
- ou Access n'accepte que des champs simples (sans opération ou manipulation) en vue d'une insertion ?
- ou faut-il combiner VALUES avec SELECT (ce dont je doute d'après la lecture de ce forum) ? Quelqu'un peut-il apporter une réponse définitive à cette question ?
- s'agit-il d'un bug d'Access ? ou faut-il le mettre à jour ? : ma version est Access 2007 12.0.4518.1014.

Merci à mes futurs interlocuteurs !
0