Passer une variable dans une requete sql pour un tableau croisé dynamique

azmth

XLDnaute Nouveau
Bonjour,
Je cherche à récupérer une variable dans excel et de la passer dans une requete sql dans VBA. Voici un exemple dans lequel les variables récupérées dans excel sont StockCode et EntryDate:

ActiveSheet.PivotTableWizard SourceType:=xlExternal, SourceData:=Array("SELECT INVMOVEMENTS.StockCode, INVMOVEMENTS.EntryDate, INVMOVEMENTS.MovementType, INVMOVEMENTS.TrnType, INVMOVEMENTS.TrnQty" & Chr(13) & "" & Chr(10) & "FROM dbo.INVMOVEMENTS INVMOVEMENTS" & Chr(13) & "" & Chr(10) & "WHERE (INVMOVEMENTS.StockCode= 1000) AND (INVMOVEMENTS.EntryDate>={d '2007-01-04'}))

Le pb est une incompatibilité de données dès que je passe ces variables dans ce code.

Merci bcp de votre aide.

Azmth
 

michel_m

XLDnaute Accro
Re : Passer une variable dans une requete sql pour un tableau croisé dynamique

Bonjour,

pour passer une variable dans SQL:

tavar=100

(INVMOVEMENTS.StockCode= 1000) devient
(INVMOVEMENTS.StockCode= " & tavar & ")


(INVMOVEMENTS.EntryDate>={d '2007-01-04'})) devient
(INVMOVEMENTS.EntryDate>={d '" & tadate &"'}))

essaies aussi (les dates en SQL, c'est prise de t^te)
{d '[tadate]'}

regarde si tu dois mettre le type de tadate en date ou string ( je pencherais pour string mais...)
 

azmth

XLDnaute Nouveau
Re : Passer une variable dans une requete sql pour un tableau croisé dynamique

Merci Michel, tu m'as vraiment mis sur la bonne voie!

La solution est:

Dim madate As String

mavar = Range("B3").Value
madate = Format((Range("B1").Value), "yyyy-mm-dd")

ActiveSheet.PivotTableWizard SourceType:=xlExternal, SourceData:=Array( _
"SELECT INVMOVEMENTS.StockCode, INVMOVEMENTS.EntryDate, INVMOVEMENTS.MovementType, INVMOVEMENTS.TrnType, INVMOVEMENTS.TrnQty" & Chr(13) & "" & Chr(10) & "FROM dbo.INVMOVEMENTS INVMOVEMENTS" & Chr(13) & "" & Chr(10) & "WHERE (INVMOVEMENTS.StockCode= " & var_code & ") A" _
, _
"ND (INVMOVEMENTS.EntryDate>={d '" & var_date_debut & "'},

MErci bcp de ton aide!

azmth
 

Statistiques des forums

Discussions
314 629
Messages
2 111 345
Membres
111 109
dernier inscrit
djameldel