
Я работаю над 2 базами данных, которые связаны между собой: Action Items List и UserInfo. Я импортировал Action item List с моего сайта Sharepoint.
Я пытаюсь отобразить только те «действия», которые соответствуют критерию [Введите свое имя]. Для этого я рассмотрел взаимосвязь двух баз данных, и мы видим, что «Owner.Value» (текстовый атрибут базы данных «Action Items list») связан с «ID» (внешний ключ базы данных UserInfo). Чтобы получить ожидаемые результаты, я запускаю запрос и ввожу свое имя, но получаю следующую ошибку:
Может быть, кто-то сможет мне помочь. Я полагаюсь на ваш опыт. Заранее спасибо за вашу поддержку!
решение1
Во-первых, исправим ваше DLookup
выражение: поскольку критерий фильтрует значение текстового поля ( Name
), значение, используемое для фильтра, должно быть заключено в одинарные или двойные кавычки, в противном случае результат будет следующим:
Name = Thomas Orvain
В результирующем SQL-коде поля и рассматриваются как отдельные поля Thomas
.Orvain
Чтобы исправить это, можно изменить DLookup
выражение следующим образом:
DLookup("Name", "UserInfo", "Name = '" & [Enter your name] & "'")
Однако, поскольку вы уже построили связь INNER JOIN
между Action Items List
таблицей и UserInfo
таблицей, DLookup
выражение будетвообще не требуется.
Вместо этого вы можете применить критерии отбора Name
непосредственно к полю, например, скопировав следующее в SQL-представление вашего запроса:
select
[Action Items List].Action,
[Action Items List].Status,
[Action Items List].Owner.Value
from
[Action Items List] inner join UserInfo on
[Action Items List].Owner.Value = UserInfo.ID
where
UserInfo.Name = [Enter your name]