Как установить ввод значения комментария TextBox как вставку данных таблицы в MS Access VBA - PullRequest
0 голосов
/ 11 октября 2018

У меня есть основная "финальная таблица", которая обновляется через VBA на основе множества входных данных формы и других данных таблиц.Я пытаюсь вызвать значение объекта TextBox, существующее в форме, для кода VBA, чтобы пользователь мог добавить комментарий ко всем данным, вставляемым в итоговую таблицу.

Dim strComment As String
strComment = TextBox_Comment.Value

strSQL = "INSERT INTO Main_Table (Period, Monthp, Order, Comment)"
strSQL = strSQL & "SELECT ""Weekly"" AS Period, [001_SelectedMonth].Monthp, [001_OrderTable].Order, strComment AS Comment FROM 001_SelectedMonth, 001_OrderTable;"

CurrentDb.Execute strSQL, dbFailOnError

Код работает нормально, когда яудалите и «Комментарий» из точек вставки основной таблицы, и часть кода «Комментарий strComment AS».В противном случае я получаю сообщение об ошибке «3061», слишком мало параметров.Ожидаемый 1.

Вопрос : есть ли у меня способ вызвать значение текстового поля для вставки в базу данных в качестве поля данных для всех добавляемых данных, или я должен использовать другойспособ сделать это?

Пример финального стола:

Final Table

1 Ответ

0 голосов
/ 11 октября 2018

Вам нужен пробел и правильная конкатенация:

strSQL = "INSERT INTO Main_Table ([Period], Monthp, [Order], [Comment]) "
strSQL = strSQL & "SELECT 'Weekly' AS [Period], [001_SelectedMonth].Monthp, [001_OrderTable].Order, '" & strComment & "' AS [Comment] FROM 001_SelectedMonth, 001_OrderTable;"

При этом используйте параметры, чтобы избежать конкатенации.

...