![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть Две Таблицы(DBF) и SQL ;как их обьеденить в DBGrid [D7, Paradox]
Sliften © (2003-04-12 04:09:00)Есть Две Таблицы(DBF) и SQL 1(ID, ID_NAME,) 2(ID, FULLNAME,)
1 120 120 йогурт,,,
2 125 125 сервилат,,,,
SQL подставляет Полные имена из 2ой таблицы в 1ую как дополнительное поле которово физически в 1ой таблице не существует(FieldKind = fkLookup) Как можно добиться того чтобы в DBGrig можно было осущевстлять поиск или фильтрацыю по полю FULLNAME (//DBGrid выводит данные из 1ой таблицы)
Извините Что Так Подробно //Спасибо!!!
Sliften (2003-04-14 21:52:00) [1]ЮЮ огромное СПАСИБО ("UpdateSQL" Все оказалось проще пареной репы "как всегда" и нечего было Вас путать) И спасибо за участие в других вопросах. Буду рад и Дальше вас Слышать!!!
ЮЮ (2003-04-14 12:25:00) [2]И где здесь обещанная групипрвка ?
1)Т.к. записи не сортируются по Eck.NAME, то можно просто сделать Lookup поле.
2)UpdateSQL - "спасёт отца русской демократии", если не вертеться вокруг него, а указать созданный компонент в в св-ве UpdateObject запроса, а затем дважды кликнув по объекту сгенерировать нужные запросы для модификации Query
Соловьев (2003-04-14 09:50:00) [3]LocalSQL:
Multi-table queries
All queries that join two or more tableswill produce a read-only result set.
Sliften (2003-04-14 09:43:00) [4]Извините что запутал. Но пока я тут всех путат попутно выяснил что существуют "живые запросы" по двум таблицам с возможностью редактирования. И так SQL
SELECT Prises.ID_ECK, Prises.ID_Prise, Prises.ID_Post, Prises.Prise, Prises.Rest, Prises.Zakaz, Prises.Summa, Eck.NAME, Eck.SINONEM(Eck.SINONEM и есть поле связи)
FROM "Prises.DB" Prises,"ECK.DB" ECK
Where Prises.ID_ECK = ECK.ID_ECK
и все это выводятся в DBGrid
Участвуют 2 таблицы значит на прямую в DBGrid редактироваь поле Zakaz "нельзя" помогите живым примером разрешить это редактирование
Кручусь около
RequestLive = true
UpdateSQL
но выстроить цыпочку не могу
ЮЮ (2003-04-14 04:44:00) [5]Зря надеешься. Всех запутал.
Приведи полный текст запроса, ибо совсем не представляю, почему идет группировка справочника и как можно связать два запроса, не имея поля для связи
Sliften (2003-04-12 15:04:00) [6]Прошу Прощение Но Я упустил важную деталь. Во 2ой таблице идет групипрвка SQL по Полю(FULLNAME) 1 йогурт =
2 йогурт = йогурт (3 записи)
3 йогурт =
и значение ID теряется остается только (йогурт (3 записи))
Надеюсь Я не Ково не запутал //Спасибо!!!
Sliften (2003-04-12 14:25:00) [7]Да конечно поиск не в DBGrid а в TTable1 и методом Table1.Filter:= "FULLNAME = " + Edit1.text; // Но так не проходит //Спасибо!!!
ЮЮ (2003-04-12 06:22:00) [8]>как их обьеденить в DBGrid
Наличие FieldKind = fkLookup говорит о том, сто ты это уже сделал
>Как можно добиться того чтобы в DBGrig можно было осущевстлять поиск или фильтрацыю по полю FULLNAME
Поиск и фильтрация производятся в (над) DataSet-ом, отображаемом в DBGrid, а не в DBGride, судя по всему это - TTable.
Поиск первой записи - TTable.Locate, последующих - или перебором, или с помощью вспомогательного запроса + Locate по ключевому полю.
Фильтрация: TTable.Filter и TTable.Filtered.
Непосредственно грид не предоставляет пользовательского интерфейса для сортировки и поиска, так что всё равно прийдется использовать дополнительный DBLookupComboBox для задания условий, при этом пользователь будет выбирать из списка, подобному тому, что имеешь в Lookup-поле, а для получения "настоящего" значения сможешь использовать DBLookupComboBox.KeyValue. Если же для получени условий будешь использовать текущую запись, то в ней и так известно значение поля ID_NAME, хотя пользователь видит FULLNAME другой таблицы.