我有一个表格(表格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
答案 0 :(得分: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]