1 (edited by beniamin91 2017-01-09 01:28:01)

Topic: из TableGrid в Combobox

Здравствуйте уважаемый DriveSoft
Я не могу решить одну задачу.
Есть у меня таблица doctor с ним связанно таблица specialty
Создание и редактирование происходят на одной и той же форме и на нем есть по две повторяющихся поля имя,специальность и т.д. Одни для поиска, другие на всплывающей панели для добавления/редактирования.Стандартными средствами, при редактировании данные повторяются в двух полях и я подумал в скрипте взять данные выделенного  доктора, поставить в группу компонентов которые предназначены для редактирования и потом с помощью SQL запроса сохранить.
с editbox-ами разобрался

Form1.edDoctorFName.Text:= SQLExecute('Select firstname from doctor where id='''+IntToStr(Form1.tgDoctor.dbItemId)+'''');

   
но с комбобоксами не получается

tgdoctorrow:=Form1.tgDoctor.SelectedRow;
Form1.cbDoctorSpecialty.dbItemID := SQLExecute('Select id from doctor.id_specialtydoctor where specialty LIKE '+(Form1.tgDoctor.Cells[4,tgdoctorrow])+'');

так получается Ошибка

Form1.cbDoctorSpecialty.dbItemID := SQLExecute('Select id from doctor.id_specialtydoctor where id='''+IntToStr(Form1.tgDoctor.dbItemId)+'''');

о так ищет специальность с id доктора что неправильно, ведь докторов много о специальности несколько штук


И потом еще хочу прикрутить функцию из соседней темы, проблема с multiselect-combobox
Если с вашей помощью оно получится, возможно ли редактировать таким образом и его?

Re: из TableGrid в Combobox

проект приложите

Re: из TableGrid в Combobox

Попробуйте так

Form1.cbDoctorSpecialty.dbItemID := SQLExecute('Select id_specialtydoctor from doctor where id='+Form1.tgDoctor.sqlValue);
Dmitry.

4 (edited by beniamin91 2017-01-09 22:43:45)

Re: из TableGrid в Combobox

Спасибо большое, получилось.

Но обновить запись не получается. Вот код

UPDATE doctor

SET    doctor.firstname={edDoctorFName};
       doctor.lastname={edDoctorLName};
       doctor.phone={edDoctorPhone};
       doctor.mail={edDoctorMail};
       doctor.id_hospital={cbDoctorHospital};
       doctor.id_ratingdoctor={cbDoctorRating};
       doctor.id_specialtydoctor={cbDoctorSpecialty};

WHERE  doctor.id={tgDoctor.dbItemId}

Ошибка на изображение 

О по этому вопросу есть какие то мысли?

Post's attachments

Attachment icon Screenshot_1.png 90.38 kb, 226 downloads since 2017-01-09 

Re: из TableGrid в Combobox

beniamin91
Поля должны разделяться запятыми, вместо точки с запятой

Dmitry.

Re: из TableGrid в Combobox

DriveSoft wrote:

beniamin91
Поля должны разделяться запятыми, вместо точки с запятой

Теперь ругается на последнюю строку

WHERE  doctor.id={tgDoctor.dbItemId}

Re: из TableGrid в Combobox

вместо

{tgDoctor.dbItemId}

просто

{tgDoctor}
Dmitry.

8 (edited by beniamin91 2017-01-10 22:30:33)

Re: из TableGrid в Combobox

О теперь такая ошибка

Post's attachments

Attachment icon Screenshot_2.png 108.86 kb, 310 downloads since 2017-01-10 

Re: из TableGrid в Combobox

После этой строчки

doctor.id_specialtydoctor={cbDoctorSpecialty} 

не должно быть запятой

Dmitry.

Re: из TableGrid в Combobox

Теперь другая ошибка
Простите я что то туплю
вот проект без ехе файла
подключение к базе осуществляется из скрипта

Post's attachments

Attachment icon CRM.zip 334.9 kb, 423 downloads since 2017-01-11 

Re: из TableGrid в Combobox

Пожалуйста опишите шаги, которые приводят к ошибке.
Также у меня нет доступа к вашей базе, поэтому необходимо описание, с учетом того, что в моей базе нет данных.

Dmitry.

Re: из TableGrid в Combobox

Вот небольшой видеоролик на ютуб

Re: из TableGrid в Combobox

Забыл что необходимо также текстовые данные взять в апострофы

UPDATE doctor

SET    doctor.firstname='{edDoctorFName}',
       doctor.lastname='{edDoctorLName}',
       doctor.phone='{edDoctorPhone}',
       doctor.mail='{edDoctorMail}',
       doctor.id_hospital={cbDoctorHospital},
       doctor.id_ratingdoctor={cbDoctorRating},
       doctor.id_specialtydoctor={cbDoctorSpecialty}

WHERE  doctor.id={tgDoctor}
Dmitry.