Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277

Добавление записи в БД Access в разные таблицы одной кнопкой

13.06.2021, 20:25. Показов 3206. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, кто в теме помогите разобраться.. Необходимо добавить в разные таблицы в зависимости от значения в DBcombobox1 (значения DBcombobox1 соответствуют названиям таблиц в БД) записи из нескольких других DBcombobox на этой же форме по нажатию кнопки.

Этот вопрос давно разжеван, но с БД вообще первый раз связался и не очень понял пока как с ним работать, да и в программировании относительно новичек, поэтому прошу сильно не пинать.

Пример который сам написал не работает (ошибка ADOQuery2: DataSet not in edit or insert mode) - хотел сначала с одного DBComboBox записать в 2 одинаковые по столбцам, но разными названиями таблицы, а потом доработать. В 1 таблицу добавляет, но во 2 не хочет.


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i:string;
 
begin
 
form1.ADOQuery1.Post;
form1.ADOQuery1.Append;
 
 
 i:= DBComboBox1.text;
 
form6.ADOQuery2.Post;
form6.ADOQuery2.Append;
Form6.ADOQuery2.FieldByName('ФИО').AsString := i;
 
 
  Begin
     Form7.Label2.Caption:=i;     //тестовое окно
     Form7.Show;
  end;
 
end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2021, 20:25
Ответы с готовыми решениями:

Добавление записи в 2 не связанные таблицы одной кнопкой
Добрый вечер! Помогите не опытному пожалуйста. Ситуация такая, есть 2 таблицы, они не связаны, но данные в них обновляются через запрос....

Добавление данных из одной формы в разные таблицы
Уважаемые гуру Access, помогите плиз. Задача - надо из одной (а может двух - ?) формы добавить информацию в разные, но связанные между...

Разные таблицы одной БД (access) в DBGrid
Привет, никак не могу решить задачу: Есть поле ListBox в которое записываются таблицы БД Запись производится так: ...

23
561 / 230 / 88
Регистрация: 11.07.2015
Сообщений: 817
14.06.2021, 14:26
Студворк — интернет-сервис помощи студентам
Так хотел? Все подключения к базе динамические. Лишние ADOConnection убраны.
Вложения
Тип файла: rar WorkTimer.rar (3.03 Мб, 2 просмотров)
0
6003 / 4578 / 1096
Регистрация: 29.08.2013
Сообщений: 28,276
Записей в блоге: 3
14.06.2021, 14:51
7ая строка говорит - выведи мне все колонки из таблицы Таблица2
8ая говорит - прямо сейчас

а старички на 10 и 11 - бубнят что то свое и не в ту сторону
0
9 / 14 / 0
Регистрация: 10.01.2014
Сообщений: 277
20.06.2021, 23:28  [ТС]
Цитата Сообщение от UR1004SWL Посмотреть сообщение
Так хотел? Все подключения к базе динамические. Лишние ADOConnection убраны.
если честно, не понял логику. Почему используется Adoquery2?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 
 
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Text := 'Insert INTO ЖурналРегистрации([ФИО], [Должность], [ДАТА], [ВРЕМЯ], [Направление]) VALUES(:f, :d, :dt, :tm, :nap)';
  ADOQuery2.Parameters.ParamByName('f').Value := DBComboBox2.Text;
  ADOQuery2.Parameters.ParamByName('d').Value := DBComboBox1.Text;
  ADOQuery2.Parameters.ParamByName('dt').Value := DateToStr(DateTimePicker1.Date);
  ADOQuery2.Parameters.ParamByName('tm').Value := FormatDateTime('hh:nn', DateTimePicker2.Time);
  ADOQuery2.Parameters.ParamByName('nap').Value := DBComboBox3.Text;
  ADOQuery2.ExecSQL;
 
  ADOQuery1.Close;
  ADOQuery1.Open;
end;
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,495
Записей в блоге: 3
21.06.2021, 04:35
Цитата Сообщение от kabardinec Посмотреть сообщение
если честно, не понял логику
А что непонятного? Есть 2 компонента ADOQuery: первый используется как основной набор данных, получаемый запросом SELECT, этот набор данных визуализируется, скажем, в том же DBGrid... Второй компонент - вспомогательный, служит для добавления\изменения данных. Вот как в приведенном коде: сначала добавили данные запросом INSERT INTO при помощи ADOQuery2, а потом перезапросили данные запросом, содержащемся в ADOQuery1, чтобы только что добавленные данные были отображены в сетке на форме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.06.2021, 04:35

Выполнять разные процедуры/действия одной кнопкой
Как сделать так чтобы назначение кнопки менялось? Т.е я нажал на кнопку было Timer1.Enable = True и надо чтобы при 2 нажатии стало False?

Форма для добавление записи с кнопкой
Здравствуйте! Подскажите, пожалуйста. Хочу сделать форму, для добавления записи в таблицу при нажатии кнопки. Т.е. на форме не...

Одной кнопкой в 4 связанные таблицы
Здравствуйте помогите пожалуйста! Как в запрос добавить Код (ID счетчика) из родительской таблицы? Таблицы "Заказ",...

Добавление новой таблицы кнопкой и макросом
Всем привет, я новичок в области макросов. Идея сделать небольшую прогу для учета водяных счетчиков, проблема возникла в написании макроса...

Как скопировать данные из таблицы одной БД Access в такую же таблицу БД Access другой БД Access?
Как с помощью компонента AdoQuery (Delphi7) скопировать данные из таблицы одной БД Access в такую же таблицу БД Access (такой же структуры)...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru