|
Вопрос # 6 194/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Как организовать запись из ComboBox в базу Access?
Есть 2 ComboBox, надо чтобы (при нажатии кнопки) значения выбранные в них записались в базу Access.
 |
Вопрос задал: Andreev (статус: Посетитель)
Вопрос отправлен: 13 июня 2012, 16:08
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 9; последнее сообщение — 14 июня 2012, 11:38; участников в обсуждении: 3.
|
Driver_09 (статус: Посетитель), 13 июня 2012, 16:35 [#1]:
я так понимаю через ADO работаете?
а что типа такого не срабатывает:
AdoTable.FieldByName('<имя_поля>').Value:=Combobox.Text; ?
|
|
Andreev (статус: Посетитель), 13 июня 2012, 17:17 [#2]:
да, работаю через ADO
писал вот так:
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='Select * From Tab_Avtoriz';
ADOQuery1.Active:=True; ADOQuery1.FieldByName('Name_Krit').Value:=ComboBoxKrit.Text;
ADOQuery1.FieldByName('Naprawlenie').Value:=ComboBox1.Text;
при компиляции все нормально, а при выполнении вылазит ошибка:
'ADOQuery1:Field 'Name_Krit' not found'
|
|
Driver_09 (статус: Посетитель), 13 июня 2012, 18:19 [#3]:
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='Select * From Tab_Avtoriz';
ADOQuery1.Active:=True;
ADOQuery1.Insert;
ADOQuery1.FieldByName('Name_Krit').Value:=ComboBoxKrit.Text;
ADOQuery1.FieldByName('Naprawlenie').Value:=ComboBox1.Text;
ADOQuery1.Post;
Должно это все добавляться из выпадающего комбобокс))
|
|
Andreev (статус: Посетитель), 13 июня 2012, 18:32 [#4]:
ошибка все равно остается,
но все равно спасибо за помощь
|
|
Driver_09 (статус: Посетитель), 13 июня 2012, 18:43 [#5]:
тогда попробуйте вместо звездочки написать поля целиком, т.е. так:
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='Select Name_Krit, Naprawlenie From Tab_Avtoriz';
ADOQuery1.Active:=True;
ADOQuery1.Insert;
ADOQuery1.FieldByName('Name_Krit').Value:=ComboBoxKrit.Text;
ADOQuery1.FieldByName('Naprawlenie').Value:=ComboBox1.Text;
ADOQuery1.Post;
Ну и на всякий случай, в таблице сколько всего полей?
|
|
Andreev (статус: Посетитель), 13 июня 2012, 18:58 [#6]:
вообще 7 полей
|
|
Driver_09 (статус: Посетитель), 13 июня 2012, 19:07 [#7]:
в остальные 5 полей информация тоже заносится, но только не из комбобокса, правильно понимаю?
Еще встречался с такой проблемой, что квери не добавлял информацию...Выход был такой, на DBDrid, щелкнуть по нему 2 раза, а затем добавить все поля (правой кнопкой, затем нажать Add all Fields). Тогда вот он добавлял. Попробуйте еще так. Больше не знаю в чем проблема
|
|
Мережников Андрей (статус: Абитуриент), 14 июня 2012, 11:34 [#8]:
а не проще использовать специально предназначенные для модификации/добавления записей SQL-команды update и insert, вместо того, чтобы городить огород с кучей методов ADOQuery?
|
|
Мережников Андрей (статус: Абитуриент), 14 июня 2012, 11:38 [#9]:
INSERT INTO tab_avtoriz (имена полей, в которые заносятся значения) VALUES (значения, которые надо занести в поля)
UPDATE tab_avtoriz SET (имя поля1)=(значение),(имя поля2)=(значение) ...
WHERE (условия для идентификации модифицируемой записи, чтобы не изменить все записи подряд)
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|