Salut Tecman.
J'ai essayé de faire ce que tu m'avais dit (ce qui me parait effectivement beaucoup plus correct) mais access me dit "Too few parameters".
En fait, je dispose d'une table que j'ai importée. Je veux garder certains champs de cette table et en rajouter en faisant des calculs que j'ai fait à l'aide de requêtes.
Voici le code :
Public Sub Insert()
Dim MaBD As Database
Dim MonSQL As String
Dim MonSQL2 As String
Dim MonSQL3 As String
Dim MonSQL4 As String
Set MaBD = CurrentDb()
MonSQL = "SELECT FOURNISSEUR,[TYPE FICHIER],[TYPE PIECE],[DATE PAIEMENT], [NUMERO FACTURE],[DATE FACTURE],[MODE PAIEMENT], [CODE BANQUE], [SOCIETE FACTUREE], [COMPTE DE FACTURATION],[AUTRE REFERENCE], [NUMERO MARCHE], [NUMERO CONTRAT SERVICE],[DATE DEBUT FACTURE CP],[DATE FIN FACTURE CP],[COMPTE UTILISATEUR],[NOM USUEL SITE UTILISATEUR] INTO Table1 FROM Table8"
MaBD.Execute MonSQL
MonSQL2 = "SELECT Table8.[NOM SITE INSTALLE], RoundCost (sum (RoundCost([QUANTITE CONSOMMEE]*[TARIF UNITAIRE CONSO]/60))) AS Total INTO Table2 FROM Table8 GROUP BY Table8.[NOM SITE INSTALLE] " 'requête qui calcule la conso avant reduction Q conso * Tarif unitaire et fait la somme pour chaque site'
MaBD.Execute MonSQL2
MonSQL3 = "UPDATE Table1 INNER JOIN Table2 ON Table1.id = Table2.id SET Table2.total = Table1.total"
MaBD.Execute MonSQL3
MaBD.Close
End Sub
En clair, j'ai importé un fichier excel sous la table8 et j'ai inséré certains champs dans la table1. Je fais ensuite des calculs avec la table8 et je voudrais donc insérer ce calcul dans ma nouvelle table (la table1). Or il me dit "Too few Parameters" quand j'exécute MonSQL3.
Que dois je faire pour contourner ce problème ?
Merci pour ton aide.
Bonnaud