Непонятно с выбором

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
ilovesomebody
Сообщения: 1
Зарегистрирован: 28 мар 2012, 12:57

Непонятно с выбором

Сообщение ilovesomebody » 28 мар 2012, 13:04

Добрый день уважаемые гуру. Прошу тыкнуть носом в ошибку :? Темы для новичков не нашёл.
Знакомлюсь с firebird недавно, у меня firebird embedded+ibexpert+delphi. Я пишу простую форму с двумя DBLookupcombobox.
Я имею таблицу с данными вида:
ID DISPETCHER YURLICO
1 Иванов Фирма1
2 Петров Фирма2
3 Сидоров Фирма1
4 Писькин Фирма2
Мой код:

Код: Выделить всё

  Form1.IBTransaction3.Active := False;
  Form1.IBQuery2.Active := False;
  Form1.IBQuery2.SQL.Clear;
  Form1.IBQuery2.SQL.Add ('SELECT DISPETCHER from DISPETCHER ');
  Form1.IBQuery2.SQL.Add (' where YURLICO = ''' +Form1.DBLookupComboBox1.Text+ ''' ');
  Form1.IBTransaction2.StartTransaction;
  Form1.IBQuery2.Open;
  Form1.IBTransaction2.Commit
Работает-то он правильно, только вот непонятно пара моментов:
1. Меню с выбором выпадает по одной строчке - гуглил, нашёл пару решений, но всё равно не помогает показать сразу все пункты в списке.
2. Если у меня выбрана "Фирма 2", я бы хотел видеть во втором комбобоксе только фамилии, относящиеся к "Фирме2"

Спасибо большое заранее всем всем за ответы, буду надеяться, что решу проблему.
Спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Непонятно с выбором

Сообщение kdv » 30 мар 2012, 00:15

я рекомендую почитать статью www.ibase.ru/devinfo/ibx.htm
у вас мешанина из active:=true и Open. Используйте что-то одно.
Open и сразу Commit - ясно что в IBX датасет сразу закроется, и записей в нем не будет. В этом случае нужно использовать ClientDataSet.
Где чего по одной строчке выпадает - я не знаю, возможно к лукапу прицеплен не тот запрос.
Ну и, как сделать мастер-деталь, показано в статье по ссылке выше.

Ответить