Ms Access таблица или запрос - PullRequest
       9

Ms Access таблица или запрос

0 голосов
/ 28 апреля 2020

У меня есть очень интересный вопрос.

Допустим, у меня есть таблица в MS Access, которая имеет следующие 7 столбцов:

studentID, firstName, lastName, courseName, homework, grade, semester

Таблица берет 3 домашних задания за семестр и вычисляет среднее значение этих домашних заданий для каждого учащегося.

Теперь я хочу иметь другую таблицу / запрос, который будет иметь тот же заголовок, что и первая таблица, с идентификатором, указывающим на среднее (только среднее значение) из 3 домашних заданий. для каждого студента. Но когда вы щелкнете по полю id второй таблицы, откроется первая таблица с подробной информацией о 3 домашних заданиях для каждого учащегося.

Надеюсь, вы понимаете мой вопрос. Я закончил первую таблицу, но я не знаю, как go о второй таблице / запросе.

Заранее благодарен за ваш вклад.

1 Ответ

1 голос
/ 28 апреля 2020

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

Что касается щелкающей части, я сделаю лишь общее предложение, основанное на том, где, по моему мнению, вы находитесь в своем опыте программирования и какого рода проект, над которым вы, вероятно, работаете: вы, скорее всего, создадите форму (экран), которая отображает информацию из второй таблицы. Вы должны использовать Событие этой таблицы (например, событие «При нажатии на кнопку Dbl»), чтобы запустить отображение соответствующих записей из первой таблицы в другой форме. Потребуется некоторый код VBA, но вы должны сначала получить структуру - как вы хотите отображать информацию? Какой интерфейс вы хотите предоставить оператору? et c.

EDIT1: После вашего дополнительного описания я буду придерживаться моей первоначальной мысли, что в тот момент, когда запись добавляется в первую таблицу (таблицу подробностей), вы будете использовать VBA код (мы не достаточно далеко в вашем описании для меня, чтобы быть более точным c, чем это), чтобы также сделать среднее вычисление и обновить вторую таблицу. Затем вы бы написали отчет на второй стол. Отчеты не являются интерактивными, поэтому не нужно нажимать на отчет, чтобы открыть формы (насколько я знаю), но вы могли бы сделать это с помощью формы - если вы хотите приблизиться к ней таким образом, вместо использования отчета .

EDIT2:

Я бы предложил структуру, более похожую на эту. Обратите внимание на дополнительную таблицу «Студенты». Можно легко утверждать о таблице «Курсы», но я пропущу это для этого упражнения.

table Students:
studentID - Short Text
firstName - Short Text
lastName - Short Text

table Homework:
studentID - Short Text
courseName - Short Text
homework - Short Text
grade - Number
semester - Short Text

table Averages:
studentID - Short Text
courseName - Short Text
avg - Number
semester - Short Text

В вашей форме, где вы разрешаете редактирование таблицы Домашней работы, вы будете использовать Событие, которое делает смысл (тот, который будет срабатывать при каждом изменении данных - будет зависеть от того, какой элемент управления вы используете для представления своих данных оператору). Это событие должно вызвать код VBA, в котором вы будете пересчитывать обновленное среднее значение ученика, а затем обновите таблицу средних значений. Если вы сделаете это, таблица средних будет всегда актуальна. Затем вам нужно будет написать свой отчет (ы).

Что касается экранного «углубления» в детали, вы бы взяли форму, в которой вы отображаете таблицу средних значений для оператора и пишете некоторые из них. Код VBA в событии (например, «По двойному щелчку»). Этот код VBA должен был бы определить, какая запись была выбрана, а затем открыть форму, отображающую таблицу домашних заданий и фильтры только для выбранного учащегося.

В все вышеперечисленное, вы, вероятно, будете использовать запросы вместо таблиц, чтобы вы могли включить информацию об ученике (фамилия, имя).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...