Topic: связывание значения из комбобокса и формы с данными для этого знач.

Добрый день. Опишу еще такой вопрос.
Есть ,к примеру, 10 человек.
Надо сделать главную форму с выбором людей.
После тго как человек выбран - нажимаешь на кнопку - и откурывается форма, которая принадлежит именно этому человеку.
Просто не приходит мысль как сделать взаимосвзяь выбранного человека в комбобоксе и формы. корорая принадлежит именно этому человеку.
Заранее благодарен за идеи

2 (edited by derek 2019-11-07 10:24:01)

Re: связывание значения из комбобокса и формы с данными для этого знач.

Здравствуй,
Вы могли бы сделать это так.
Я использую его с экраном входа, но он работает где угодно.
В этом примере только пользователи в отделе «admin» могут обслуживать пользователей.
Пароли совпадают с именами пользователей.
Возможно, это помогает.
Derek.

Post's attachments

Attachment icon logins.zip 338.57 kb, 17 downloads since 2019-11-07 

3 (edited by stas.kodpi 2019-11-07 12:17:16)

Re: связывание значения из комбобокса и формы с данными для этого знач.

я извиняюсь,а что такое
vform?  где это?

и эти строки:
else if vform = 'admin' then admin.show
  else if vform = 'sales' then sales.show
  else if vform = 'personnel' then personnel.show
  else if vform = 'research' then research.show;
  formlogin.combobox1.dbItemID:= -1;
  formlogin.edit1.text := '';


что они означают?

Re: связывание значения из комбобокса и формы с данными для этого знач.

Попробовал переделать под свое - все равно не до конца работает
Не сохраняет логин и пароль.. Там какие-то проблемки.
Вроде и работат, но наполовину.
Прикладываю проект.
может кто поможет...
В скрипте сделал два варианта... (пробы)
У меня идет в комбобоксе не вручную прописаны таблица и поле,  а внесено как положено (2й вариант).
И тут оно тоже ошибку бьет)
(

Post's attachments

Attachment icon Учет Отпусков и больничных работников ЦНАП.zip 698.31 kb, 16 downloads since 2019-11-07 

Re: связывание значения из комбобокса и формы с данными для этого знач.

пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    Form2.ShowRecord('tablename', Form1.ComboBox1.dbItemID);
end;
Dmitry.

Re: связывание значения из комбобокса и формы с данными для этого знач.

я конечно далеко не такой умный в этом деле, как вы ,
поэтому и прошу поправить в моем проекте, если не сложно.

Re: связывание значения из комбобокса и формы с данными для этого знач.

stas.kodpi wrote:

я извиняюсь,а что такое
vform?  где это?

и эти строки:
else if vform = 'admin' then admin.show
  else if vform = 'sales' then sales.show
  else if vform = 'personnel' then personnel.show
  else if vform = 'research' then research.show;
  formlogin.combobox1.dbItemID:= -1;
  formlogin.edit1.text := '';


что они означают?

else if  иначе если

8 (edited by sibprogsistem 2019-11-07 15:58:29)

Re: связывание значения из комбобокса и формы с данными для этого знач.

stas.kodpi wrote:

я конечно далеко не такой умный в этом деле, как вы ,
поэтому и прошу поправить в моем проекте, если не сложно.

не понятно, что за таблицы, за что они отвечают и где хранится информация о работниках которую нужно вывести

9 (edited by sibprogsistem 2019-11-07 16:09:52)

Re: связывание значения из комбобокса и формы с данными для этого знач.

просто пример просмотра записи
выбирите работника и нажмите показати

frmView.ShowRecord('pib', start.ComboBox1.dbItemID);

 
frmView.ShowRecord - показать запись в форме frmView
'pib' - таблица из которой будут браться данные
start.ComboBox1.dbItemID - компонент из которого получаем id записи которую нужно показать

Post's attachments

Attachment icon Учет Отпусков и больничных работников ЦНАП.7z 7.1 kb, 16 downloads since 2019-11-07 

Re: связывание значения из комбобокса и формы с данными для этого знач.

Hi Stas.kodpi,
"Vform" - это локальная переменная, которая временно хранит отдел, к которому принадлежит выбранный пользователь.
В зависимости от выбранного пользователя значение в "vform" решает, какую форму следует открыть (если пользователь принадлежит отделу "sales", открывается форма "sales", если пользователь принадлежит отделу "research", открывается форма "research" и т. Д.). ).
Formlogin.combobox1.dbItemID: = -1 и formlogin.edit1.text: = '' очищает 'formlogin', так что новый пользователь не может войти с учетными данными предыдущего пользователя.
Derek.
.
'Vform' is a local variable that temporarily stores the department that the selected user belongs to.
Depending on the selected user, the value in 'vform' decides which form should open (if the user belongs to Department 'sales' then form 'sales' opens, if the user belongs to Department 'research' then form 'research' opens etc).
Formlogin.combobox1.dbItemID:= -1 and formlogin.edit1.text := '' clears the 'formlogin' so that a new user cannot logon with the previous user's credentials.

Post's attachments

Attachment icon screenshot.jpg 187.6 kb, 2 downloads since 2019-11-07 

Re: связывание значения из комбобокса и формы с данными для этого знач.

спаисбо за подсказки. Все сделал.
Сейчас оформление доделываю.
Выложу готовый проект, может кому пригодится в работе

Re: связывание значения из комбобокса и формы с данными для этого знач.

да, еще  момент в скрипте поиска:
Код:

SELECT

cnap.id,    
cnap.pib,
cnap.name,
cnap.ot4,
cnap.posada,
strftime('%d.%m.%Y', vidp_start),
strftime('%d.%m.%Y', vidp_end),
strftime('%d.%m.%Y', year_start),
strftime('%d.%m.%Y', year_end),
cnap.posada,     
cnap.vid_vidpust,
cnap.const,
cnap.kolday,  
cnap.vidpustka, 
cnap.ostatok,
cnap.primitki       
                           
FROM cnap        
                    
WHERE pib LIKE "{ed1_fio}"  

пишет в итоге ошибку (в поиске)
No such column: cnap.ostatok

Component: all.tableGrid1

У меня cnap.ostatok является вычисляемым полем.
Грид показывает и просчитывает верно.
А когда нажимую кнопку поиска - то выккивает эта вот ошибка.

поиск не умеет обрабатывать вычисляемое поле (уже с итогом)?

Re: связывание значения из комбобокса и формы с данными для этого знач.

и еще вылез косяк.
Теперь не хочет показывать сохраненные данные.
После того, как добавил человека, указал в его деле все данные.
Выхожу из формы заполнения.
Снова нажимаю на человека , которому внес данные, нажимаю стрелочку вправо (типа вперед) - и чистая форма. Только фамилия забита.
Попроавьте, пожалуйста, уже глаза накось от поисков неправильных поправок сделанных мной.
А вот когда нажимаю кнопку "загальний список" - то там все остается как положено (все внесенные данные)
Прикладываю проект

Post's attachments

Attachment icon Учет Отпусков и больничных работников ЦНАП.zip 704.3 kb, 34 downloads since 2019-11-08 

Re: связывание значения из комбобокса и формы с данными для этого знач.

простите за навязчивость - но можете мне помочь?
направить куда нужно..
бьюсь третий день.. Я так подохреваю, что и не получится?(

Re: связывание значения из комбобокса и формы с данными для этого знач.

stas.kodpi wrote:

простите за навязчивость - но можете мне помочь?
направить куда нужно..
бьюсь третий день.. Я так подохреваю, что и не получится?(


Немного поправил проект, но не уверен, что я понял структруту БД, возможно есть ошибки.


На форме main для поля Прізвище сделал ComboBox, т.к. данные на сколько я вижу из другой таблицы (pib), а форма сохраняет данные в таблицу cnap


Изменил настройки компонента ComboBox1 на форме start, также добавил выч. поле для таблицы cnap, чтобы можно было в данный ComboBox вывести Прізвище

Dmitry.

Re: связывание значения из комбобокса и формы с данными для этого знач.

stas.kodpi wrote:

простите за навязчивость - но можете мне помочь?
направить куда нужно..
бьюсь третий день.. Я так подохреваю, что и не получится?(

у Вас записи создаются в таблице cnap зачем Вам таблица pib не понятно

Post's attachments

Attachment icon Учет Отпусков и больничных работников ЦНАП.7z 11.26 kb, 10 downloads since 2019-11-11 

Re: связывание значения из комбобокса и формы с данными для этого знач.

спасибо.
все получилось.
осознал свои ошибки...