Я хочу вставить счета, созданные в Microsoft Access, в QuickBooks с использованием VBA SQL
Ниже приведен SQL-запрос, который выполняется (buttonA) должен сохранить invoiceLine в кеше (FQSaveToCache), который, по-видимому, делает это, но когда я запускаю запрос для (buttonB), я получаю сообщение об ошибке:
Ошибка времени выполнения-2147467259 (80004005) ':
[QODBC] Не поддерживается - требуется как минимум одна строка. Пожалуйста, вставьте детскую / детальную (ые) запись (записи) перед вставкой записи родителя / заголовка Для получения более подробной информации, пожалуйста, посетите: godbc.comilinks / 2953
Также обратите внимание, что следующие запросы выполняются правильно и работают в Access Query Designer.
buttonA Код:
Option Compare Database
Private Sub buttonA_Click()
Const adOpenStatic = 3
Const adLockOptimistic = 3
Dim oConnection
Dim oRecordset
Dim sMsg
Dim sConnectString
Dim sSQL
items = Forms.InvoiceForm.itemName
description = Forms.InvoiceForm.description
rate = Forms.InvoiceForm.rate
amount = Forms.InvoiceForm.amount
sConnectString = "DSN=Quickbooks Data;OLE DB Services=-2;"
sSQL = "INSERT INTO InvoiceLine (InvoiceLineItemRefListID, InvoiceLineDesc, InvoiceLineRate, InvoiceLineAmount, InvoiceLineSalesTaxCodeRefListID, FQSaveToCache) VALUES ('80002436-1519061496', 'Building permit 1', 1.00000, 1.00, '80000001-1478562826', 1)"
Set oConnection = CreateObject("ADODB.Connection")
Set oRecordset = CreateObject("ADODB.Recordset")
oConnection.Open sConnectString
oConnection.Execute (sSQL)
sMsg = sMsg & "Invoice details were gathered!"
MsgBox sMsg
End Sub
кнопкаB Код:
Option Compare Database
Private Sub buttonB_Click()
Const adOpenStatic = 3
Const adLockOptimistic = 3
Dim oConnection
Dim oRecordset
Dim sMsg
Dim sConnectString
Dim sSQL
sConnectString = "DSN=Quickbooks Data;OLE DB Services=-2;"
sSQL = "INSERT INTO Invoice (CustomerRefListID, ARAccountRefListID, TxnDate, RefNumber, BillAddressAddr1, BillAddressAddr2, BillAddressCity, BillAddressState, BillAddressPostalCode, BillAddressCountry, IsPending, TermsRefListID, DueDate, ShipDate, ItemSalesTaxRefListID, [Memo], IsToBePrinted, CustomerSalesTaxCodeRefListID) VALUES ('800001F6-1482536280', '8000001E-1478562986', {d '2020-09-23'}, '1', 'Brad Lamb', '1921 Appleseed Lane', 'Bayshore', 'CA', '94326', 'USA', 0, '80000002-1478562832', {d '2020-10-31'}, {d '2020-10-01'}, '8000295C-1541711590', 'Memo Test', 0, '80000001-1478562826')"
Set oConnection = CreateObject("ADODB.Connection")
Set oRecordset = CreateObject("ADODB.Recordset")
oConnection.Open sConnectString
oConnection.Execute (sSQL)
sMsg = sMsg & "Invoice was Sent to QuickBooks"
MsgBox sMsg
End Sub
buttonA - это дочерний элемент, который должен добавить к своей необходимой таблице, а также сохранить в кэш с помощью FQSaveToCache
Несмотря на это, я не понимаю, почему я получаю эту ошибку.