Pb INSERT INTO sous VBA dans ACCESS

zelef Messages postés 3 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 1 juin 2005 - 1 juin 2005 à 14:26
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 1 juin 2005 à 18:32
Bonjour à tous,
Je suis débutant en VBA et je suis sur un problème que je n'arrive pas à résoudre malgrés mes recherche sur différents forum.
J'essaye d'ajouter à une table(qui est en réalité le résultat d'une requete) les lignes d'une autre requete ayant exactement les meme champs...
On me donne l'erreur suivante à l'éxécution : L'opération doit utiliser une requete qui peut etre mis à jour.

Mon code est le suivant:
Dim db As DAO.Database
Set db = DBEngine.OpenDatabase(".\checklist.mdb", False, False)
' Exécution de la requête
db.Execute "INSERT INTO [formule_44"] SELECT CELLID,[EchcoTH]/[demandTH] AS [tx d'échec prise TCH(congestion)] FROM [indicateur_ 44]"
Debug.Print "Records Affected = " & db.RecordsAffected
db.Close

Merci d'avance si vous avez une idée....

Zélef

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 juin 2005 à 18:32
Salut

Il y a un " en trop dans le nom [formule_44"]

(à la fin de la requète) Bizarre l'espace entre indicateur_ et 44

La méthode Insert t'authorise à ne pas déclarer la liste des champs que tu vas fournir à condition que :
- l'ordre des champs fournis correspondent bien
- que tous les champs soient fournis (sauf un éventuel champ auto_incrément)

Donc, ta requète n'est valable que si ta table 'formule_44' ne possède que 2 champs (ceux que tu fournis)
De plus, l'utilisation d'alias en mode Insert est osée ... Est-ce que la table formule_44 possède un champ dont le nom est tx d'échec prise TCH(congestion) ?

Simplifie ta requète ! (ou le nom de tes champs dans tes tables) et attention aux accents et autres apostrophes ' qui peuvent mettre le souk !

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Rejoignez-nous