zelef
Messages postés3Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention 1 juin 2005
-
1 juin 2005 à 14:26
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)