Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23

Добавление данных в таблицу Access

03.10.2011, 07:51. Показов 4502. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем. У меня вопрос как можно с одной формы занести данные в разные таблицы нажатием одной кнопки?
Использую код такого вида:
Delphi
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
procedure TForm4.Button5Click(Sender: TObject);
begin
  try
    if (Trim(Edit_fio.Text) = '') or (Trim(Edit_name.Text) = '') or
      (Trim(Edit_otch.Text) = '') then
    begin
      exit;
    end;
    DataModule1.ADOQuery2.Insert;
    DataModule1.ADOQuery2.FieldByName('Фамилия').AsString := Edit_fio.Text;
    DataModule1.ADOQuery2.FieldByName('Имя').AsString := Edit_name.Text;
    DataModule1.ADOQuery2.FieldByName('Отчество').AsString := Edit_otch.Text;
    DataModule1.ADOQuery6.FieldByName('Серия').AsInteger :=
      StrToInt(Edit8.Text);
    DataModule1.ADOQuery6.FieldByName('Номер').AsInteger :=
      StrToInt(Edit9.Text);
    DataModule1.ADOQuery6.FieldByName('дата_рождения').AsInteger :=
      StrToInt(MaskEdit1.Text);
    DataModule1.ADOQuery6.FieldByName('Место_рождения').AsString := Edit10.Text;
    DataModule1.ADOQuery6.FieldByName('Тип_документа').AsString := Edit11.Text;
    DataModule1.ADOQuery6.FieldByName('Дата_выдачи').AsInteger :=
      StrToInt(MaskEdit1.Text);
    DataModule1.ADOQuery6.FieldByName('Кем_выдан').AsString := Edit12.Text;
    DataModule1.ADOQuery6.FieldByName('Индекс_1').AsInteger :=
      StrToInt(Edit13.Text);
    DataModule1.ADOQuery6.FieldByName('Населённый_пункт_1').AsString :=
      Edit14.Text;
    DataModule1.ADOQuery6.FieldByName('Улица_1').AsString := Edit15.Text;
    DataModule1.ADOQuery6.FieldByName('Дом_1').AsString := Edit16.Text;
    DataModule1.ADOQuery6.FieldByName('Корпус_1').AsInteger :=
      StrToInt(Edit17.Text);
    DataModule1.ADOQuery6.FieldByName('Квартира_1').AsInteger :=
      StrToInt(Edit18.Text);
    DataModule1.ADOQuery6.FieldByName('Индекс_2').AsInteger :=
      StrToInt(Edit19.Text);
    DataModule1.ADOQuery6.FieldByName('Населённый_пункт_2').AsString :=
      Edit20.Text;
    DataModule1.ADOQuery6.FieldByName('Улица_2').AsString := Edit21.Text;
    DataModule1.ADOQuery6.FieldByName('Дом_2').AsString := Edit22.Text;
    DataModule1.ADOQuery6.FieldByName('Корпус_2').AsInteger :=
      StrToInt(Edit23.Text);
    DataModule1.ADOQuery6.FieldByName('Квартира_2').AsInteger :=
      StrToInt(Edit24.Text);
    DataModule1.ADOQuery6.FieldByName('id_info').AsInteger :=
      (seInfo.Value);
    Edit_fio.Clear;
    Edit_name.Clear;
    Edit_otch.Clear;
    DataModule1.ADOQuery2.Refresh;
    DataModule1.ADOQuery6.Refresh;
  except
    on e: Exception do
  end;
end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.10.2011, 07:51
Ответы с готовыми решениями:

Добавление строки в таблицу access
Привет, подскажите пожалуйста как решить данную задачу: Есть таблица, например ее имя "Товар" ее содержимое выводится в DBGrid....

Добавление записей в таблицу Access
Привет всем. Такой вопрос. Подключаюсь к access через ado. Вешаю на форму грид и дбнавигатор. При помощи дб навигатора записи в таблицу...

Добавление данных в таблицу MS Access в C#
Добрый вечер! На носу диплом, сижу пишу программу в VisualStudio C# 2010, но столкнулась с проблемой, мне нужно сделать так, чтобы из формы...

21
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
03.10.2011, 09:57
таблицы базы данных? тебе нужно присвоить параметр в запросе к примеру:
Delphi
1
2
  ADOQuery1.Parameters[0].Value:=*значение*;
  ADOQuery1.Parameters[1].Value:=*значение*;
запрос на добавление записи в таблицу будет выглядить так:
SQL
1
INSERT INTO таблица VALUES (:w,:q)
где w,q - параметры запроса(свойство parameters)
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 12:39  [ТС]
Мне не понятно что я должен записать вместо:
Delphi
1
*значение*;
запрос на добавление записи в таблицу будет выглядить примерно так или я чего то не понял?
Delphi
1
 INSERT INTO таблица VALUES ('+Edit1.Text+', date())
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
03.10.2011, 12:41
там где *значение* нужно указать свой edit.text а в запросе указывать имена параметров причем в том порядке в котором они у вас идут в таблице, т.е. если идет в таблице поля: фамилия, имя отчество, то и переменные содержащие значения должны следовать в том же порядке
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:01  [ТС]
Попробовал вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm4.Button5Click(Sender: TObject);
begin
  try
    if (Trim(Edit_fio.Text) = '') or (Trim(Edit_name.Text) = '') or
      (Trim(Edit_otch.Text) = '') then
    begin
      exit;
    end;
    DataModule1.ADOQuery2.Insert;
    DataModule1.ADOQuery2.Parameters[0].Value := Edit_fio.Text;
    DataModule1.ADOQuery2.Parameters[1].Value := Edit_name.Text;
    DataModule1.ADOQuery2.Parameters[2].Value := Edit_otch.Text;
    Insert INTO Работники VALUES(Фамилия, Имя, Отчество);
    Edit_fio.Clear;
    Edit_name.Clear;
    Edit_otch.Clear;
    DataModule1.ADOQuery2.Refresh;
  except
    on e: Exception do
  end;
end;
Но Дельфи ругается на VALUES(Фамилия, Имя, Отчество) И ещё выдает ошибку
Code
1
[DCC Error] add_rab.pas(171): E2029 '(' expected but identifier 'INTO' found
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:04
Цитата Сообщение от Amilman Посмотреть сообщение
Попробовал вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm4.Button5Click(Sender: TObject);
begin
  try
    if (Trim(Edit_fio.Text) = '') or (Trim(Edit_name.Text) = '') or
      (Trim(Edit_otch.Text) = '') then
    begin
      exit;
    end;
    DataModule1.ADOQuery2.Insert;
    DataModule1.ADOQuery2.Parameters[0].Value := Edit_fio.Text;
    DataModule1.ADOQuery2.Parameters[1].Value := Edit_name.Text;
    DataModule1.ADOQuery2.Parameters[2].Value := Edit_otch.Text;
    Insert INTO Работники VALUES(Фамилия, Имя, Отчество);
    Edit_fio.Clear;
    Edit_name.Clear;
    Edit_otch.Clear;
    DataModule1.ADOQuery2.Refresh;
  except
    on e: Exception do
  end;
end;
Но Дельфи ругается на VALUES(Фамилия, Имя, Отчество) И ещё выдает ошибку
Code
1
[DCC Error] add_rab.pas(171): E2029 '(' expected but identifier 'INTO' found
Delphi
1
ADOQuery2.SQL.Add('INSERT INTO Работники VALUES(Фамилия, Имя, Отчество)');
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
03.10.2011, 13:05
тебе нужно создать у компонента adoquery параметры(свойство parameters) например q,w,e
затем в свойстве SQL этого же компонента написать сттроку
SQL
1
INSERT INTO Работники VALUES(:q,:w,:e);
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:05
хотя я бы вообще по другому бы сделал
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:05  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
хотя я бы вообще по другому бы сделал
А как по другому?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:08
не хочу сейчас базу создавать, все настраивать, да у меня и аксесса нету. Сейчас поищу свою тему старую про это дело, там было все всем ясно и понятно
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:09  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
не хочу сейчас базу создавать, все настраивать, да у меня и аксесса нету. Сейчас поищу свою тему старую про это дело, там было все всем ясно и понятно
Буду признателен.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:31
перелистал, 70 страниц форума и не нашел тех тем, странно куда они с форума делись
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:31  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
перелистал, 70 страниц форума и не нашел тех тем, странно куда они с форума делись
Это грустно...
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:33
могу в личку скинуть 2 видеоурока моих, только там база MySQL, ну дело не меняет, там есть фрагмент где четко ведется программирование кода для работы с БД
0
39 / 39 / 4
Регистрация: 20.04.2011
Сообщений: 789
Записей в блоге: 1
03.10.2011, 13:35
скинь мне плз поссмотреть хочу можешь что-нибудь новое узнаю
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:36  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
могу в личку скинуть 2 видеоурока моих, только там база MySQL, ну дело не меняет, там есть фрагмент где четко ведется программирование кода для работы с БД
Давай)
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
03.10.2011, 13:41
обоим скинул ссылки, видео совершенно для начинающих было снято

Прошу прощения за ошибки грамматические в видео
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 13:42  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
обоим скинул ссылки, видео совершенно для начинающих было снято

Прошу прощения за ошибки грамматические в видео
Хорошо)) Спасибо большое.
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
03.10.2011, 15:15
Код в сабже будет превосходно работать, если
1. и первый, и второй кверики являются редактируемыми (запрос Select * from ...),
2. перед присвоением полям значений из эдитов давать команду
TADOQuery.Edit - для редактирования
TADOQuery.Insert - для добавления
3. После завершения присвоения полям значений давать команду
TADOQuery.Post
4. Проверять корректность введенных значений (например в событии TADOQuery.BeforePost)
5. После удачного постинга измененной/добавленной записи вместо метода Refresh вызывать Requery
0
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 23
03.10.2011, 15:36  [ТС]
Цитата Сообщение от MsGuns Посмотреть сообщение
Код в сабже будет превосходно работать, если
1. и первый, и второй кверики являются редактируемыми (запрос Select * from ...),
2. перед присвоением полям значений из эдитов давать команду
TADOQuery.Edit - для редактирования
TADOQuery.Insert - для добавления
3. После завершения присвоения полям значений давать команду
TADOQuery.Post
4. Проверять корректность введенных значений (например в событии TADOQuery.BeforePost)
5. После удачного постинга измененной/добавленной записи вместо метода Refresh вызывать Requery
Попробовал. Но думаю что не допонял что и куда вписать. Добавляется только ADOQuery2.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm4.Button5Click(Sender: TObject);
begin
  try
    if (Trim(Edit_fio.Text) = '') then
    begin
      exit;
    end;
    DataModule1.ADOQuery2.Insert;
    DataModule1.ADOQuery2.Insert;
    DataModule1.ADOQuery2.FieldByName('Фамилия').AsString := Edit_fio.Text;
    DataModule1.ADOQuery2.Post;
    DataModule1.ADOQuery6.Insert;
    DataModule1.ADOQuery6.FieldByName('Серия').AsInteger :=
      StrToInt(Edit8.Text);
    DataModule1.ADOQuery6.FieldByName('Номер').AsInteger :=
      StrToInt(Edit9.Text);
    DataModule1.ADOQuery6.Post;
    DataModule1.ADOQuery2.Requery;
    DataModule1.ADOQuery6.Requery;
  except
    on e: Exception do
  end;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2011, 15:36
Помогаю со студенческими работами здесь

Добавление данных в таблицу БД Access
Народ, всем доброго дня! Я нубяра :-) Но начинаю пытаться осваивать Borland Builder и ++ в целом. Не сочтите идиоткой, не читавшей...

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

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

Добавление данных dbf в таблицу Access
Доброго времени суток всем форумчанам! Если сможете, подскажите ответ. Есть отчет, который выгружает данные в dbf. В базе данных Access...

Добавление данных из таблицы в другую таблицу Access 2003
Приветствую вас. Столкнулся с банальщиной , но как решить, не могу понять. Имеем 2 таблицы, одна пустая, имеет только структуру....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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