I am trying to download data from Sage Line100 using vba. If I set about this using MSQuery I can down load the data I want but I have not been able to code this.
My best attempt so far is
Sub DownLoad()
SQLStr = "SELECT SELECT SALES_LEDGER.ACCOUNT_NUMBER, SALES_TRANSACTIONS.SALES_CONTROL_VALUE "
SQLStr = SQLStr & "FROM ACCOUNTING_SYSTEM.SALES_LEDGER SALES_LEDGER, ACCOUNTING_SYSTEM.SALES_TRANSACTIONS SALES_TRANSACTIONS "
SQLStr = SQLStr & "WHERE SALES_LEDGER.THIS_RECORD = SALES_TRANSACTIONS.PARENT_RECORD "
SQLStr = SQLStr & "AND ((SALES_TRANSACTIONS.TRANSACTION_DATE>={d '2017-01-01'}))"
NewSQL "DownLoad", SQLStr
End Sub
Sub NewSQL(ShName, SQLStr)
Sheets(ShName).Visible = True
Const SAGECONN1 As String = "ODBC;DSN=SAGE LINE 100;UID=test;;"
Dim qtSage As QueryTable
Dim rngDest As Range
'Dim strSQL As String
Set rngDest = Sheets(ShName).Range("A1")
Set qtSage = Worksheets(ShName).QueryTables.Add(SAGECONN1, rngDest, strSQL)
qtSage.RefreshStyle = xlOverwiteCells
Sheets(ShName).Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False ********
End Sub
This ends with the error message "Object variable or With block not set" at the line marked********
I have not been able to resolve this and would welcome some help
John
Bookmarks