-
Добрый день! Вопрос: можно ли в 1 DBGRID добавить поля из нескольких таблиц с реляционной базы данных Access?
-
Да, можно.
-
если использовать ADODataset (т.е. работать с БД через SQL-запросы, а не прямым отображением таблиц)
ps в гриде нет полей, это дырка для показа полей из датасета
-
Вообще-то есть еще лукап-поля, но правильный совет
> [2] Правильный$Вася (18.11.08 11:30)
-
2 Правильный$Вася:
так проблема в том, что с SQL не работал вообще и не умею.
-
> [4] linox (18.11.08 11:44)
Учиться, учиться и еще раз учиться.
(с) В.И.Ленин
-
2 Sergey13 ©
согласен на все 100%... просто время поджимает...
-
> [6] linox (18.11.08 11:53)
Бог подаст.
-
2 Sergey13 ©
я атеист ))
-
> просто время поджимает...
ищите готового программиста со знанием sql.
-
> я атеист ))
это неважно, бог подает всем одинаково...
-
Запрос можно "нарисовать" в самом акцесе, воспользовавшись мастером, затем преобразовать его в сиквель и скопипастить в дельфишный ADODataSet.CommandText.
-
> скопипастить в дельфишный
А можно там и оставить, а в "дельфишный ADODataSet.CommandText" прописать его имя.
-
Нет.
Можно без ADO-ных компонент, "требующих" сиквеля.
Но тогда для его запуска и отображения результатов надо использовать сам аксцесс через COM интерфейс, что много сложнее, да и тормознутее.
Кроме того, для работы с mdb вам потребуется сам акцес, а его на ПК клиента может и не быть.
-
> linox (18.11.2008 11:53:06) [6]
Ничего останешься на второй год.
-
Anatoly Podgoretsky © (18.11.08 13:08) [14]
а разве не один год службы?
-
я уже не учюсь давно ))
ладно... тогда по-другому...
есть 2-е таблици связаны отношением 1 к многим...
идет заполнение в delphi средствами DBEdit.
1. Код
2. ФИО
3. Номер комнаты
4. С числа
5. По число
6. Оплата за день
7. Тип номера
(поля № комнаты, Оплата, тип номера во второй таблице). Как сделать так, когда я с помощью DBLookupComboBox1 выбирал № комнаты, а заполнение полей Оплата и тип номера делалось автоматически со второй таблицы
-
1. Использовать две сетки - в одной показывать поля мастера (ФИО, комнату), в другой - поля детала (оплата, тип номера)
Связку сделать с помощью средств датасетов или выборку детала по событию AfterScroll мастера
-
> linox (21.11.2008 11:09:16) [16]
> я уже не учюсь давно ))
Плохо, учиться нужно до самой смерти.
-
> Как сделать так, когда я с помощью DBLookupComboBox1 выбирал
> № комнаты, а заполнение полей Оплата и тип номера делалось
> автоматически со второй таблицы
Это надо делать в форме и делать два запроса в отдельной транзакции.