Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подстановка значений [D7, XP]


SveT ©   (2007-01-16 23:37:00) 

Здравствуйте!

Прошу помощи -

при выборе (изменении) данных (поле n1 из табл. ZZZ.db) из combobox необходимо, чтобы данные из поля n2 тойже таблицы подставлялись в label "info".

procedure TTRF_TY.ComboBox1KeyPress(Sender: TObject;
 var Key: Char);
var s: string;

begin
 DMFrm.HQuery.Close;
 DMFrm.HQuery.SQL.Clear;
 ComboBox1.SelText := '';

 DMFrm.HQuery.SQL.Add('SELECT DISTINCT n1, n2 FROM "ZZZ.DB" WHERE n1 LIKE '''+ComboBox1.Text+'%''');

 DMFrm.HQuery.Open;
 DMFrm.HQuery.First;

 s:= ComboBox1.Text;
 ComboBox1.Clear;

 // Info.Caption :=' - '+DmFrm.HQuery.FieldByName('n2').AsString+' - ';

 While not DMFrm.HQuery.Eof do begin
 ComboBox1.Items.Add(DMFrm.HQuery.FieldByName('n1').AsString);

 DMFrm.HQuery.Next;
 end;
 ComboBox1.Text := s;
 ComboBox1.SelStart := length(s);

 end;


C уважением,


Svet   (2007-01-17 10:07:00) [1]

to Elen

Спасибо!


Elen   (2007-01-17 09:54:00) [2]


>  только при изменении n1 значения n2 добавляются, а не меняются.

Ну так перед этим кодом поставь
Info.Caption :=''


>  изменения происходят только при ручном наборе n1, если
> выбирать курсором из предложенных значений n1, то n2 не
> меняется

Это потому что код этот в keypressed прописан, пропиши его в Change


Svet   (2007-01-17 09:49:00) [3]

to Elen
While not DMFrm.HQuery.Eof do begin
ComboBox1.Items.Add(DMFrm.HQuery.FieldByName('n1').AsString);
Info.Caption :=Info.Caption+' - '+DmFrm.HQuery.FieldByName('n2').AsString+' - ';
DMFrm.HQuery.Next;
end;

идея верна, только при изменении n1 значения n2 добавляются, а не меняются.
И   еще - изменения происходят только при ручном наборе n1, если выбирать курсором из предложенных значений n1, то n2 не меняется.


Elen   (2007-01-17 09:08:00) [4]


> необходимо, чтобы данные из поля n2 тойже таблицы подставлялись
> в label "info"

Ну наверное имеется ввиду :


While not DMFrm.HQuery.Eof do begin
 ComboBox1.Items.Add(DMFrm.HQuery.FieldByName('n1').AsString);
  Info.Caption :=Info.Caption+' - '+DmFrm.HQuery.FieldByName('n2').AsString+' - ';
 DMFrm.HQuery.Next;
end;


Sergey13   (2007-01-17 09:04:00) [5]

> [0] SveT ©   (16.01.07 23:37)

Почему бы не воспользоваться ориентированным на это DBLookupCombobox-ом?


SveTT   (2007-01-17 09:02:00) [6]

.


Наверх

Титульная страница Поиск, карта сайта Написать письмо