Самоссылка мета-идентификатора из одной строки к идентификатору в другой строке и заполнение текстового поля связанным поиском - PullRequest
0 голосов
/ 05 ноября 2018

В моей базе данных Access есть таблица luDiatomTaxon, которая является источником записей для формы. В таблице есть следующие столбцы: ID, ScientificName, AcceptedTaxonID, Genus, Species и т. Д.

Иногда ScientificName, который был введен в данные, не является ПРИНЯТЫМ ScientificName из-за различий в том, как лаборатории перечисляют виды или отклонения, которые существуют у видов по регионам, т. Е. ScientificName, как указано в лаборатории, может иметь добавленное словосочетание в конце концов, чтобы дифференцировать характерные для региона характеристики идентифицированных видов. Однако в статистических целях отклонения, характерные для региона, не используются при обновлении в национальной базе данных.

По этой причине, если в поле AcceptedTaxonID есть запись, она ссылается на идентификатор для другой строки в той же таблице, которая имеет ACCEPTED ScientificName.

Мне нужно написать код, который будет - когда пользователь выбирает ScientificName в поле со списком в форме, и в таблице для этой строки есть AcceptedTaxonID - найти идентификатор, соответствующий AcceptedTaxonID, и заполнить текстовое поле с ScientificName для этого идентификатора.

Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 06 ноября 2018

Я использовал DLookup в DLookup. Кроме того, мне нужно было поместить его в оператор IIF - с помощью DLookup для части «выражения» функции IIF - так как мне нужно было указать, что должно произойти, если результаты DLookup будут равны Null (false). Ниже приведен источник управления для текстового поля «Принятый таксон». Когда пользователь выбирает «свое» научное имя из комбинированного списка, следующее утверждение для текстового поля использует то, что выбрано для поиска и отображения «принятого» научного имени, если оно существует, которое отличается от выбранного.

= IIf (Not IsNull (DLookUp («AcceptedTaxonID», «luDiatomTaxon», «ID =» & [cboDiatomTaxon])), DLookUp («ScientificName», «luDiatomTaxon», «ID =» & DLookUp («Accepted» , "luDiatomTaxon", "ID =" & [cboDiatomTaxon])), Null)

...