Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / HELP !!! как сделать какой нибудь edit типа Lookup (ADO) / 17 сообщений из 17, страница 1 из 1
05.08.2003, 11:48
    #32227259
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Вопрос такой:
Есть таблица 'first' в БД А2000 с текстовым полем 'name' .
Надо заполнить другую таблицу 'second' используя какой-нибудь edit или еще чего-то путем выбора из 'first.name' . Добавляем буковку в edit список выбора уменьшается и так далее (типа подсказки). Спасибо
...
Рейтинг: 0 / 0
05.08.2003, 12:05
    #32227295
Andrew Campball
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Если не ошибаюсь то поможет TDBLookupComboBox на вкладке Data Controls
...
Рейтинг: 0 / 0
05.08.2003, 12:15
    #32227305
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
не даёт он текст вводить - плохо
Он даёт всё таблицу прокручивать,а она большая блин (2000000 записей)
...
Рейтинг: 0 / 0
05.08.2003, 13:25
    #32227423
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Как настроить DbLookupcombobox? Киньте ссылочку
...
Рейтинг: 0 / 0
05.08.2003, 13:33
    #32227445
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
У меня была идея написать:
Код: 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
05.08.2003, 13:42
    #32227461
Andrew Campball
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Посмотри еще TRxDBLookupCombo (RxLib) или TDBLookupComboboxEh (EhLib).

AdoQuery1.sql.add('select * from name where name like '%:parametr'');
Так писать нельзя, лучше макро подстановкой.
...
Рейтинг: 0 / 0
06.08.2003, 06:40
    #32228123
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
ФИЛЬТР БУДЕТ БЛИЖЕ К ТЕМЕ. 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
06.08.2003, 07:50
    #32228132
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Там вместо 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
06.08.2003, 08:19
    #32228141
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
с TEdit такого не сделать .... надо TComboBox ..... и то геморно получиться . Все твои подсказки должны где то храниться, возможно даже в базе. потом когда ты в комобобоксе пишешь OnChange выскакивают фильтрованые записи.
а как эти записи туде попадают это другой вопрос. Потому что на OnChange пА-любому нельзя а надо на кнопочку... вот так ... Да и оно тебе надо вообще понты не больше ... ну если ты смелый делай все тоже самое с TComboBox, что ты сделал с TEdit. А там совместными усилиями может че и получиться.
...
Рейтинг: 0 / 0
06.08.2003, 08:35
    #32228153
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Понял. Надо делать через Едит а потом из результата запроса на dBGrid выбирать мышой (раз уж по другому никак)
...
Рейтинг: 0 / 0
06.08.2003, 08:53
    #32228169
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
я тебе говорю 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
06.08.2003, 09:00
    #32228177
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Код: 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
06.08.2003, 09:03
    #32228182
Cnupum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
вместо combobox1.DroppedDown:=true;
лучше поставить свойство
AutoDropDown - TRUE у TComboBox'a а то моргать будет и у меня курсор мыши баловаться начинает
...
Рейтинг: 0 / 0
06.08.2003, 09:44
    #32228223
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
Thanks
Мне только интересно зачем тогда нужен TDBLookupComboBox
...
Рейтинг: 0 / 0
06.08.2003, 09:57
    #32228244
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
> 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
06.08.2003, 10:50
    #32228341
realbold
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP !!! как сделать какой нибудь edit типа Lookup (ADO)
>Cnupum

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

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


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