Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
1

Сохранение из нескольких edit в одно поле таблицы

25.02.2018, 16:38. Просмотров 816. Ответов 10
Метки нет (Все метки)

Добрый день. Долго мучиться, что-нибудь получится))), но долго уже надоело)))
Подскажите, пожалуйста, как сделать так что бы поля edit12, edit14 и т.д. сохранялись в одно поле таблицы. Сохраняется только последнее.
Надеюсь вопрос понятен)))
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT12.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit4.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox8.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT14.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit5.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox9.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT16.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit6.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox10.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT18.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit7.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox11.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT20.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit8.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox12.Text;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2018, 16:38
Ответы с готовыми решениями:

Передача записей из таблицы БД в поле Edit c применением компонентов CheckBox
Доброго времени суток, Всем! На форме размещены следующие компоненты:...

Экспорт данных из таблицы dbgrid на другую форму в поле ввода Edit
Здарова ребят. помогите пожалуйста, не могу разобраться с проблемой. Имеется...

На форме предоставьте пользователю возможность вводить целые числа (в поле для ввода Edit). При нажатии на клавишу Enter (если поле не пусто) его соде
Разработайте приложение в соответствии с заданием. На форме предоставьте...

Запись значений нескольких полей в одно
Всем доброго времени суток! У меня возникла проблема. Есть таблица в Delphi...

Сохранение из Edit в базу данных
Всем доброго времени суток! В таблицу БД Access сохраняю значение Edit.Text....

10
D1973
Модератор
3580 / 2579 / 1261
Регистрация: 21.01.2014
Сообщений: 10,857
Записей в блоге: 3
Завершенные тесты: 1
25.02.2018, 17:11 2
Лучший ответ Сообщение было отмечено Joey как решение

Решение

NadTrs, еще бы понимать, что вот это означает... 'ÔÈÎ_ðîä', 'Ãîä_ðîæäåГ*ГЁГї_ðîä' и что куда должно записываться.
В общем случае:
Delphi
1
DATAMODULE4.ADOTable6.FieldByName('Что-то там').AsString := EDIT12.Text + Edit13.Text + Edit14.Text //ну и дальше, если надо...;
1
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
25.02.2018, 17:27  [ТС] 3
Спасибо. все супер.
Только еще один вопросик. "Что-то там" - это фио семьи, как сделать так чтобы они сохранялись в новые строки.
0
D1973
Модератор
3580 / 2579 / 1261
Регистрация: 21.01.2014
Сообщений: 10,857
Записей в блоге: 3
Завершенные тесты: 1
25.02.2018, 18:08 4
Добавлять эти строки в наборе данных. При работе напрямую с таблицей (в корне неверный подход!!!) необходимо этот НД перевести в режим добавления строк (метод Insert), добавить данные в новую запись и потом запомнить все это дело (метод Post)
0
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
25.02.2018, 18:52  [ТС] 5
Извините за мою тупость, но немного не поняла.

Стоит в начале. DATAMODULE4.ADOTable6.Insert;
Стоит в конце: DATAMODULE4.ADOTable6.Post;
Просто при копировании всего кода выходят иероглифы, название по русскому написаны.

может как-то сами строки прописать ?

Добавлено через 35 секунд
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
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
DATAMODULE4.ADOTable1.Insert;
DATAMODULE4.ADOTable6.Insert;
DATAMODULE4.ADOTable7.Insert;
DATAMODULE4.ADOTable3.Insert;
DATAMODULE4.ADOTable4.Insert;
DATAMODULE4.ADOTable5.Insert;
DATAMODULE4.ADOTable6.'ÔÈÎ_ðîä'.Insert;
DATAMODULE4.ADOTable1.FieldByName('Г’Г*áåëüГ*ûé_Г*îìåð').AsString :=EDIT1.Text;
DATAMODULE4.ADOTable1.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable5.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable4.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable7.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable3.FieldByName('ÔÈÎ').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable7.FieldByName('Ïîë').AsString :=ComboBox1.Text;
DATAMODULE4.ADOTable1.FieldByName('Г„Г*ГІГ*_ðîæäåГ*ГЁГї').AsString :=MaskEdit1.Text;
DATAMODULE4.ADOTable6.FieldByName('ÑåìåéГ*îå_ïîëîæåГ*ГЁГҐ').AsString :=ComboBox2.Text;
DATAMODULE4.ADOTable7.FieldByName('ÂîèГ*Г±ГЄГЁГ©_ГіГ·ГҐГІ').AsString :=ComboBox4.Text;
DATAMODULE4.ADOTable7.FieldByName('ГЏГҐГ*Г±ГЁГ®Г*ГҐГ°').AsString :=ComboBox3.Text;
DATAMODULE4.ADOTable7.FieldByName('Г„Г*ГІГ*_ïðèåìГ*').AsString :=MaskEdit2.Text;
DATAMODULE4.ADOTable1.FieldByName('Îòäåë').AsString :=ComboBox6.Text;
DATAMODULE4.ADOTable1.FieldByName('ÄîëæГ*îñòü').AsString :=DBLookupComboBox1.Text;
DATAMODULE4.ADOTable5.FieldByName('Ñåðèÿ_ГЇГ*ñïîðòГ*').AsString :=EDIT6.Text;
DATAMODULE4.ADOTable5.FieldByName('Íîìåð_ГЇГ*ñïîðòГ*').AsString :=EDIT7.Text;
DATAMODULE4.ADOTable5.FieldByName('Г„Г*ГІГ*_âûäГ*Г·ГЁ').AsString :=MaskEdit3.Text;
DATAMODULE4.ADOTable5.FieldByName('ГЉГҐГ¬_âûäГ*Г*').AsString :=EDIT5.Text;
DATAMODULE4.ADOTable5.FieldByName('Ëè÷Г*ûé_Г*îìåð').AsString :=EDIT8.Text;
DATAMODULE4.ADOTable4.FieldByName('ГЋГЎГ°Г*çîâГ*Г*ГЁГҐ').AsString :=ComboBox7.Text;
DATAMODULE4.ADOTable4.FieldByName('Г—ГІГ®_îêîГ*Г·ГЁГ«').AsString :=EDIT10.Text;
DATAMODULE4.ADOTable4.FieldByName('ÑïåöèГ*ëüГ*îñòü').AsString :=EDIT11.Text;
DATAMODULE4.ADOTable6.FieldByName('ÔÈÎ_ðîä').AsString :=EDIT12.Text+EDIT14.Text+EDIT16.Text+EDIT18.Text+EDIT20.Text;
DATAMODULE4.ADOTable6.FieldByName('Ãîä_ðîæäåГ*ГЁГї_ðîä').AsString :=MaskEdit4.Text+MaskEdit5.Text+MaskEdit6.Text+MaskEdit7.Text+MaskEdit8.Text;
DATAMODULE4.ADOTable6.FieldByName('Ðîäñòâî').AsString :=ComboBox8.Text+ComboBox9.Text+ComboBox10.Text+ComboBox11.Text+ComboBox12.Text;
DATAMODULE4.ADOTable3.FieldByName('Ãîðîä').AsString :=EDIT22.Text;
DATAMODULE4.ADOTable3.FieldByName('ÓëèöГ*').AsString :=EDIT23.Text;
DATAMODULE4.ADOTable3.FieldByName('Äîì').AsString :=EDIT24.Text;
DATAMODULE4.ADOTable3.FieldByName('ГЉГўГ*ðòèðГ*').AsString :=EDIT25.Text;
DATAMODULE4.ADOTable3.FieldByName('Àäðåñ_ГґГ*ГЄГІ').AsString :=EDIT26.Text;
DATAMODULE4.ADOTable3.FieldByName('ГЊГҐГ±ГІГ®_ðîæäåГ*ГЁГї').AsString :=EDIT30.Text;
DATAMODULE4.ADOTable3.FieldByName('ÒåëåôîГ*_ìîáèëüГ*ûé').AsString :=MaskEdit9.Text;
DATAMODULE4.ADOTable3.FieldByName('ÒåëåôîГ*_äîìГ*ГёГ*ГЁГ©').AsString :=MaskEdit10.Text;
DATAMODULE4.ADOTable1.Post;
DATAMODULE4.ADOTable7.Post;
DATAMODULE4.ADOTable6.Post;
DATAMODULE4.ADOTable3.Post;
DATAMODULE4.ADOTable4.Post;
DATAMODULE4.ADOTable5.Post;
0
D1973
Модератор
3580 / 2579 / 1261
Регистрация: 21.01.2014
Сообщений: 10,857
Записей в блоге: 3
Завершенные тесты: 1
25.02.2018, 19:01 6
Цитата Сообщение от NadTrs Посмотреть сообщение
Просто при копировании всего кода выходят иероглифы, название по русскому написаны.
Когда выделили код в своей программе - переключитесь на русский язык, после чего копируйте и вставляйте сюда... Хотелось бы понять проблему, но пока - не совсем получается.

Добавлено через 49 секунд
Ну и по возможности скрин программы тоже прикрепите.
0
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
25.02.2018, 19:08  [ТС] 7
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
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
DATAMODULE4.ADOTable1.Insert;
DATAMODULE4.ADOTable6.Insert;
DATAMODULE4.ADOTable7.Insert;
DATAMODULE4.ADOTable3.Insert;
DATAMODULE4.ADOTable4.Insert;
DATAMODULE4.ADOTable5.Insert;
DATAMODULE4.ADOTable6.'ФИО_род'.Insert;
DATAMODULE4.ADOTable1.FieldByName('Табельный_номер').AsString :=EDIT1.Text;
DATAMODULE4.ADOTable1.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable5.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable4.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable7.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable6.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable3.FieldByName('ФИО').AsString :=EDIT2.Text;
DATAMODULE4.ADOTable7.FieldByName('Пол').AsString :=ComboBox1.Text;
DATAMODULE4.ADOTable1.FieldByName('Дата_рождения').AsString :=MaskEdit1.Text;
DATAMODULE4.ADOTable6.FieldByName('Семейное_положение').AsString :=ComboBox2.Text;
DATAMODULE4.ADOTable7.FieldByName('Воинский_учет').AsString :=ComboBox4.Text;
DATAMODULE4.ADOTable7.FieldByName('Пенсионер').AsString :=ComboBox3.Text;
DATAMODULE4.ADOTable7.FieldByName('Дата_приема').AsString :=MaskEdit2.Text;
DATAMODULE4.ADOTable1.FieldByName('Отдел').AsString :=ComboBox6.Text;
DATAMODULE4.ADOTable1.FieldByName('Должность').AsString :=DBLookupComboBox1.Text;
DATAMODULE4.ADOTable5.FieldByName('Серия_паспорта').AsString :=EDIT6.Text;
DATAMODULE4.ADOTable5.FieldByName('Номер_паспорта').AsString :=EDIT7.Text;
DATAMODULE4.ADOTable5.FieldByName('Дата_выдачи').AsString :=MaskEdit3.Text;
DATAMODULE4.ADOTable5.FieldByName('Кем_выдан').AsString :=EDIT5.Text;
DATAMODULE4.ADOTable5.FieldByName('Личный_номер').AsString :=EDIT8.Text;
DATAMODULE4.ADOTable4.FieldByName('Образование').AsString :=ComboBox7.Text;
DATAMODULE4.ADOTable4.FieldByName('Что_окончил').AsString :=EDIT10.Text;
DATAMODULE4.ADOTable4.FieldByName('Специальность').AsString :=EDIT11.Text;
DATAMODULE4.ADOTable6.FieldByName('ФИО_род').AsString :=EDIT12.Text+EDIT14.Text+EDIT16.Text+EDIT18.Text+EDIT20.Text;
DATAMODULE4.ADOTable6.FieldByName('Год_рождения_род').AsString :=MaskEdit4.Text+MaskEdit5.Text+MaskEdit6.Text+MaskEdit7.Text+MaskEdit8.Text;
DATAMODULE4.ADOTable6.FieldByName('Родство').AsString :=ComboBox8.Text+ComboBox9.Text+ComboBox10.Text+ComboBox11.Text+ComboBox12.Text;
DATAMODULE4.ADOTable3.FieldByName('Город').AsString :=EDIT22.Text;
DATAMODULE4.ADOTable3.FieldByName('Улица').AsString :=EDIT23.Text;
DATAMODULE4.ADOTable3.FieldByName('Дом').AsString :=EDIT24.Text;
DATAMODULE4.ADOTable3.FieldByName('Квартира').AsString :=EDIT25.Text;
DATAMODULE4.ADOTable3.FieldByName('Адрес_факт').AsString :=EDIT26.Text;
DATAMODULE4.ADOTable3.FieldByName('Место_рождения').AsString :=EDIT30.Text;
DATAMODULE4.ADOTable3.FieldByName('Телефон_мобильный').AsString :=MaskEdit9.Text;
DATAMODULE4.ADOTable3.FieldByName('Телефон_домашний').AsString :=MaskEdit10.Text;
DATAMODULE4.ADOTable1.Post;
DATAMODULE4.ADOTable7.Post;
DATAMODULE4.ADOTable6.Post;
DATAMODULE4.ADOTable3.Post;
DATAMODULE4.ADOTable4.Post;
DATAMODULE4.ADOTable5.Post;
Программа еще в стадии разработки.
0
Миниатюры
Сохранение из нескольких edit в одно поле таблицы  
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
25.02.2018, 19:19  [ТС] 8
9 строка эксперимент)))
0
D1973
Модератор
3580 / 2579 / 1261
Регистрация: 21.01.2014
Сообщений: 10,857
Записей в блоге: 3
Завершенные тесты: 1
25.02.2018, 20:19 9
Не заостряя внимания, что БД спроектирована коряво (почитайте про нормализацию на досуге!) попробуйте сделать примерно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
with DataModule4 do
 begin
  ADOTable1.Insert;
   ADOTable1['Табельный_номер'].Value :=EDIT1.Text;
   ADOTable1['ФИО'].Value :=EDIT2.Text;
   ...
  ADOTable1.Post;
  ADOTable3.Insert;
   ...
  ADOTable3.Post; 
  ...
 end;
гораздо наглядней и можно потаблично комментарить, проверяя, куда добавляется, а куда - нет и тогда уже искать - почему.
0
NadTrs
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 27
25.02.2018, 23:47  [ТС] 10
Это тоже что и у меня только красиво и аккуратно. (насколько я понимаю)
вопрос в другом строки 33,34,35 объедены и пишутся в одну строку, а нужно чтобы писались на следующую строку.
либо подскажите другой вариант сохранения данных . Таблица данных о семье их ФИО, Дата рождения и степень родства.
0
D1973
Модератор
3580 / 2579 / 1261
Регистрация: 21.01.2014
Сообщений: 10,857
Записей в блоге: 3
Завершенные тесты: 1
26.02.2018, 05:08 11
Цитата Сообщение от NadTrs Посмотреть сообщение
Таблица данных о семье их ФИО, Дата рождения и степень родства.
и как она связана с таблицей, где хранятся данные о сотрудниках? Добавили мы несколько записей в эту таблицу и что? Как дать понять программе, что те записи, которые мы добавили, относятся к Иванову Ивану Ивановичу, а не к Петрову Петру Петровичу?
0
26.02.2018, 05:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2018, 05:08

Сохранение данных из Edit в Excel
Доброго времени суток уважаемые форумчане) Возник вопрос на который...

Сформировать запрос из нескольких Edit
Как сформировать запрос к базе данных из нескольких Edit ? Есть три поля...

В одно поле несколько значений
Здравствуйте! Пишу программу учёта столовой, в которую ходят клиенты из разных...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru