Проблема с отношениями Access из-за того, что данные не извлекаются для исправления таблицы

#sql #database #ms-access #ms-access-2013

#sql #База данных #ms-access #ms-access-2013

Вопрос:

Похоже, моя база данных работает некорректно. Среди прочего, что я обнаружил на этом пути (!), я не могу получить значения платежей за экзамены в таблице ПЛАТЕЖЕЙ, чтобы они отображались в таблице экзаменов, как они отображаются для классов в таблице КЛАССОВ.

Вот таблица отношений в Access.

Я хотел бы, чтобы в таблице EXAM отображались платежи, но это не так, и отображаются только записи из таблицы ПЛАТЕЖЕЙ для классов, подобных here .

Вот значения в таблице ПЛАТЕЖЕЙ за экзамены, которые я хотел бы

.

Я не могу получить полный SQL фактической базы данных из Access, поскольку он этого не позволяет, но я могу получить некоторый SQL, выполнив запрос со всеми таблицами, но имейте в виду, что я не могу запрограммировать какие-либо предложения в базу данных, только я могу изменить отношения и типы соединений на экране визуальных отношений: pastebin.com/RS6tT8C3

 SELECT 
FROM (Parent INNER JOIN Student ON Parent.[Parent ID] = Student.[Parent ID]) INNER JOIN (([Exam Type] LEFT JOIN (Exam INNER JOIN [Exam Results] ON Exam.[Exam ID] = [Exam Results].[Exam ID]) ON [Exam Type].[Exam Type ID] = Exam.[Exam Type ID]) RIGHT JOIN (([Class Type] LEFT JOIN (Class INNER JOIN Attendance ON Class.[Class ID] = Attendance.[Class ID]) ON [Class Type].[Class Type ID] = Class.[Class Type ID]) RIGHT JOIN Payment ON Class.[Class ID] = Payment.[Class ID]) ON Exam.[Exam ID] = Payment.[Exam ID]) ON (Student.[Student ID] = Payment.[Student ID]) AND (Student.[Student ID] = [Exam Results].[Student ID]) AND (Student.[Student ID] = Attendance.[Student ID]);
  

Вчера чрезвычайно полезный менеджер базы данных предложил мне в IRC, что я должен сделать:

 payments left join exams on examid = examid left join classes classid = classid
  

Что, я полагаю, я смог сделать, изменив параметр типа соединения на вкладке «Отношения», но, похоже, это не сработало. Я только что выполнил 1 модуль базы данных без программирования на SQL, так что это была крутая кривая обучения!

Дошло до того, что все кажется слишком сложным, и я теряю представление о вещах, lol, Если бы кто-нибудь мог дать мне какой-либо совет в ближайшие несколько часов, поскольку у меня есть задание, которое нужно сдать сегодня, тогда это было бы очень ценно. Спасибо!

** Я также включу полный файл базы данных.

Ответ №1:

Сначала давайте посмотрим, находимся ли мы на одной странице. Это выглядит так, как будто вы хотите иметь возможность видеть платежи за экзамены при выборе дополнительной таблицы. если это так, перейдите к таблице exam и переключитесь на Design Mode затем выберите Property Sheet , а затем измените поле под Subdatasheet Name на таблицу, которую вы хотите. затем сопоставьте [Exam ID] под Link Child Filds и Link Master Fields

введите описание изображения здесь

PS. Это идеальный способ представления данных пользователям, вам следует рассмотреть возможность использования форм для лучшего контроля. Просто примечание, хотя и не по теме, не рекомендуется использовать пробелы в именах таблиц или заголовках столбцов таблицы.