Как прокомментировал и опубликовал @Minty, ваши даты являются проблемой.
Нет двух одинаковых диалектов SQL, но большинство пытаются соответствовать стандартам ANSI. Следовательно, одни и те же запросы могут завершаться ошибкой между Query Designer и VBA.
Даты MS Access, если они отправлены буквально, должны быть заключены в хэштеги, #
:
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', #9/23/2020#, '1', 'Brad Lamb',
'1921 Appleseed Lane', 'Bayshore', 'CA', '94326', 'USA', 0, '80000002-1478562832',
#10/31/2020#, #10/01/2020#, '8000295C-1541711590',
'Memo Test', 0, '80000001-1478562826')
В качестве альтернативы используйте CDate()
для преобразования строки в дату: 1119]
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', CDate('9/23/2020'), '1', 'Brad Lamb',
'1921 Appleseed Lane', 'Bayshore', 'CA', '94326', 'USA', 0, '80000002-1478562832',
CDate('10/31/2020'), CDate('10/01/2020'), '8000295C-1541711590',
'Memo Test', 0, '80000001-1478562826')
В Quickbooks вы должны придерживаться требования даты {d 'YYYY-MM-DD'}
или функциональной формы fncqbDate()
. Однако документация по этим методам редко встречается и может варьироваться в зависимости от версии драйвера ODBC.
sql = "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')"
С учетом сказанного, даже если вышеприведенное не работает, это еще одна веская причина для параметризации, отраслевого стандарта программирования для любого прикладного уровня, например VBA, для запуска SQL. Параметризация облегчает сопоставление типов данных между клиентом и сервером без необходимости заключать в кавычки или другие символические замыкания. ADO поддерживает параметры с помощью метода CreateParameter внутри объекта ADO Command (не для набора записей ADO).
' PREPARED STATEMENT WITH PLACEHOLDERS (NO LITERAL DATA)
sql = "INSERT INTO Invoice (CustomerRefListID, ARAccountRefListID, TxnDate, RefNumber, " _
& " BillAddressAddr1, BillAddressAddr2, BillAddressCity, " _
& " BillAddressState, BillAddressPostalCode, BillAddressCountry, " _
& " IsPending, TermsRefListID, DueDate, ShipDate, " _
& " ItemSalesTaxRefListID, [Memo], IsToBePrinted, " _
& " CustomerSalesTaxCodeRefListID) " _
& " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?," _
& " ?, ?, ?, ?, ?, ?, ?, ?, ?)"
' OPEN CONNECTION
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Open sConnectString
' INITIALIZE AND RUN COMMAND
Set oCmd = CreateObject("ADODB.Command") ' NEW ADO OBJECT
With oCmd
.ActiveConnection = oConnection
.CommandText = sql
.CommandType = adCmdText
' BIND PARAMETERS
.Parameters.Append .CreateParameter("pm1", adVarChar, adParamInput, ,"800001F6-1482536280")
.Parameters.Append .CreateParameter("pm2", adVarChar, adParamInput, ,"8000001E-1478562986")
.Parameters.Append .CreateParameter("pm3", adDate, adParamInput, , CDate("9/23/2020"),
.Parameters.Append .CreateParameter("pm4", adVarChar, adParamInput, ,"1")
.Parameters.Append .CreateParameter("pm5", adVarChar, adParamInput, ,"Brad Lamb")
.Parameters.Append .CreateParameter("pm6", adVarChar, adParamInput, ,"1921 Appleseed Lane")
.Parameters.Append .CreateParameter("pm7", adVarChar, adParamInput, ,"Bayshore")
.Parameters.Append .CreateParameter("pm8", adVarChar, adParamInput, ,"CA")
.Parameters.Append .CreateParameter("pm9", adVarChar, adParamInput, ,"94326")
.Parameters.Append .CreateParameter("pm10", adVarChar, adParamInput, ,"USA")
.Parameters.Append .CreateParameter("pm11", adInteger, adParamInput, , 0)
.Parameters.Append .CreateParameter("pm12", adVarChar, adParamInput, ,"80000002-1478562832")
.Parameters.Append .CreateParameter("pm13", adDate, adParamInput, , CDate("10/31/2020"))
.Parameters.Append .CreateParameter("pm14", adDate, adParamInput, , CDate("10/01/2020"))
.Parameters.Append .CreateParameter("pm15", adVarChar, adParamInput, ,"8000295C-1541711590")
.Parameters.Append .CreateParameter("pm16", adVarChar, adParamInput, ,"Memo Test")
.Parameters.Append .CreateParameter("pm17", adInteger, adParamInput, ,0)
.Parameters.Append .CreateParameter("pm18", adVarChar, adParamInput, ,"80000001-1478562826")
' RUN PARAMETERIZED QUERY
.Execute
End With
oConnection.Close
Set oCmd = Nothing: Set oConnection = Nothing
Это кажется, что Вы уже выбрали формат документа, который является HTML на основе разметки MediaWiki.
Также необходимо генерировать Диаграммы сущностей и связей, которые являются полезными дополнениями к документации базы данных (хотя ERD's не рассказывает целую историю ни один).
Вы имеете в виду организацию документа, т.е. какие заголовки и содержание должны быть включены в каждую страницу?
Вот некоторые предложения:
Структура таблицы
Отношения к другим таблицам
Использование таблицы
Существуют другие вопросы в StackOverflow, которые являются очень близко к этому.
Вы могли бы хотеть взглянуть на то, что коммерческие поставщики делают относительно этого. Как Bill сказал, Вам, конечно, нужна схема ER. Коммерческие продукты для взгляда на могли включать ER/Studio Причала, Красный Логический элемент SQL Doc, Разработчик Питания и другие.