Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2014, 22:22   #1
Vodoley28
 
Регистрация: 21.09.2014
Сообщений: 8
Восклицание открыть 2 форму по записи из DBGrid

Здравствуйте! Такой вопрос, есть БД в access, она подключена к Delphi. В Delphi имеются 2 формы, первая содержит таблицу DBGrid с полями - табельный номер и ФИО сотрудника, вторая форма содержит подробную информацию о сотруднике, вопрос в том, как сделать так, чтобы при выборе ФИО сотрудника из первой формы, на второй форме отображалась информация именно по этому сотруднику, не знаю что нужно прописать на кнопку( подтолкните на мысль пожалуйста.
Вложения
Тип файла: rar ПП2.rar (478.3 Кб, 24 просмотров)
Vodoley28 вне форума Ответить с цитированием
Старый 22.09.2014, 10:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я бы всё по другому организовал..
но если Вам ваш подход нравится, попробуйте так:

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
  DataModule2.Lkartochka.Locate('Табельный номер', DataModule2.ObshieSved.FieldByName('Табельный номер').AsInteger, [] );
  DataModule2.Obrazov.Locate('Табельный номер', DataModule2.ObshieSved.FieldByName('Табельный номер').AsInteger, [] );
  DataModule2.Semya.Locate('Табельный номер', DataModule2.ObshieSved.FieldByName('Табельный номер').AsInteger, [] );
  DataModule2.Yazik.Locate('Табельный номер', DataModule2.ObshieSved.FieldByName('Табельный номер').AsInteger, [] );
  DataModule2.NazniPerem.Locate('Табельный номер', DataModule2.ObshieSved.FieldByName('Табельный номер').AsInteger, [] );
  Form3.Show;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2014, 18:04   #3
Vodoley28
 
Регистрация: 21.09.2014
Сообщений: 8
По умолчанию

Спасибо большое!!!Работает))Очень выручили!) а можете поделиться своими мыслями, насчет другой организации?) Возьму на будущее на заметку)
Vodoley28 вне форума Ответить с цитированием
Старый 23.09.2014, 09:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Большое пожалуйста!!

Цитата:
а можете поделиться своими мыслями, насчет другой организации?)
ну, если вкратце:
1) это отказ от использования TADOTable и использование вместо него TADOQuery (для получения личных данных - с параметром)

2) убрать из строки подключения (ConnectionString) полный путь к БД.
(у Вас там C:\ПП2\)
Это позволит работать с БД, расположенной рядом с программой.
Или вынести путь к БД в настройки программы (хранить в INI файле или в реестре).
Но это уже совсем "по взрослому"!

3) переименовать модули и формы так, чтобы было понятно, где что.
Например,
Unit2 -> dm (или DataModule)
DatMod -> MainForm (или Unit1 хотя бы!

а в модуле Lkartochka (это нормальное название) форма называется Form3
некузявно! Вы кого запутать хотите - себя или того, кто будет в коде разбираться?
Переименуйте и форму. Например, в Lkartochka (или LkartochkaForm).
ну и т.д.

4) не открывать все датасеты сразу, при запуске программы, а выполнять запросы по мере необходимости.

5) обрабатывать ситуацию, когда по какой-то из позиций НЕТ данных (ну, например, не заполнено "Образование"). в моём примере из пост #2 это никак не обрабатывается.

это так, так сказать, первоначальные шаги...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.09.2014, 13:46   #5
Vodoley28
 
Регистрация: 21.09.2014
Сообщений: 8
По умолчанию

Ох спасибочки) будем потихоньку исправлять) а формы я просто не успела еще переименовать)да и тем более их там всего 2шт. так что я не запутывалась)
Vodoley28 вне форума Ответить с цитированием
Старый 07.10.2014, 11:56   #6
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

http://www.vr-online.ru/blog/primer-...-i-dizajn-9302

Почитай, мб чего для себя интересного найдёшь
Dozent вне форума Ответить с цитированием
Старый 14.03.2016, 20:21   #7
Vodoley28
 
Регистрация: 21.09.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Dozent Посмотреть сообщение
http://www.vr-online.ru/blog/primer-...-i-dizajn-9302

Почитай, мб чего для себя интересного найдёшь
Спасибо!Интересный материал!
Vodoley28 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи из одного DBGrid в другой DBGrid c помощью кнопки, а также удаление записи Evgen7 БД в Delphi 20 16.02.2014 17:05
как открыть форму БарСер Microsoft Office Access 6 22.07.2012 22:11
Открыть форму StudUL C++ Builder 7 06.06.2012 13:09
можно ли открыть форму access в delphi...таблицы подключаются....а форму можно подключить?? Анна1217 Помощь студентам 3 06.04.2012 07:56
С++. Открыть вторую форму ЛУНА55 Помощь студентам 2 10.12.2009 11:35