【问题标题】:Writing Linked Table Data to Word (from Access)将链接表数据写入 Word(从 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。 请有人指出我正确的方向。

【问题讨论】:

    标签: ms-access ms-word vba


    【解决方案1】:

    查找字段存储一个值但显示不同的值。在您的情况下,您似乎想要显示的值而不是存储的值。两种处理方法...

    1. 使用INNER JOIN 表 B表 A 的查询。然后在查询 SELECT 列表中包含 [Table B].JobType 应该会给你想要的。
    2. 使用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])
    猜你喜欢
    • 1970-01-01
    • 2015-12-23
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2014-03-22
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多