powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос на обновление
10 сообщений из 10, страница 1 из 1
запрос на обновление
    #39862294
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Почему этот код не работает? Я хочу обновить таблицу . К сумме добавить новую сумму. Данные хочу взять из полей ленточной формы. Пишет введите значение параметра (и мои переменные). Ставлю точку останова, значения переменных правильные, то есть код поля читает. Но почему то не работает.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Form_AfterUpdate()
Dim SQL As String
Dim deb_acc_id As Integer
Dim sum As Currency
deb_acc_id = Me.DtAccID.Value
sum = Me.Summa.Value
SQL = "UPDATE tblAccounts Set Debet = Debet + sum WHERE (tblAccounts.ID) = deb_acc_id"
DoCmd.RunSQL SQL
End Sub
...
Рейтинг: 0 / 0
запрос на обновление
    #39862300
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp
Патамучта.....Переменную SQL перед docmd в отладчике посмотрите - все сразу поймете.....
...
Рейтинг: 0 / 0
запрос на обновление
    #39862317
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, не понимаю. В переменной моя строка. Ну и что?
...
Рейтинг: 0 / 0
запрос на обновление
    #39862323
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VBA не будет подставлять значения переменных в литерал - это не PHP. И квотить их не будет.
...
Рейтинг: 0 / 0
запрос на обновление
    #39862330
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeansspSerg197311, не понимаю. В переменной моя строка. Ну и что?
SUM там не цифра, а стринг "SUM". А SQL не знает, чо это да как. Вот и считает что это параметр и спрашивает его.
...
Рейтинг: 0 / 0
запрос на обновление
    #39862367
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Вы почитайте соглашение про имена переменных и ответьте на вопрос можно ли её обозвать SUM ?
да и запрос должен быть:
Код: vbnet
1.
2.
peremen=me.debet + что-то
CurrentDB.Execute "UPDATE tblAccounts Set Debet =" & peremen & " WHERE tblAccounts.ID =" & deb_acc_id
...
Рейтинг: 0 / 0
запрос на обновление
    #39862372
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeansspSerg197311, не понимаю. В переменной моя строка. Ну и что?а Debet какого типа?
...
Рейтинг: 0 / 0
запрос на обновление
    #39862392
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, Debet - денежный
...
Рейтинг: 0 / 0
запрос на обновление
    #39862404
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jeanssp,
ну и формируйте строку-текст запроса как предложено (конкатенацией "&")
Все должно заработать
...
Рейтинг: 0 / 0
запрос на обновление
    #39862443
Код: vbnet
1.
2.
3.
sum = Me.Summa.Value
SQL = "UPDATE tblAccounts Set Debet = Debet +" & Str(sum) & " WHERE (tblAccounts.ID) = deb_acc_id"
DoCmd.RunSQL SQL

В запросе десятичный разделитель всегда ".". Функция Str это делает.
А вообще для редактирования одной или небольшого кол-ва записей лучше открыть Recordset и изменить запись там.
Да и применение DoCmd.RunSQL - не лучшее решение.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос на обновление
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]