Этот запрос не сохраняется в кэш-памяти должным образом? - PullRequest
0 голосов
/ 16 января 2019

Я хочу вставить счета, созданные в 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

Несмотря на это, я не понимаю, почему я получаю эту ошибку.

...