0

我有一个表单(表单 A),它绑定到一个表和另一个表,它是我的主表(主表),包含所有信息。在表单 A 中,我在字段 ID 的更新后放置了一个代码,此代码使用表单上输入的 ID 查询主表并填充表单上的其他字段,如姓名、性别等。当我这样做时更新表单上的 ID 以输入记录,查询的值已填充到表单中,但随后它在所有其他字段上显示错误消息,上面写着“无法编辑控件,它已绑定到未知字段”。我不明白我做错了什么。有人可以帮我解决这个问题吗?

Private Sub ID_AfterUpdate()
    Me.RecordSource = "SELECT PERS_LNAME, PERS_FNAME, JOB_DETL_COLL_NAME, & _
        JOB_DETL_DEPT_NAME   FROM [main table] where ID = [Forms]![form A]![ID]"
    With Me
        .[Last Name].ControlSource = "PERS_LNAME"
        .[First Name].ControlSource = "PERS_FNAME"
        .[College].ControlSource = "JOB_DETL_COLL_NAME"
        .[Dept Name].ControlSource = "JOB_DETL_DEPT_NAME"
    End With
End Sub
4

1 回答 1

0

如果您尝试做的是根据输入的记录 ID 更新显示的信息,而不是更改控制源,因为它已经设置。尝试运行Me.Requery.

我可以从您的记录源语句中看到的一个问题是,您将 where 条件包含在引号内而不是引号内。这意味着您的查询将查找值ID = [Forms]![form A]![ID]而不是从该文本框返回的值。

Me.RecordSource = "SELECT PERS_LNAME, PERS_FNAME, JOB_DETL_COLL_NAME, " & _
     "JOB_DETL_DEPT_NAME   FROM [main table] where ID = " & [Forms]![form A]![ID]
于 2013-09-05T15:00:21.087 回答