Конференция "Базы" » Реляционная база данных Access + DBGRID [D7, Access]
 
  • linox (18.11.08 11:27) [0]
    Добрый день! Вопрос: можно ли в 1 DBGRID добавить поля из нескольких таблиц с реляционной базы данных Access?
  • azamat © (18.11.08 11:30) [1]
    Да, можно.
  • Правильный$Вася (18.11.08 11:30) [2]
    если использовать ADODataset (т.е. работать с БД через SQL-запросы, а не прямым отображением таблиц)

    ps в гриде нет полей, это дырка для показа полей из датасета
  • Sergey13 © (18.11.08 11:42) [3]
    Вообще-то есть еще лукап-поля, но правильный совет

    > [2] Правильный$Вася   (18.11.08 11:30)
  • linox (18.11.08 11:44) [4]
    2 Правильный$Вася:
    так проблема в том, что с SQL не работал вообще и не умею.
  • Sergey13 © (18.11.08 11:48) [5]
    > [4] linox   (18.11.08 11:44)

    Учиться, учиться и еще раз учиться.
    (с) В.И.Ленин
  • linox (18.11.08 11:53) [6]
    2 Sergey13 ©  
    согласен на все 100%... просто время поджимает...
  • Sergey13 © (18.11.08 11:57) [7]
    > [6] linox   (18.11.08 11:53)

    Бог подаст.
  • linox (18.11.08 12:00) [8]
    2 Sergey13 ©  
    я атеист ))
  • sniknik © (18.11.08 12:01) [9]
    > просто время поджимает...
    ищите готового программиста со знанием sql.
  • sniknik © (18.11.08 12:02) [10]
    > я атеист ))
    это неважно, бог подает всем одинаково...
  • MsGuns © (18.11.08 12:16) [11]
    Запрос можно "нарисовать" в самом акцесе, воспользовавшись мастером, затем преобразовать его в сиквель и скопипастить в дельфишный ADODataSet.CommandText.
  • b z (18.11.08 12:31) [12]

    > скопипастить в дельфишный
    А можно там и оставить, а в "дельфишный ADODataSet.CommandText" прописать его имя.
  • MsGuns © (18.11.08 12:46) [13]
    Нет.
    Можно без ADO-ных компонент, "требующих" сиквеля.
    Но тогда для его запуска и отображения результатов надо использовать сам аксцесс через COM интерфейс, что много сложнее, да и тормознутее.
    Кроме того, для работы с mdb вам потребуется сам акцес, а его на ПК клиента может и не быть.
  • Anatoly Podgoretsky © (18.11.08 13:08) [14]
    > linox  (18.11.2008 11:53:06)  [6]

    Ничего останешься на второй год.
  • Slym © (19.11.08 05:51) [15]
    Anatoly Podgoretsky ©   (18.11.08 13:08) [14]
    а разве не один год службы?
  • linox (21.11.08 11:09) [16]
    я уже не учюсь давно ))
    ладно... тогда по-другому...
    есть 2-е таблици связаны отношением 1 к многим...
    идет заполнение в delphi средствами DBEdit.
    1. Код
    2. ФИО
    3. Номер комнаты
    4. С числа
    5. По число
    6. Оплата за день
    7. Тип номера
    (поля № комнаты, Оплата, тип номера во второй таблице). Как сделать так, когда я с помощью DBLookupComboBox1 выбирал № комнаты, а заполнение полей Оплата и тип номера делалось автоматически со второй таблицы
  • MsGuns © (21.11.08 11:37) [17]
    1. Использовать две сетки - в одной показывать поля мастера (ФИО, комнату), в другой - поля детала (оплата, тип номера)

    Связку сделать с помощью средств датасетов или выборку детала по событию AfterScroll мастера
  • Anatoly Podgoretsky © (21.11.08 11:39) [18]
    > linox  (21.11.2008 11:09:16)  [16]

    > я уже не учюсь давно ))

    Плохо, учиться нужно до самой смерти.
  • Anatoly Podgoretsky © (21.11.08 11:41) [19]

    > Как сделать так, когда я с помощью DBLookupComboBox1 выбирал
    > № комнаты, а заполнение полей Оплата и тип номера делалось
    > автоматически со второй таблицы

    Это надо делать в форме и делать два запроса в отдельной транзакции.
 
Конференция "Базы" » Реляционная база данных Access + DBGRID [D7, Access]
Есть новые Нет новых   [134477   +39][b:0][p:0.001]