D
drinese18
I am basically trying to get data from an SQL database, you can see my code
below:
Sub SPICEdownload_indexvalue()
'On Error GoTo datapullerr
Dim wk As Workbook
Dim data As Worksheet, para As Worksheet
Dim Sql$
Set wk = ThisWorkbook
Set data = wk.Sheets("SPICE idxval")
Dim wrkodbc As Workspace
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim r As Range
Dim ts As String
Set wrkodbc = CreateWorkspace("NewODBCWorkspace", _
"admin", "", dbUseODBC)
Set db = wrkodbc.OpenDatabase("Spice", , ,
"ODBC;DSN=SPICE;UID=EQIQRY;pwd=eqiqry;SERVER=PSDR1.MHF2.MHF.MHC;")
ts = ""
i = 3
While Trim(data.Cells(i, 1)) <> ""
ts = ts & IIf(ts <> "", "or ", "") & "(Index_id = " & Trim(data.Cells(i,
1)) & " and index_date='" & _
Format(Trim(data.Cells(i, 2)), "dd-MMM-yyyy") & "') "
i = i + 1
Wend
Sql = "select a.index_id, a.index_date, a.close_index_value,
b.index_dividend from daily_index_values a, index_dividend b where" & ts & "
a.index_id = b.index_id order by index_id"
Set rs = db.OpenRecordset(Sql, dbOpenSnapshot)
i = 3
While Trim(data.Cells(i, 1)) <> ""
data.Range("A" & i & ":C" & i & "" & i) = Array(rs!index_id,
rs!index_date, rs!close_index_value, rs!index_dividend)
rs.MoveNext
i = i + 1
Wend
rs.Close
db.Close
Set sb = Nothing
Set rs = Nothing
End Sub
Private Sub CommandButton1_Click()
SPICEdownload_indexvalue
End Sub
My code works partially, if I put a more simple SQL statement in it to just
pull up values from one table it works ok and posts the values to the Excel
sheet, but when I try to create a query through the statement, it basically
brings up an error, the SQL statement work perfectly alone, but when it is
incorporated into Excel it just brings up an error at the Snapshot section,
I've tried everything and I am currently at a loss, can anyone help me with
this, any help will be greatly appreciated,
Thank you.
below:
Sub SPICEdownload_indexvalue()
'On Error GoTo datapullerr
Dim wk As Workbook
Dim data As Worksheet, para As Worksheet
Dim Sql$
Set wk = ThisWorkbook
Set data = wk.Sheets("SPICE idxval")
Dim wrkodbc As Workspace
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim r As Range
Dim ts As String
Set wrkodbc = CreateWorkspace("NewODBCWorkspace", _
"admin", "", dbUseODBC)
Set db = wrkodbc.OpenDatabase("Spice", , ,
"ODBC;DSN=SPICE;UID=EQIQRY;pwd=eqiqry;SERVER=PSDR1.MHF2.MHF.MHC;")
ts = ""
i = 3
While Trim(data.Cells(i, 1)) <> ""
ts = ts & IIf(ts <> "", "or ", "") & "(Index_id = " & Trim(data.Cells(i,
1)) & " and index_date='" & _
Format(Trim(data.Cells(i, 2)), "dd-MMM-yyyy") & "') "
i = i + 1
Wend
Sql = "select a.index_id, a.index_date, a.close_index_value,
b.index_dividend from daily_index_values a, index_dividend b where" & ts & "
a.index_id = b.index_id order by index_id"
Set rs = db.OpenRecordset(Sql, dbOpenSnapshot)
i = 3
While Trim(data.Cells(i, 1)) <> ""
data.Range("A" & i & ":C" & i & "" & i) = Array(rs!index_id,
rs!index_date, rs!close_index_value, rs!index_dividend)
rs.MoveNext
i = i + 1
Wend
rs.Close
db.Close
Set sb = Nothing
Set rs = Nothing
End Sub
Private Sub CommandButton1_Click()
SPICEdownload_indexvalue
End Sub
My code works partially, if I put a more simple SQL statement in it to just
pull up values from one table it works ok and posts the values to the Excel
sheet, but when I try to create a query through the statement, it basically
brings up an error, the SQL statement work perfectly alone, but when it is
incorporated into Excel it just brings up an error at the Snapshot section,
I've tried everything and I am currently at a loss, can anyone help me with
this, any help will be greatly appreciated,
Thank you.