2016-08-11 5 views
-1
Private Sub cmdSave_Click() 

'CHECKING FOR VALID QUANTITY ENTERED BY USER' 

If IsNull(Me![INCOMING_QTY]) And IsNull(Me![OUTGOING_QTY]) Then 
MsgBox "Must Enter Valid Quantity." 
Me!INCOMING_QTY.SetFocus 

'VERIFYING THAT WORKORDER IS NEW' 

ElseIf DCount("BASE_ID", "DBO_Paint_Room", "BASE_ID = '" & Me!BASE_ID & "' AND PART_ID = '" & Me!PART_ID & "'") = 0 Then 

'INSERTING NEW WORKORDER INTO SQL TABLE FROM FORM FIELDS' 

CurrentDb.Execute "INSERT INTO [DBO_Paint_Room] ([BASE_ID],[PART_ID],[DESCRIPTION],[USER_1],[DESIRED_QTY],[DESIRED_WANT_DATE],[RECEIVED_QTY],[CURRENT_QTY],[LAST_UPDATE_DATE]) " _ 
& "VALUES ('" & Me![BASE_ID] & "','" & Me![PART_ID] & "','" & Me![DESCRIPTION] & "','" & Me![USER_1] & "'," & Me![DESIRED_QTY] & "," & Nz(Me![DESIRED_WANT_DATE], "Null") & "," & Me![RECEIVED_QTY] & "," & Nz(Me![INCOMING_QTY], "Null") & ",NOW())" 

Это верхняя часть Sub, которая вставляет данные в таблицы SQL Server. Я построил этот код за пределами Access 2010 и SQL Server Express 2014. Он отлично работает в этой среде, но когда я скопировал код в новый экземпляр Access 2007 на месте, он ничего не делает. Нет ошибок и нет вставки, ничего. Я изменил его, чтобы использовать сохраненные «SQLstr» и DoCmd.RunSQL, но затем он выдает ошибку несоответствия типа. Может ли кто-нибудь дать мне некоторое представление о том, что я делаю неправильно? Исходный код таблицы SQL-кода точно такой же, как в тестовой версии. Соединение ODBC использует стандартный драйвер SQL Server.Вставка в таблицу SQL Server с использованием VBA не выполняется с Access 2007 и SQL Server 2008

ответ

0

Просто пошел с DoCmd.OpenQuery и сохраненным запросом на вставку Access. Он работает сейчас.

Смежные вопросы