У меня есть таблица со столбцом NUMBER под названием «Цена». У меня также есть форма с текстовым полем, в котором пользователь вводит процент (например, 0,9), и кнопка, которая при нажатии будет умножать все записи в Price на это число из текстового поля. У меня это не работает.
Эти первые 2 примера предназначены только для проверки основного случая, который вообще не является переменной.
Dim strSQL As String
Dim dbs As DAO.Database
Set dbs = CurrentDb
strSQL = "UPDATE table_name SET Price = 20;"
dbs.Execute strSQL
Я попробовал вышеописанное, но умножил цену на 20 следующим образом: (это работает)
strSQL = "UPDATE table_name SET Price = Price * 20;"
Я знаю, что переменная работает, написав следующие строки:
Dim textVariable AS Double
Textbox.SetFocus
textVariable = Textbox
MsgBox (textVariable)
Но это не работает внутри оператора SQL:
Dim textVariable As Double
Dim strSQL As String
Dim dbs As DAO.Database
Set dbs = CurrentDb
Textbox.SetFocus
textVariable = Textbox
strSQL = "UPDATE table_name SET Price = Price * textVariable;"
dbs.Execute strSQL
Сообщение об ошибке: «Ошибка времени выполнения« 3061 »- слишком мало параметров, ожидается 1». В режиме отладки "dbs.Execute strSQL" выделен желтым цветом.