XL 2010 VBA requete SQL

azertyyyy

XLDnaute Nouveau
Bonjour à tous,

depuis mon fichier Excel en VBA j'interroge ma base sql (sqlserver2008r2).

il me retourne l'erreur suivante Nom d'objet 'F_COMPTEG' non valide, Cela correspond au nom d'une table dans ma requête.

si j’exécute la requête directement dans sqlmanagement aucun problème la requête retourne bien.

VB:
'--MsgBox (valcel)
            Dim rsBat3 As ADODB.Recordset
            Set rsBat3 = New ADODB.Recordset
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "DATA SOURCE=*;UID=*;PWD=*"
DerniereLigne3 = Worksheets("CFG").Range("V1000").End(xlUp).Row

For i = 2 To DerniereLigne3
        '-MsgBox i

               Set f3 = fso_OpenTextFile(chemin & "\SQL\sql-sage-tresorie.sql", ForReading)
                une_variable3 = Replace(f3.ReadAll, "nom_compta_sql", Worksheets("CFG").Range("w" & i).Value)
                une_variable3 = Replace(une_variable3, "libelle_treso", Worksheets("CFG").Range("x" & i).Value)
                une_variable3 = Replace(une_variable3, "datedebut", Format(valceldebut, "yyyymmdd"))
                une_variable3 = Replace(une_variable3, "datefin", Format(valcel, "yyyymmdd"))
                une_variable3 = Replace(une_variable3, "date_treso", valcel)
                 une_variable3 = Replace(une_variable3, "societe_treso", Worksheets("CFG").Range("v" & i).Value)
                une_variable3 = Replace(une_variable3, "num_code_client", Worksheets("CFG").Range("y" & i).Value)
               f3.Close

                Set f23 = fso_OpenTextFile(chemin & "\" & Worksheets("CFG").Range("w" & i).Value & "-" & Worksheets("CFG").Range("x" & i).Value & ".txt", 2, True)
   f23.write (une_variable3)
   f23.Close
  With rsBat3
        .ActiveConnection = cnBat
          .Open une_variable3
           Do While Not rsBat3.EOF
            DerniereLigne = Worksheets("SQL-tresorerie").Range("A10000").End(xlUp).Row + 1
           'MsgBox (DerniereLigne)
            Worksheets("SQL-tresorerie").Range("A" & DerniereLigne).CopyFromRecordset rsBat3
            Loop
            .Close
             End With

    Next

Code:
SELECT 'societe_treso' as soc,'libelle_treso' as lib,'date_treso' as datef,
[F_ECRITUREC].CG_NUM,
[F_COMPTEG].CG_Intitule as CG_Intitule,
CAST (SUM(CASE EC_Sens
       WHEN 1 THEN EC_Montant*-1
       ELSE EC_Montant END) AS decimal (10,2)) as montant
FROM [nom_compta_sql].[dbo].[F_ECRITUREC]
INNER JOIN [F_COMPTEG] on [F_COMPTEG].CG_NUM=[F_ECRITUREC].CG_NUM
WHERE JM_Date>= 'datedebut' and JM_Date<= 'datefin'
and [F_ECRITUREC].CG_NUM like 'num_code_client'
GROUP BY [F_ECRITUREC].CG_NUM,[F_COMPTEG].CG_Intitule

Je comprend pas pourquoi INNER JOIN [F_COMPTEG] ......... lui pose un probleme. si je remplace par la requête des toutes prêtes et sur une seul ligne, j'ai la même erreur :(

Merci d'avance pour votre aide et vos explications

azertyyy
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 678
dernier inscrit
arno12345678