Excel : varaibles dans requête sql
christof
-
christof59 Messages postés 3 Statut Membre -
christof59 Messages postés 3 Statut Membre -
Bonjour,
Bonjour,
je souhaite importer des données d'une BDD Oracle dans Excel en bornant ma sélection par des dates.
pour ce faire, j'ai activé l'enregistreur de macro et j'ai créé une requête mais le code retourné est quelque peu indigeste et je n'arrive pas à insérer des variables à savoir remplacer les dates de la requête ('01/01/2008' and '30/01/2008') par deux variables.
Voilà ma requête :select releve_bt.code_pers, releve_bt.duree_mo_hd
from releve_bt where releve_bt.date_pointage between '01/01/2008' and '30/01/2008'
Voilà le code : With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Etat;UID=mabase;PWD=pwde;SERVER=server;", Destination:= _
Range("A3"))
.CommandText = Array( _
"SELECT releve_bt.CODE_PERS, releve_bt.DUREE_MO_HS1" & Chr(13) & "" & Chr(10) & "FROM COLBERT.releve_bt releve_bt" & Chr(13) & "" & Chr(10) & "WHERE (releve_bt.DATE_POINTAGE Between '01/01/2008' And '31/01/2008')" _
)
.Name = "Lancer la requête à partir de Etatl"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
J'ai essayé de remplacer 01/01/2008 par "&date_debut&" mais la syntaxe n'est pas bonne...Quelqu'un sait comment insérer ses variables ?Bonjour,
je souhaite importer des données d'une BDD Oracle dans Excel en bornant ma sélection par des dates.
pour ce faire, j'ai activé l'enregistreur de macro et j'ai créé une requête mais le code retourné est quelque peu indigeste et je n'arrive pas à insérer des variables à savoir remplacer les dates de la requête ('01/01/2008' and '30/01/2008') par deux variables.
Voilà ma requête :select releve_bt.code_pers, releve_bt.duree_mo_hd
from releve_bt where releve_bt.date_pointage between '01/01/2008' and '30/01/2008'
Voilà le code : With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Etats_Ascol;UID=colbert;PWD=pilote;SERVER=colbert;", Destination:= _
Range("A3"))
.CommandText = Array( _
"SELECT releve_bt.CODE_PERS, releve_bt.DUREE_MO_HS1" & Chr(13) & "" & Chr(10) & "FROM COLBERT.releve_bt releve_bt" & Chr(13) & "" & Chr(10) & "WHERE (releve_bt.DATE_POINTAGE Between '01/01/2008' And '31/01/2008')" _
)
.Name = "Lancer la requête à partir de Etats_Ascol"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
J'ai essayé de remplacer 01/01/2008 par "&date_debut&" mais la syntaxe n'est pas bonne...Quelqu'un sait comment insérer ses variables ?
Bonjour,
je souhaite importer des données d'une BDD Oracle dans Excel en bornant ma sélection par des dates.
pour ce faire, j'ai activé l'enregistreur de macro et j'ai créé une requête mais le code retourné est quelque peu indigeste et je n'arrive pas à insérer des variables à savoir remplacer les dates de la requête ('01/01/2008' and '30/01/2008') par deux variables.
Voilà ma requête :select releve_bt.code_pers, releve_bt.duree_mo_hd
from releve_bt where releve_bt.date_pointage between '01/01/2008' and '30/01/2008'
Voilà le code : With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Etat;UID=mabase;PWD=pwde;SERVER=server;", Destination:= _
Range("A3"))
.CommandText = Array( _
"SELECT releve_bt.CODE_PERS, releve_bt.DUREE_MO_HS1" & Chr(13) & "" & Chr(10) & "FROM COLBERT.releve_bt releve_bt" & Chr(13) & "" & Chr(10) & "WHERE (releve_bt.DATE_POINTAGE Between '01/01/2008' And '31/01/2008')" _
)
.Name = "Lancer la requête à partir de Etatl"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
J'ai essayé de remplacer 01/01/2008 par "&date_debut&" mais la syntaxe n'est pas bonne...Quelqu'un sait comment insérer ses variables ?Bonjour,
je souhaite importer des données d'une BDD Oracle dans Excel en bornant ma sélection par des dates.
pour ce faire, j'ai activé l'enregistreur de macro et j'ai créé une requête mais le code retourné est quelque peu indigeste et je n'arrive pas à insérer des variables à savoir remplacer les dates de la requête ('01/01/2008' and '30/01/2008') par deux variables.
Voilà ma requête :select releve_bt.code_pers, releve_bt.duree_mo_hd
from releve_bt where releve_bt.date_pointage between '01/01/2008' and '30/01/2008'
Voilà le code : With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Etats_Ascol;UID=colbert;PWD=pilote;SERVER=colbert;", Destination:= _
Range("A3"))
.CommandText = Array( _
"SELECT releve_bt.CODE_PERS, releve_bt.DUREE_MO_HS1" & Chr(13) & "" & Chr(10) & "FROM COLBERT.releve_bt releve_bt" & Chr(13) & "" & Chr(10) & "WHERE (releve_bt.DATE_POINTAGE Between '01/01/2008' And '31/01/2008')" _
)
.Name = "Lancer la requête à partir de Etats_Ascol"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
J'ai essayé de remplacer 01/01/2008 par "&date_debut&" mais la syntaxe n'est pas bonne...Quelqu'un sait comment insérer ses variables ?
A voir également:
- Excel : varaibles dans requête sql
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
bonjour
Essaies ceci après avoir correctement défini tes variables :
Essaies ceci après avoir correctement défini tes variables :
.CommandText = Array( _ "SELECT releve_bt.CODE_PERS, releve_bt.DUREE_MO_HS1" & Chr(13) & "" & Chr(10) & "FROM COLBERT.releve_bt releve_bt" & Chr(13) & "" & Chr(10) & "WHERE (releve_bt.DATE_POINTAGE Between date_debut And date_fin)" )