在“章节”表中检索作者的姓氏时,我需要帮助。
首先,要启动此示例,您需要两个表:
tblAuthors
ID FirstName LastName
1 Rob Cooper
2 Geoff Griffith
3 Teresa Hennig
4 Jerry Dennison
tblChapters
ID Author
1 Rob
2 Rob
3 Rob
4 Geoff
5 Geoff
6 Teresa
7 Jerry
在选择打开tblChapters表的同时,我单击“创建查询”按钮。
然后我添加字段ID和Author。在作者右侧,我为DLOOKUP()启动了构建器。
我的Dlookup使用字符串。
它不起作用。
你能帮我吗?
RetrieveLastName: DLookUp("[LastName]","[tblAuthors]","[FirstName]='" & [Author] & "'")
例如,当我输入它时,它会起作用:
RetrieveLastName: DLookUp("[LastName]","[tblAuthors]","[FirstName]='Teresa'")
但这不是我想要的。
谢谢!
我看过多个网站,并尝试过数字语法。
答案 0 :(得分:1)
如果我正确理解了您的问题,那么您正在寻找以下数据(来自表tblChapters
):
+----+--------+----------+
| id | Author | LastName |
+----+--------+----------+
| 1 | Rob | Cooper |
| 2 | Rob | Cooper |
| 3 | Rob | Cooper |
| 4 | Geoff | Griffith |
| 5 | Geoff | Griffith |
| 6 | Teresa | Hennig |
| 7 | Jerry | Dennison |
+----+--------+----------+
我建议不要在查询设置中使用DLookup,这只会让您头疼。
我建议您使用以下SQL:
SELECT tc.id, tc.Author, ta.LastName
FROM tblChapters tc
INNER JOIN tblAuthors ta ON tc.Author = ta.FirstName
ORDER BY tc.ID
如果您非常愿意使用Design View
在Access中设置查询,请使用以下命令:
查询设计>使用表tblChapters
和tblAuthors
,链接到tblChapters.Atuhor
= tblAuthors.FirstName
+--------+-------------+-------------+------------+
| Field: | id | Author | Lastname |
+--------+-------------+-------------+------------+
| Table: | tblChapters | tblChapters | tblAuthors |
+--------+-------------+-------------+------------+
侧面注释:此策略仅在没有重复的名字和/或两个表之间存在冲突的情况下有效。