На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Связи между таблицыми, Надо отобразить данные в dbgrid
    Добрый день. Мне необходимо отобразить данные в DBgrid в Delphi 7, используя ADOQuery, SQL и Access.
    Таблиц всего десять:
    Главная таблица в которой есть поля, данные берутся из других таблиц:
    1 производитель ноутбуков берется из таблицы "производитель ноутбуков"
    2 модель ноутбука берется из таблицы "модели ноутбуков", которая связана с "производители ноутбуков"
    3 производитель процессора берется из таблицы "производители процессоров"
    4 тип (поколение) процессора - берется из таблицы "поколение", которая связана с "произ процессоров"
    5 модель процессора - из таблицы модели, которая связана с "поколение"
    6 производитель монитора - из табл "произ мониторов"
    7 модель монитора - из табл модель монитора, которая связана с "произ. мониторов"
    8 производитель периф. ус-ва - из табл "производители периф. ус-ва"
    9 модель периф ус-ва - из табл модели периф ус-ва, которая связана с "производители"
    Вот, имеется картинка связей, в которой сложно разобраться - рисунок 1
    Далее, я создаю SQL-запрос - рисунок 2
    ВОт он
    ExpandedWrap disabled
      SELECT MainTable.*, Monitor.*, Notebook.*, Periph.*, Processor.*, CreatorMonitor.*, CreatorNotebook.*, CreatorPeriph.*, PokolProcessor.*, ModelProcessor.*
      FROM Processor RIGHT JOIN (PokolProcessor RIGHT JOIN (Periph RIGHT JOIN (Notebook RIGHT JOIN (Monitor RIGHT JOIN (ModelProcessor RIGHT JOIN (CreatorPeriph RIGHT JOIN (CreatorNotebook RIGHT JOIN (CreatorMonitor RIGHT JOIN MainTable ON CreatorMonitor.cmonitor_id = MainTable.monitor_model) ON CreatorNotebook.cnotebook_id = MainTable.notebook_model) ON CreatorPeriph.cperiph_id = MainTable.periph_model) ON ModelProcessor.model_id = MainTable.processor_model) ON (Monitor.monitor_id = MainTable.monitor_creator) AND (Monitor.monitor_id = CreatorMonitor.cmonitor_idsv)) ON (Notebook.notebook_id = MainTable.notebook_creator) AND (Notebook.notebook_id = CreatorNotebook.cnotebook_idsv)) ON (Periph.periph_id = MainTable.periph_creator) AND (Periph.periph_id = CreatorPeriph.cperiph_idsv)) ON (PokolProcessor.pokol_id = ModelProcessor.model_idsv) AND (PokolProcessor.pokol_id = MainTable.processor_type)) ON (Processor.processor_id = PokolProcessor.pokol_idsv) AND (Processor.processor_id = MainTable.processor_creator);


    Вставляя в ADOQuery в Delphi, после активируя его, вылезает ошибка "не поддерживается выражение объединения"

    Вот файл Access, если что


    Я Надеюсь очень на вас! Мне до завтра надо сделать это!

    user posted image
    user posted image

    Прикреплённый файлПрикреплённый файлbds.rar (23,71 Кбайт, скачиваний: 34)
      Добрый день. Работает ли в принципе выполнение запросов? Что если вместо вашего сложного выполнить простой?
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0705 ]   [ 17 queries used ]   [ Generated: 15.11.19, 09:41 GMT ]