Страницы: 1
RSS
Изменение полей таблиц Access (UPDATE)
 
Всем привет!
В таблицу Access из 8 полей нужно внести(изменить) значения в 2 поля в определенной строке таблицы. Делаю это через макрос в VBA. Если с добавлением полной строки со всеми полями проблем нет, то с добавлением в конкретную строку одного или 2-х значений проблема. Помогите SQL запрос подправить.

Код
strSQL = "INSERT INTO User_data (SIG_2,SN2) VALUES ('" & sig_2 & "','" & sn2 & "') SELECT * FROM User_data WHERE  email = '" & email & "';"
 
Компилятор говорит, что пропущен символ ; в конструкции SQL
Изменено: IvanSh - 27.12.2014 00:18:31
 
А конечный SQL запрос можно показать (что в strSQL)?
There is no knowledge that is not power
 
Цитата
Johny пишет: А конечный SQL запрос можно показать (что в strSQL)?
Это и есть конечный запрос. Пролистайте в конец бегунок.
После идет уже его выполнение. Перенес в 2 строки запрос ( у меня в одну строку все)

strSQL = "INSERT INTO User_data (SIG_2, SN2) VALUES ('" & sig_2 & "','" & sn2 & "')
SELECT * FROM User_data WHERE  email = '" & email & "';"

cn.Execute strSQL
Изменено: IvanSh - 26.12.2014 23:47:16
 
Цитата
IvanSh пишет: с добавлением в конкретную строку одного или 2-х значений
это как? я всегда думал, что изменение отдельных полей в существующей записи выполняется с помощью UPDATE, а не INSERT
или о чём Вы?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ВСЕ верно, я забыл SQL просто )) если не сложно поправьте как будет запрос выглядеть ))
 
Цитата
IvanSh пишет: Это и есть конечный запрос. Пролистайте в конец бегунок.
Конечный запрос - это то, что хранится в переменной strSQL после присвоения ему значения. Так понятнее?
There is no knowledge that is not power
 
сорри, не скажу.
я настолько редко пользуюсь чем-либо, кроме SELECT-а, что сам всегда лезу в Jet-овскую справку.
единственный момент - изменяемую запись надо однозначно идентифицировать.
желательно - по первичному ключу.
а этого отсюда вообще не видно.
да и вообще мало что видно.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
А вообще по смыслу запроса вы выбираете данные из одной таблицы, чтобы вставить в другую. Только я не уверен, что данный запрос это делает, так как количество столбцов должно быть 2 в "SELECT * FROM User_data". :)
There is no knowledge that is not power
 
Все спс ikki за замечание, сам запрос подправил ))

strSQL = "UPDATE User_data SET SIG_2 = '" & sig_2 & "', SN2 ='" & sn2 & "' WHERE  [email] = '" & email & "';"

Про первичный ключ тоже все верно, но у меня нет сложных связей в таблицах, просто нужно из полученной ексель формы макросом(надстройкой) подправить данные в существующей строке таблицы в access. А так как емайл уникален, то и строка такая одна. Понятно что говно-архитектура, но на первом этапе пойдет, главное пока автоматизировать сохранение данных.
Можно конечно SELECTом подтянуть наружу уникальный ID записи в какой-нить невидимый Label на форме и с ним уже работать ))
Изменено: IvanSh - 27.12.2014 00:10:12
 
название темы, конечно, вообще ни к селу ни к городу
поправить бы...  :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Автор, я так и не понял, что вы хотели и что у вас получилось.
There is no knowledge that is not power
 
Цитата
ikki пишет:
поправить бы
Каким образом? )
 
Цитата
Johny пишет: Автор, я так и не понял, что вы хотели и что у вас получилось.
Хотел в существующей записи в таблице базы данных изменить значения полей по определенному критерию. Все сложилось удачно )
 
Цитата
ikki пишет: поправить бы..
Еще бы я знал как тему подправлять, с ходу не нашел.
 
И с двух ходов не найдёте))
 
IvanSh, это я не Вам.
Цитата
Юрий М пишет: Каким образом? )
а вот тут могут быть варианты :)
ибо, по сути, к экселю тема имеет ну о-о-очень отдалённое отношение.
так что можно и в курилку.
а обозвать... "изменение полей таблиц Access (UPDATE)"
:?:
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Изменяю и переношу.
Страницы: 1
Наверх