| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > TDBGrid |
| Автор: pavelv 17.7.2006, 06:50 |
| У меня есть две таблицы на InterBase. В одной помимо кучи инфы хранятся номера, информация о которых занесена в другую таблицу - справочник. Тоесть к примеру Table1: name - varchar(25) num - int Table2: info - varchar(25) number - int Я хочу в гриде отобразить информацию из 1ой таблицы, но вместо num показать info из таблицы два, при условии что num совпал с number. Не могу найти куда вписать такой sql запрос, чтобы всё отображалось? P.S> Надеюсь в нужный раздел написал, а то вроде в оба подходит. |
| Автор: Ramin 17.7.2006, 09:43 | ||
как это где? DataSet.SQL.Text:='// сюда'; воопшето компоненты доступа на БД какие? |
| Автор: ТоляМБА 17.7.2006, 09:48 | ||
|
| Автор: pavelv 17.7.2006, 10:32 |
| дане sql запрос как написать я понимаю. Ramin поподробней можно. У меня DBGrid1:TDBGrid У него в датасурс выбрана table1. И значит мне доступна инфа только из table1, как мне завести колонку в этом DbGrid1, чтобы там отобразилась инфа из table2 учитывая вышесказанные условия. P.S> Толи я тормоз, но чота dataset(я TibQuery пользуюсь) тут непричем. Ты мне сказал компонент для выполнения sql запроса, но как этот запрос к гриду привязать? |
| Автор: Ramin 17.7.2006, 10:38 | ||||
да вам ешё книжки почитать нужно! для этого ТIBТабле вам не поможет нужно исползывать TIBQuery! TibQuery->TDataSource->TDBGrid...
|
| Автор: pavelv 17.7.2006, 11:32 |
| Если честно я просто не шипко ориентируюсь в этих компонентах для БД. Но в TIBTable видно какие-то поля MasterSource, KeyFields....в общем есть подозрение, что через него тоже можно выудить поле из другой таблицы. Заморачиваться не стал, сейчас делаю через TIBQuery и новый DataSource. Ramin спасибо конечно за помощь....видимо я плохо вопрос сформулировал, хотелось конечно без новых DataSource и прочей лабуды ввести sql запрос непосредственно в Grid...как я понял такого сделать нельзя. |
| Автор: SergeBS 17.7.2006, 12:59 |
| pavelv, Fields Editor: New Field -> назови например numinfo, type=string, size = 25 - как у info, Field type = lookup, Dataset = кто к table2 подключен. keyfields = num (table1) lookup keys = number (table2) Result Field = info (table2) Все. Dublclick на гриде, это поле отражающем(таблицу 1) - выкатит (по умолчанию) - кнопку-треугольник, по кнопке - список таблицы 2(info) Это если редактировать надо. А если просто отображать - запрос как у ТоляМБА-IBQuery-datasource-dbgrid. |
| Автор: Mu57Di3 18.7.2006, 09:20 | ||
Предыдущий пост верен но вот еще вариант SQL запрос
Закидывай этот запрос в IBQuery и подсоединяй его к своему набору данных. Должон сделать все что требуется. |
| Автор: pavelv 18.7.2006, 11:17 |
| Всем спасибо сделал через TIBQuery. |