Topic: Авто заполнение

Добрый день форумчане, как сделать автозаполнение? т.е - допустим в в комбобоксе выбираешь гос номер авто, а он за собой тянет остальные данные о автомобиле и полностью заполняет ячейки типо марки автомобиля, прикрепленного водителя и т.д.

С уважением.

Re: Авто заполнение

Приветствую.



Делается это примерно так

procedure Form1_ComboBox1_OnChange (Sender: TObject);
begin
    Form1.Edit1.Text := SQLExecute('SELECT marka FROM cars WHERE id='+Form1.ComboBox1.sqlValue);
    Form1.Edit2.Text := SQLExecute('SELECT driver FROM cars WHERE id='+Form1.ComboBox1.sqlValue);
end;

SQL запрос может отличаться, в зависимости от структуры вашей БД.
Если не получиться реализовать, можете приложить ваш проект (zip файл без exe и dll), постараюсь помочь.

Dmitry.

3 (edited by Patriot10200 2019-11-05 04:50:14)

Re: Авто заполнение

DriveSoft wrote:

Приветствую.



Делается это примерно так

procedure Form1_ComboBox1_OnChange (Sender: TObject);
begin
    Form1.Edit1.Text := SQLExecute('SELECT marka FROM cars WHERE id='+Form1.ComboBox1.sqlValue);
    Form1.Edit2.Text := SQLExecute('SELECT driver FROM cars WHERE id='+Form1.ComboBox1.sqlValue);
end;

SQL запрос может отличаться, в зависимости от структуры вашей БД.
Если не получиться реализовать, можете приложить ваш проект (zip файл без exe и dll), постараюсь помочь.


Приветствую, Спасибо, надеюсь разберусь, потихоньку разбираюсь)

С уважением.

4 (edited by Patriot10200 2020-03-21 13:07:34)

Re: Авто заполнение

Добрый день, так и не получается реализовать автозаполнение WIN и марки авто от номера, во вкладке new_remont, может подскажете что я делаю не так?, проект прилагаю, спасибо

Post's attachments

Attachment icon реестр ремонтов.rar 1.42 mb, 427 downloads since 2020-03-21 

С уважением.

Re: Авто заполнение

Здравствуй Patriot10200,
Ваш сценарий правильный, но у вас нет действия, определенного в свойствах объекта для комбинированного списка (см. Скриншот).
Derek.

Post's attachments

Attachment icon screenshot1.jpg 213.98 kb, 185 downloads since 2020-03-21 

Re: Авто заполнение

derek wrote:

Здравствуй Patriot10200,
Ваш сценарий правильный, но у вас нет действия, определенного в свойствах объекта для комбинированного списка (см. Скриншот).
Derek.

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

С уважением.

Re: Авто заполнение

Ребят еще вопрос по автозаполнению! допустим, как сделать что-бы при запуске формы создания путевого листа, поле механик автоматически тянуло ФИО того кто вошел в прогу по логину паролю ( система логина пароля встроенная)

С уважением.

8 (edited by derek 2020-04-25 15:22:10)

Re: Авто заполнение

Здравствуй Patriot10200,
Это то, что вы хотите? (пароли совпадают с идентификатором пользователя)
нотабене - если вы используете версию 6.3 или более раннюю, используйте
  if action = 'NewRecord'  then form2.combobox1.dbitemid := user.id else form2.combobox2.dbitemid := user.id; ;
вместо
  if action = 'NewRecord'  then form2.combobox1.dbitemid := application.user.id else form2.combobox2.dbitemid := application.user.id; ;
в вашем сценарии.
Derek.

Post's attachments

Attachment icon autofill.zip 338.09 kb, 413 downloads since 2020-04-25 

Re: Авто заполнение

Да, спасибо)

derek wrote:

Здравствуй Patriot10200,
Это то, что вы хотите? (пароли совпадают с идентификатором пользователя)
нотабене - если вы используете версию 6.3 или более раннюю, используйте
  if action = 'NewRecord'  then form2.combobox1.dbitemid := user.id else form2.combobox2.dbitemid := user.id; ;
вместо
  if action = 'NewRecord'  then form2.combobox1.dbitemid := application.user.id else form2.combobox2.dbitemid := application.user.id; ;
в вашем сценарии.
Derek.

С уважением.

10 (edited by NickB 2022-07-27 10:45:19)

Re: Авто заполнение

Добрый день,

а можно сделать автозаполнение в МЕМО и через запятую, то есть к примеру набираешь "ро" заполняется Россия ставлю запятую набираю "пак" заполняется Пакистан и тд ,чтоб оно выглядело вот так (Россия, Пакистан, Китай) ?

я соединил МЕМО с несколькими Edit  полями, добивив слеш получается Россия/Пакистан/Китай, но если я ничего не заполняю то программа выдает в пустом МЕМО вот так (///)

Заранее благодарен

Re: Авто заполнение

NickB wrote:

Добрый день,

а можно сделать автозаполнение в МЕМО и через запятую, то есть к примеру набираешь "ро" заполняется Россия ставлю запятую набираю "пак" заполняется Пакистан и тд ,чтоб оно выглядело вот так (Россия, Пакистан, Китай) ?

я соединил МЕМО с несколькими Edit  полями, добивив слеш получается Россия/Пакистан/Китай, но если я ничего не заполняю то программа выдает в пустом МЕМО вот так (///)

Заранее благодарен

Возможно всё. На невозможное нужно чуть больше времени. (с)


Но вопрос: а нужно ли? Вы хотите сделать текстовый редактор с автозавершением ввода? Это возможно, хотя и весьма сложно, но что-то мне подсказывает, что есть более простое решение вашей бизнес-задачи. В чем заключается цель данных манипуляций?

Визуальное программирование: блог и телеграм-канал.

12 (edited by NickB 2022-07-27 15:34:47)

Re: Авто заполнение

приложение которое я делаю должно упростить оформление страхового полиса (а более конкретнее этот список будет печататься ), то есть когда доходишь до списка страны следования  и страны транзита, это тоже максимально упрощалось,

я создал таблицу со странами загрузил их туда через cvs, в edit работает идеально но только с одно страной, вот и подумал возможно ли сделать через мемо

хотя если вы пишите весьма сложно, а стоит ли оно того smile ?

поискал инфу о тектовом редакторе с автозаполнением и понял что для того чтобы это реализовать мне придеться сделать еще одно небльшое приложение, если это так то я думаю не стоит, пусть в ручную заполняют smile

если есть попроще вариант подскажите пожалуйста, что он из себя представляет ?

Re: Авто заполнение

Hello NickB, Konstantin,
Пожалуйста, посмотрите на приложенные варианты (они не будут точно такими, как вы хотите, но должны дать вам представление о том, как этого добиться).
С Autocomplete1 вы вводите 3-значный код страны, и названия стран встраиваются в поле для заметок. Это требует от вас знания трехзначного кода.
С Autocomplete2 вы выбираете 3-значный код страны из выпадающего списка, а названия стран встраиваются в поле для заметок.
Надеюсь это поможет,
Derek.
.
Please look at the attached as a couple of options (they won't be exactly what you want but should give you ideas how to achieve it).
With Autocomplete1, you type in the 3 digit country code and the names of the countries are built in the memo field.  This does require you to know the 3 digit codes.
With Autocomplete2, you choose the 3 digit country code from the combobox and the names of the countries are built in the memo field.

Post's attachments

Attachment icon autocomplete.zip 685.99 kb, 199 downloads since 2022-07-27 

14 (edited by NickB 2022-07-28 03:24:19)

Re: Авто заполнение

Спасибо огромное Дерек, ваши рекомендации и советы весьма полезны и конструктивны

Thank you very much Derek, your recommendations and advice are very useful and constructive

Re: Авто заполнение

Hi NickB,
Если требуется построить маршрут поездки для какой-либо документации, возможно, лучше использовать поле для заметок (одна страна в каждой строке).
Это также делает код немного проще.
Derek.
.
If the requirement is to build a travel itinerary for some sort of documentation, perhaps it is better to use a memo field (one country on each line).
It also makes the code slightly simpler too.

Post's attachments

Attachment icon autocomplete3.zip 342.73 kb, 195 downloads since 2022-07-28 

16 (edited by chartcatuser 2022-07-29 02:30:45)

Re: Авто заполнение

Ребят подскажите со скриптом. Цель одна - при нажатии кнопки меняем значение checkbox с 0 на 1 и:
если checkbox= 0 то в в базе обновляется поле с суммой на цифру 0 или пустое
если checkbox= 1 то в базе ничего не обновляется цифра остается той же
Изначально есть поле в таблице :
bsm_off.checkbox
bsm_off.inn2 - это с цифрами

Вот скрипт который изменяет значение checkbox 1 или 0

begin
            SQLExecute('UPDATE bsm_off SET Vidano = '+s + ' WHERE id='+IntToStr(Form1.Tablevidacha.dbIndexToID(I)));
end;

Вот хотелось бы узнать или подтолкните в нужном направлении..

Re: Авто заполнение

Добрый день Дерек, спасибо вам большое, я вам очень признателен, я попробую все варианты!

Good day Derek, thank you very much, I am very grateful to you, I will try all the options!