#database #forms #ms-access #hyperlink
#База данных #формы #ms-access #гиперссылка
Вопрос:
У меня есть база данных access 2003 со многими таблицами. Вот пример того, чего я пытаюсь достичь. У меня есть таблица и форма для моих кандидатов. В этой таблице есть поле для имени и поле для регистрационного номера. Возможно ли, чтобы моя другая форма автоматически заполняла регистрационный номер в этой форме при выборе того же имени. Например, если у меня есть кандидат в моей таблице кандидатов с заполненным регистрационным номером. Если я выберу этого кандидата в своей другой форме, как я могу заставить его автоматически заполнять регистрационный номер. Надеюсь, это достаточно понятно. Буду признателен за любую помощь. Спасибо.
Ответ №1:
Это можно сделать несколькими способами.
Если вы используете поле со списком для выбора кандидата из таблицы кандидатов, регистрационный номер может быть одним из столбцов, и в этом случае вы можете просто обратиться к столбцу в controlsource текстового поля:
=MyCombo.Column(2)
Аналогично, вы можете использовать DLookup, но это может быть сравнительно медленным, если ваши таблицы большие:
=DlookUp("enrollmentnumber","candidates","UniqueNumericID=" UniqueNumericID)
Где UniqueNumericID — это элемент управления или поле (столбец) в форме или наборе записей формы.
Также может быть возможно создать запрос, содержащий все соответствующие данные, и использовать его для источника записей вашей формы. Обычно это довольно хорошее решение, например:
SELECT This, That, Candidates.EnrollmentNumber
FROM ExamsJunctionTable
INNER JOIN Candidates
ON ExamsJunctionTable.CandidateID = Candidates.UniqueCandidateID
Чтобы это работало правильно, вам необходимо убедиться, что ваша база данных хорошо настроена и что запросы, которые необходимо обновлять, можно обновлять.