Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
17 / 17 / 7
Регистрация: 05.09.2012
Сообщений: 246

Запрос UPDATE работает только со значением Integer

19.03.2017, 19:15. Показов 1091. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане,
помогите советом.
В следующей инструкции вба хочу обновить поле Цена. Но обновление происходит без проблем только если переменная sglPrice указана как Integer. При любом другом типе данных для данной переменной выдает ошибку "Ошибка синтаксиса в инструкции UPDATE"
Пробовал по разному менять тип данных для полей таблиц Prices.Price (откуда берется цена) и Перелік_замовлень.Ціна (куда вставляется цена). Выбирал для обоих полей и двойное с плавающей точкой, и одинарное с плавающей точкой, и денежный. Результат тот же.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub Artik_Dirty(Cancel As Integer)
Dim intOrdNumb As Integer
    Dim intModID As Integer
    Dim sglPrice As Single
    
    
    
    Dim stSQL As String
    
 
    intOrdNumb = Me.Замовлення
    
    intModID = CurrentProject.Connection.Execute("SELECT Перелік_моделей.Артикул " & _
                "FROM Перелік_моделей INNER JOIN (ArtikGr INNER JOIN Перелік_замовлень " & _
                "ON ArtikGr.IDArtikGr = Перелік_замовлень.Артикул) ON Перелік_моделей.Артикул = ArtikGr.ModID " & _
                "WHERE (((Перелік_замовлень.Замовлення)= " & intOrdNumb & "));").Fields(0)
    
    sglPrice = CurrentProject.Connection.Execute("SELECT Max(Price) AS Prc " & _
                "FROM Prices " & _
                "WHERE Prices.ModID= " & intModID & " AND Prices.MaterGrID In  (SELECT OurNamesMat.OurNameID " & _
                "FROM OurNamesMat INNER JOIN ((Material INNER JOIN Mat_OurNames ON " & _
                "Material.IDMater = Mat_OurNames.MatID) INNER JOIN MaterSoldOrd ON " & _
                "Material.IDMater = MaterSoldOrd.MatID) ON OurNamesMat.IDMatNames = Mat_OurNames.NameID " & _
                "WHERE MaterSoldOrd.OrdID= " & intOrdNumb & ");").Fields(0)
    
    stSQL = "UPDATE Перелік_замовлень SET Перелік_замовлень.Ціна = " & sglPrice & " " & _
            "WHERE (((Перелік_замовлень.Замовлення)= " & intOrdNumb & " ));"
    
    CurrentDb.Execute (stSQL)
    Me.Requery
End Sub
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2017, 19:15
Ответы с готовыми решениями:

Не работает запрос Update
всем привет. Задание простое. нужно исправить сдесь ошыбку String qwe, qwe23; qwe23 = textBox2.Text; qwe =...

Не работает UPDATE запрос
$mysqli->real_query("UPDATE user SET gold = 22 WHERE id = 2");

Не работает запрос Update.
Есть база Microsoft Access, в ней есть поле типа DateTime. На форме размещен DateTimePicter. В конструкторе запросов был создан запрос...

2
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
19.03.2017, 19:25
Лучший ответ Сообщение было отмечено AMufu как решение

Решение

Видимо у Вас десятичный разделитель запятая и, вставив переменную как параметр, компилятор обнаруживает запятую и трактует ее как разделитель параметров, потому что в ВБА десятичный разделитель только точка. Надо запятую заменить на точку
Visual Basic
1
2
stSQL = "UPDATE Перелік_замовлень SET Перелік_замовлень.Ціна = " & Replace(sglPrice, ",", ".") & " " & _
            "WHERE (((Перелік_замовлень.Замовлення)= " & intOrdNumb & " ));"
1
17 / 17 / 7
Регистрация: 05.09.2012
Сообщений: 246
19.03.2017, 19:33  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Видимо у Вас десятичный разделитель запятая и, вставив переменную как параметр, компилятор обнаруживает запятую и трактует ее как разделитель параметров, потому что в ВБА десятичный разделитель только точка. Надо запятую заменить на точку
Так и есть. Спасибо большое ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2017, 19:33
Помогаю со студенческими работами здесь

Не работает запрос UPDATE
Возникла такая проблема. Запрос UPDATE работает если все поля Edit заполнены, мне нужно чтобы он работал и с пустыми полями и просто...

Не работает запрос UPDATE
Не работает запрос UPDATE, вот код if ($action == 'edit') { foreach ($_POST as $k => $v) { if (substr($k, 0, 4) == 'chk_') { ...

Не работает запрос Update
Доброго дня, уважаемые форумчане! Ситуация следующая: Есть база данных, таблица agreements, в ней есть поля AgrStatus и AgrBalance. Мне...

Не работает update запрос в функции
Если вставить sql код напрямую в phpmyadmin, она срабатывает. Если использовать в функции, то не работает. В чём может быть ошибка? ...

Sql запрос update не работает
Ну собственно никаких ошибок не выдает, но изменения не вносятся в бд. connection.Open(); string sql =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru