powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
17 сообщений из 17, страница 1 из 1
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227259
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос такой:
Есть таблица 'first' в БД А2000 с текстовым полем 'name' .
Надо заполнить другую таблицу 'second' используя какой-нибудь edit или еще чего-то путем выбора из 'first.name' . Добавляем буковку в edit список выбора уменьшается и так далее (типа подсказки). Спасибо
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227295
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь то поможет TDBLookupComboBox на вкладке Data Controls
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227305
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не даёт он текст вводить - плохо
Он даёт всё таблицу прокручивать,а она большая блин (2000000 записей)
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227423
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как настроить DbLookupcombobox? Киньте ссылочку
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227445
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня была идея написать:
Код: plaintext
1.
2.
3.
4.
Edit1OnChange()
begin
AdoQuery1.sql.add('select * from name where name like '%:parametr'');
AdoQuery1.parametrs[ 0 ].value:=Edit1.Text;
end

Но не могу правильно написать like '%:parametr''
Помогите!!!
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32227461
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри еще TRxDBLookupCombo (RxLib) или TDBLookupComboboxEh (EhLib).

AdoQuery1.sql.add('select * from name where name like '%:parametr'');
Так писать нельзя, лучше макро подстановкой.
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228123
Cnupum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФИЛЬТР БУДЕТ БЛИЖЕ К ТЕМЕ. EDITSEARCH ONCHANGE ПИШИ
Код: plaintext
1.
2.
3.
4.
5.
with first do
begin
 filtered:=false;
 Filter:='name like %'+trim(EditSearch.text)+'%';
 filtered:=true;
end;
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228132
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там вместо first надо наверное dataset какой-нибудь
Но все равногеморой какой то получается.
В чем разница м/у ADOQuery.sql & ADOQuery.filter
Я через sql сделал - работает, но хотелось бы еще чтоб во время печатания текста вылазили подсказки (такое есть в Excel когда вводишь строку похожую на предыдущие)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
procedure TMainForm.EditFilterChange(Sender: TObject);
var FilterStr: String;
begin
      FilterStr:='WHERE reg_name Like "%' + EditFilter.Text + '%"' ;
      with ADOQuerylook do
      begin
            with SQL do
                begin
                        Close;
                        Clear;
                        Add('SELECT * ');
                        Add('FROM regions_novosibirsk');
                        Add(FilterStr);
                end; //with sql
            TRY
            Open;
            EXCEPT
            END;
            end;//with
end;
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228141
Cnupum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с TEdit такого не сделать .... надо TComboBox ..... и то геморно получиться . Все твои подсказки должны где то храниться, возможно даже в базе. потом когда ты в комобобоксе пишешь OnChange выскакивают фильтрованые записи.
а как эти записи туде попадают это другой вопрос. Потому что на OnChange пА-любому нельзя а надо на кнопочку... вот так ... Да и оно тебе надо вообще понты не больше ... ну если ты смелый делай все тоже самое с TComboBox, что ты сделал с TEdit. А там совместными усилиями может че и получиться.
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228153
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял. Надо делать через Едит а потом из результата запроса на dBGrid выбирать мышой (раз уж по другому никак)
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228169
Cnupum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тебе говорю TEdit выкидывай вообще а ставь TComboBox
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TForm1.ComboBox1Change(Sender: TObject);
begin

combobox1.Items.Clear;
  with adotable1 do
  begin
    first;
    while not eof do
    begin
      combobox1.Items.Add(fieldbyname('name').Value);
      next;
    end;
  end;
  combobox1.DroppedDown:=true;
end;


я тока видишь всю табличку вывожу ... а ты закидывай в комбобокс твой запрос , который уже отфильтрован , где вместо Tedit используется Tcombobox
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228177
Cnupum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
procedure TMainForm.ComboBox1Change(Sender: TObject);
var FilterStr: String;
begin
      FilterStr:='WHERE reg_name Like "%' + Combobox1.Text + '%"' ;
      with ADOQuerylook do
      begin
            with SQL do
                begin
                        Close;
                        Clear;
                        Add('SELECT * ');
                        Add('FROM regions_novosibirsk');
                        Add(FilterStr);
                end; 
            TRY
            Open;
            EXCEPT
            END;
            end;


combobox1.Items.Clear;
  with ADOqueryLook do
  begin
    first;
    while not eof do
    begin
      combobox1.Items.Add(fieldbyname('reg_name').Value);
      next;
    end;
  end;
  combobox1.DroppedDown:=true
end;



вот чё то типо того, но сам понимаешь будет выводить не те строчки которые ты вводил, а те которые действительно существуют. пару символов ввел и список в комбобоксе уменьшиться и можно выбирать с помощью мыши
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228182
Cnupum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо combobox1.DroppedDown:=true;
лучше поставить свойство
AutoDropDown - TRUE у TComboBox'a а то моргать будет и у меня курсор мыши баловаться начинает
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228223
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Thanks
Мне только интересно зачем тогда нужен TDBLookupComboBox
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228244
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> realbold

V TBDComboBoxEh jest MRU list. Poprobuj eto. Moget tak tebe podojdet? Da i zapolnjat jego mozhno po neobhodimosti. Nu voobssem sam smotri.
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228341
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Cnupum

Вот только косяк с выбросом (когда выбрал из списка в окне пропадает)
и еще надо дописать
Код: plaintext
 combobox.selstart:=length(combobox.text) 

а то пишет наоборот
...
Рейтинг: 0 / 0
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
    #32228399
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если в запросе написать select top 40 ... или там 100, то работать будет намного быстрее, а все смотреть все равно никто не будет.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]