В настоящее время у меня есть отношение один к одному между двумя таблицами в MS Access, например:
Результаты студента
- StudentResultsID (первичный ключ, автономный номер)
- Различные поля, относящиеся к курсу.
Данные AVETMISS
- StudentResultsID (первичный ключ, длинное целое)
- Различные поля, относящиеся к конкретной бумажной форме, которую студент должен заполнять для каждого зачисления.
Когда пользователь добавляет новую запись в результаты для учащихся (это происходит каждый раз, когда студент зачисляется на курс), я хочу создать соответствующую запись в данных AVETMISS. Я думал, что это была функция создания отношений и обеспечения ссылочной целостности, однако даже при включенной опции я продолжаю получать несоответствия.
Если есть способ сделать это при настройке таблиц (или запросов) и отношений, которые были бы моим предпочтительным решением.
Если это невозможно, одно из решений, которое, как мне кажется, сработало бы, но гораздо менее идеально, - это настроить форму для AVETMISS Data для запуска некоторого кода или макроса при его открытии.
Something like this in the On Load property:
Does this StudentResultsID exist in AVETMISS Data?
Yes - Do nothing
No - Create new record with this StudentResultsID
РЕДАКТИРОВАТЬ: Мне пришло в голову, что свойство «После вставки» в форме «Результаты для учащихся» может быть лучшим кандидатом для такого решения.
Если мне нужно прибегнуть к этому решению, я был бы очень признателен за это, поскольку почти ничего не знаю о Visual Basic и не хочу изучать его для трехстрочного фрагмента кода.
Пожалуйста, обратите внимание - во время моего исследования я обнаружил, что многие люди подвергают сомнению обоснованность использования отношений один к одному. Я прочитал аргументы против использования этих отношений, и я уверен, что это совершенно необходимо для моей ситуации.