ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problem with varaible dates in SQL query (https://www.excelbanter.com/excel-programming/402120-problem-varaible-dates-sql-query.html)

jim hardwick[_2_]

Problem with varaible dates in SQL query
 
I have a macro in Excel that will import data from a SQL Table this data I
want to be data between two dates/times. Need some code to set the
two dates in two seperate cells on a worksheet and then run the macro. I
have tried posting below from MegaWatt but get compile errors.
Included is the original the code;

'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=DL BATT;UID=sa;PWD=panelview900;APP=Microsoft®
Query;WSID=DGD7K22J;DATABASE=SerialLinks" _
, Destination:=Range("A3"))
.CommandText = Array( _
"SELECT vwOvenData.PushDateTime, vwOvenData.OvenID,
vwOvenData.MaxPush1, vwOvenData.MaxPush2" & Chr(13) & "" & Chr(10) & "FROM
SerialLinks.dbo.vwOvenData vwOvenData" & Chr(13) & "" & Chr(10) & "WHERE
(vwOvenData.PushDateTime={ts '2007-11-29 06:00:00'} And " _
, _
"vwOvenData.PushDateTime<{ts '2007-11-30 06:00:00'})" & Chr(13) & ""
& Chr(10) & "ORDER BY vwOvenData.PushDateTime" _
)
.Name = "Query from DL BATT"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub

RichardSchollar[_2_]

Problem with varaible dates in SQL query
 
Hello Jim

That looks like recorded macro code - on which line does it error?

Richard

On 3 Dec, 16:07, jim hardwick
wrote:
I have a macro in Excel that will import data from a SQL Table this data I
want to be data between two dates/times. Need some code to set the
two dates in two seperate cells on a worksheet and then run the macro. I
have tried posting below from MegaWatt but get compile errors.
Included is the original the code;

'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=DL BATT;UID=sa;PWD=panelview900;APP=Microsoft(R)
Query;WSID=DGD7K22J;DATABASE=SerialLinks" _
, Destination:=Range("A3"))
.CommandText = Array( _
"SELECT vwOvenData.PushDateTime, vwOvenData.OvenID,
vwOvenData.MaxPush1, vwOvenData.MaxPush2" & Chr(13) & "" & Chr(10) & "FROM
SerialLinks.dbo.vwOvenData vwOvenData" & Chr(13) & "" & Chr(10) & "WHERE
(vwOvenData.PushDateTime={ts '2007-11-29 06:00:00'} And " _
, _
"vwOvenData.PushDateTime<{ts '2007-11-30 06:00:00'})" & Chr(13) & ""
& Chr(10) & "ORDER BY vwOvenData.PushDateTime" _
)
.Name = "Query from DL BATT"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub



jim hardwick[_2_]

Problem with varaible dates in SQL query
 
Full Code below - in this version I've included the extra code to use adtes
set in the workbook - error comes from area within ** - Starts at CommandText
= Array( _

Sub GetData()
'
' GetData Macro
' Macro recorded 30/11/2007 by
'
Worksheets("Push Data").Activate
'
Dim s As String, s1 As String
With Worksheets("Push Data")
s = Format(.Range("A1").Value, "yyyy-mm-dd hh:mm:ss")
s2 = Format(.Range("A2").Value, "yyyy-mm-dd hh:mm:ss")
End With

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=DL BATT;UID=sa;PWD=panelview900;APP=Microsoft®
Query;WSID=DGD7K22J;DATABASE=SerialLinks" _
, Destination:=Range("A3"))
** .CommandText = Array( _
"SELECT vwOvenData.PushDateTime, vwOvenData.OvenID,
vwOvenData.MaxPush1, vwOvenData.MaxPush2" & Chr(13) & "" & Chr(10) & "FROM
SerialLinks.dbo.vwOvenData vwOvenData" & Chr(13) & "" & Chr(10) & "WHERE
(vwOvenData.PushDateTime={ts'" & s & _
"'} And
vwOvenData.PushDateTime<{ts'" & s1 & "'})" & Chr(13) & "" & Chr(10)
& "ORDER BY vwOvenData.PushDateTime" _
)
** .Name = "Query from DL BATT"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub


"RichardSchollar" wrote:

Hello Jim

That looks like recorded macro code - on which line does it error?

Richard

On 3 Dec, 16:07, jim hardwick
wrote:
I have a macro in Excel that will import data from a SQL Table this data I
want to be data between two dates/times. Need some code to set the
two dates in two seperate cells on a worksheet and then run the macro. I
have tried posting below from MegaWatt but get compile errors.
Included is the original the code;

'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=DL BATT;UID=sa;PWD=panelview900;APP=Microsoft(R)
Query;WSID=DGD7K22J;DATABASE=SerialLinks" _
, Destination:=Range("A3"))
.CommandText = Array( _
"SELECT vwOvenData.PushDateTime, vwOvenData.OvenID,
vwOvenData.MaxPush1, vwOvenData.MaxPush2" & Chr(13) & "" & Chr(10) & "FROM
SerialLinks.dbo.vwOvenData vwOvenData" & Chr(13) & "" & Chr(10) & "WHERE
(vwOvenData.PushDateTime={ts '2007-11-29 06:00:00'} And " _
, _
"vwOvenData.PushDateTime<{ts '2007-11-30 06:00:00'})" & Chr(13) & ""
& Chr(10) & "ORDER BY vwOvenData.PushDateTime" _
)
.Name = "Query from DL BATT"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub





All times are GMT +1. The time now is 05:30 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com