I have created an 2007 Excel spreadsheet
Here is the macro:
Const adOpenStatic = 3 Const adLockOptimistic = 3 Const adUseClient = 3 Dim oConnection Dim oRecordset Set oConnection = CreateObject("ADODB.Connection") Set oRecordset = CreateObject("ADODB.Recordset") oConnection.Open "DSN=Quickbooks Data;OLE DB Services=-2" oRecordset.CursorLocation = adUseClient oRecordset.Open "SELECT InvoiceLine.TxnNumber, InvoiceLine.CustomerRefListID, InvoiceLine.CustomerRefFullName, InvoiceLine.TxnDate, InvoiceLine.RefNumber, InvoiceLine.PONumber, InvoiceLine.FQSaveToCache, InvoiceLine.InvoiceLineType, InvoiceLine.InvoiceLineSeqNo, InvoiceLine.InvoiceLineItemRefFullName, InvoiceLine.InvoiceLineDesc, InvoiceLine.InvoiceLineQuantity, InvoiceLine.InvoiceLineRate, InvoiceLine.InvoiceLineAmount, InvoiceLine.CustomFieldInvoiceLineOther1 FROM InvoiceLine InvoiceLine WHERE (InvoiceLine.PONumber='T481')", oConnection, adOpenStatic, adLockOptimistic oRecordset.Open "INSERT INTO INVOICELINE (PONumber,InvoiceLineType,InvoiceLineItemRefFullName,InvoiceLineDesc,InvoiceLineQuantity,InvoiceLineRate,CustomFieldInvoiceLineOther1,FQSaveToCache, CustomerRefListId,CustomerRefFullName,TxnDate,RefNumber) VALUES ( 'T481','Item','Vinyl','01201a - 41.25"" Crown Football',3,50.220,'06173',0,'1D00000-1206727740','DC Media',{d'2009-01-20'},'2')", oConnection, adOpenStatic, adLockOptimistic
oRecordset.Close oConnection.Close
I can not figure out why this does not work. Without the insert statement, it should at least return something. It returns data but it is not the data from my select. It returns other data from the invoice line table. It is as if it is using another connection query.
If I try to re-run query I get the message Operation not allowed when open on INSERT. Do I mis-understand macros completely. |