Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2016, 12:40   #1
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию Перевод запрос на добавление на язык SQL

Добрый день. Есть у меня запрос на добавление. Помогите, пожалуйста, перевести его в SQL вид так, чтобы можно было его запустить через DoCmd.RunSQL в VBA.
Запрос:
Код:
"INSERT INTO operation_group ( link_to_id_group, link_to_id_operation, Material, Material_after )"
"SELECT operation_group.link_to_id_group, [Forms]![operation]![code_operation] AS 1, operation_group.Material, operation_group.Material_after"
"FROM Operation INNER JOIN operation_group ON Operation.Code_operation = operation_group.link_to_id_operation"
"WHERE Operation.Code_operation=150;"
superpsih вне форума Ответить с цитированием
Старый 15.10.2016, 13:33   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В чем собственно проблема?
Код:
s = "INSERT INTO operation_group ( link_to_id_group, link_to_id_operation, Material, Material_after )" & _
"SELECT operation_group.link_to_id_group," & [Forms]![operation]![code_operation] & " AS 1, operation_group.Material, operation_group.Material_after" & _
"FROM Operation INNER JOIN operation_group ON Operation.Code_operation = operation_group.link_to_id_operation" & _
"WHERE Operation.Code_operation=150;"
DoCmd.RunSQL s
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.10.2016, 13:46   #3
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

В чём проблема не понимаю. В ручную запрос запускается, а через vba пишет ошибку: https://yadi.sk/i/CjMgt6KWwt2v8
Запрос получается вот такой:
Код:
INSERT INTO operation_group ( link_to_id_group, link_to_id_operation, Material, Material_after )SELECT operation_group.link_to_id_group,17004 AS 1, operation_group.Material, operation_group.Material_afterFROM Operation INNER JOIN operation_group ON Operation.Code_operation = operation_group.link_to_id_operationWHERE Operation.Code_operation=150;
И если на основе такого запроса построить запрос, то он уже не выполняется.
superpsih вне форума Ответить с цитированием
Старый 15.10.2016, 13:48   #4
superpsih
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 74
По умолчанию

Всё. Заработало! Надо было добавить пробелы перед словами Select, From и Where. Спасибо!
superpsih вне форума Ответить с цитированием
Старый 15.10.2016, 14:28   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Показали бы скриншот ошибки в 1м сообщении, отвел получили бы во 2м
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос SQL на добавление записи Marla14 БД в Delphi 21 30.05.2015 23:27
Перевод кода c языка Pascale в язык PHP или в язык JavaScript Javlonka JavaScript, Ajax 1 30.09.2014 22:48
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15