如何用一个条目替换另一个 MS Access 报告?
Posted
技术标签:
【中文标题】如何用一个条目替换另一个 MS Access 报告?【英文标题】:How do I substitute one entry for another an MS Access report? 【发布时间】:2013-07-23 18:01:15 【问题描述】:我最近开始使用 MS Access 2010,我正在尝试从我创建的表单中生成标签。在表单中,用户输入三项信息:样式、颜色代码和计量单位 (UoM)。样式编号在表单和报告中的显示方式相同,我已经能够让它发挥作用。
但是,对于颜色代码,我需要输入的颜色代码和实际颜色才能显示在报告上。我有一个表,其中包含所有颜色代码以及相应的颜色名称。我无法弄清楚如何获取应该显示颜色名称的文本框来显示它。我几乎不知道 SQL,但我在互联网上找到了有关它的信息,并将此代码拼凑在 ControlSource 中,用于颜色名称应该位于的文本框:
=(SELECT [Description]
FROM [Color]
WHERE([Forms]![Box Label Form]![ThirdJoined]=[Color]![ColorCode]))
[Description] 是 [Color] 表中给出实际颜色名称的列的名称。
[框标签表单]是表单的名称。
[ThirdJoined] 是表单中输入文本框的名称。
[ColorCode] 是 [Color] 表中提供该颜色代码的列的名称。
此代码不起作用,只会导致#NAME 出现在打印预览视图中。我怎样才能让它工作,无论是代码还是其他方式?
【问题讨论】:
【参考方案1】:您不能将文本框的ControlSource
设置为 SQL 语句。您可以将其设置为 DLOOKUP 函数以查找单个值。您还需要使用连接 (&) 分隔对表单控件的引用。
=DLOOKUP("Description","[Color]","ColorCode='"&[Forms]![Box Label Form]![ThirdJoined]&"'")
我假设 Color 是一个文本值,所以表单值需要用撇号括起来。
如果在表单[Box Label Form]上使用此表达式,则无需限定控件的名称:
=DLOOKUP("Description","[Color]","ColorCode='"&[ThirdJoined]&"'")
【讨论】:
我尝试了代码的第一件事,它告诉我缺少结尾括号、括号或竖线。当我在它的末尾加上一个括号时,它没有给我那个错误消息,但是当我尝试打印预览时,它给了我#Error。 我已经更正了我的答案,因为括号需要在结束引号之后。但是你应该研究这个而不是仅仅复制和粘贴它。以上是关于如何用一个条目替换另一个 MS Access 报告?的主要内容,如果未能解决你的问题,请参考以下文章
如何用python中其他数据帧中的条目替换一个数据帧中列的丢失条目?