从列表框中自动填充文本框

问题描述 投票:0回答:1

我有一个名为 frmReferrals 的表单,其中三个文本框绑定到名为 tblReferrals 的表上的字段。

我正在尝试使用名为 List_HRPO 的列表框来自动填充三个文本框。

列表框的来源是名为 tblStudies 的表中的三列。

我希望用户单击列表框中的一行并自动填充三个文本框。

我还需要将这些值写入 frmReferrals。

Private Sub List_HRPO_Click()
    Me.hrpo_number = Me.List_HRPO.Column(0)
    Me.hrpo_short_title = Me.List_HRPO.Column(1)
    Me.ccir_number = Me.List_HRPO.Column(2)
End Sub

将文本框绑定到表格后,当我单击列表框行时,我得到:

“运行时错误‘-2147353567 (80020009)’:无法输入值
外连接“一侧”的空白字段”

我没有基于查询进行任何操作,所以我不明白这个“外连接”在哪里。

我可以通过解除文本框的绑定来避免错误。文本框会按预期自动填充,但文本框中的值不会写入表中。

vba ms-access ms-access-2016
1个回答
0
投票

我认为,此代码中出现错误Me.hrpo_number = Me.List_HRPO.Column(0)
最有可能的是,字段

hrpo_number
是表
identity
的关键字段 (
tblRefferals
)。通常,用户无法更新此列 - 将在将新记录插入表(在本例中为 tblReffferals)之前由 Access 生成此列中的增量值。

Private Sub List_HRPO_Click()
    ' comment this row. hrpo_number will be updated on "BeforeInsert" event
    'Me.hrpo_number = Me.List_HRPO.Column(0)
    Me.hrpo_short_title = Me.List_HRPO.Column(1)
    Me.ccir_number = Me.List_HRPO.Column(2)
End Sub

在没有看到数据库架构的情况下,很难说出需要更改什么。绝对不要更改表中的身份字段。 也许Access DBMS分配的值是相当合适的。

如果不是这种情况,请添加三个文本框数据源来提问。可能字段

ccir_number
链接到另一个表。

© www.soinside.com 2019 - 2024. All rights reserved.