将链接表数据写入 Word(从 Access)
Posted
技术标签:
【中文标题】将链接表数据写入 Word(从 Access)【英文标题】:Writing Linked Table Data to Word (from Access) 【发布时间】:2013-04-19 14:30:16 【问题描述】:我修改了一些我看到的代码,它打开一个单词模板并通过用当前记录替换书签来填充它。一切正常,直到我尝试从链接(查找)表中写入内容,例如
表 A:
ID
Name
Description
JobType (lookup drop down list by JobTypeID in Table B)
表 B:
JobTypeID
JobType
C 型:
ID
Name
Description
JobType
这一切都按表单中的计划工作,并且在我单击按钮时最有效:
'code for connecting to word and opening templates works fine *snip*
With WordApp.Selection
.Goto what:=wdGoToBookmark, Name:="bmName"
.TypeText [Name]
但是当我使用时:
With WordApp.Selection
.Goto what:=wdGoToBookmark, Name:="bmJobType"
.TypeText [JobType]
它不写存储在表格中或显示在表单下拉框中的作业类型....它写的是用于的 JobTypeID (1,2,3,4....)链接。
我也尝试过使用 me.JobTypeComboBox.value 来自表单,但这也显示了 ID。 请有人指出我正确的方向。
【问题讨论】:
【参考方案1】:查找字段存储一个值但显示不同的值。在您的情况下,您似乎想要显示的值而不是存储的值。两种处理方法...
-
使用
INNER JOIN
表 B 到 表 A 的查询。然后在查询 SELECT
列表中包含 [Table B].JobType
应该会给你想要的。
使用DLookup
表达式检索当前[Table A].JobType
的[Table B].JobType
值
情况令人困惑,因为[Table A].JobType
实际上是一个对应于[Table B].JobTypeID
的数字。在[Table B]
中,名为JobType
的字段是别的东西……也许是一个文本字段。
希望这些细节对您而言不会像对我那样令人困惑。如果这是我的应用程序,我会将 [Table A].JobType
重命名为 [Table A].JobTypeID
并将其保留为简单的数字字段,而不是查找字段。并且可能还基于JobTypeID
在两个表之间创建关系。
【讨论】:
我选择了选项 2,查看了 DLookup 并决定使用:strJobTypeName = DLookup("JobType", "Table B", "JobTypeID = " & [JobType])以上是关于将链接表数据写入 Word(从 Access)的主要内容,如果未能解决你的问题,请参考以下文章
从 Access 插入/更新链接的 SQL Server 表
如何在拆分数据库中将表从前端链接到后端(MS Access 2010)
将 Access 数据库与 Mysql Server 链接并使用 Access 作为前端 [表问题]