2013-04-03 2 views
1

Когда я запускаю этот код, я все время получаю поле ввода «Введите значение параметра».Введите значение параметра при использовании SQL в Access VBA

Private Sub UpdateTables() 
Dim strSQL As String 
strSQL = "update tblTest,ImportedTable set tblTest.Unit_Cost=ImportedTable.Unit_Cost where tblTest.Part_No=ImportedTable.Part_No" 
DoCmd.RunSQL strSQL 
End Sub 

Коробка показывает на tblTest.Unit_Cost, ImportedTable.Unit_Cost, tbltTest.Part_No и ImportedTable.Part_No.

Существуют две таблицы, tblTest и ImportedTable и написаны правильно. Unit_Cost и Part_No оба имеют пробелы в именах полей (я знаю, что это ужасно), поэтому «_» ссылается на них. Я попытался снять пространство и повторить код, но это не исправить.

Любые мысли о том, что я делаю неправильно? Спасибо!

+1

использовать '[]' имена полей с пробелами - например. 'ImportedTable. [Unit Cost]' – SeanC

ответ

3

В MS Access вы должны указывать имена полей в скобках [], когда поле содержит пробелы.

Private Sub UpdateTables() 
Dim strSQL As String 
strSQL = "update tblTest,ImportedTable set tblTest.[Unit Cost]=ImportedTable.[Unit Cost] where tblTest.[Part No]=ImportedTable.[Part No]" 
DoCmd.RunSQL strSQL 
End Sub 
+0

Так оно и было. Благодаря! – user2240870

+0

Вы можете поприветствовать вас. Пожалуйста, отметьте этот ответ как принято, чтобы другие знали, что решение было предоставлено. – Taliesin

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