Ms access Access-2013将数据从一种表单的文本框传递到另一种表单';s自动编号文本框

Ms access Access-2013将数据从一种表单的文本框传递到另一种表单';s自动编号文本框,ms-access,textbox,vba,Ms Access,Textbox,Vba,我在将数据从一个表单的文本框传递到另一个表单的自动编号时遇到问题。我也是一个很新的访问DBs的人,我正在努力学习他们,现在我被难住了 我的意思是,当我双击第一个表单(Form1)上的列表时,我将数据从Form1传递到Form2,其余变量将被更新,除了变量TI_ID,因为这是一个自动编号。它也是主键,数据取自与3个表一起使用的查询 这是我为双击所做的VB事件 Private Sub TI_List_DblClick(Cancel As Integer) DoCmd.OpenForm "Import

我在将数据从一个表单的文本框传递到另一个表单的自动编号时遇到问题。我也是一个很新的访问DBs的人,我正在努力学习他们,现在我被难住了

我的意思是,当我双击第一个表单(
Form1
)上的列表时,我将数据从Form1传递到Form2,其余变量将被更新,除了变量
TI_ID
,因为这是一个自动编号。它也是
主键
,数据取自与3个表一起使用的查询

这是我为双击所做的VB事件

Private Sub TI_List_DblClick(Cancel As Integer)
DoCmd.OpenForm "ImportData"

Forms!ImportData.TI_ID = Me.TI_ID
Forms!ImportData.Know_ID = Me.Know_ID
Forms!ImportData.TI_Title = Me.TI_Title
它会抱怨并给我一个运行时错误

'438' Object doesn't support this property or method.
在表单2中,我有3个文本框和一个列表框,当您在列表框中选择s行时,它会自动更新上面的文本框。问题是,另外两个文本框(
Know_ID和TI_Title
)也会更新,但是
TI_ID
不会更新,因此如果我们更改标题,它将始终将数据保存到第一个
TI_ID
,然后移动到下一个

Private Sub SearchResults_Click()

TI_Title = SearchResults.Column(0)
'TI_ID = SearchResults.Column(1)
Know_ID = SearchResults.Column(2)


End Sub
正如您所看到的,列表框的
TI\u ID
部分将无法正常工作,并导致出现问题

我注意到在Form2的表单页脚上,我可以前后移动记录,甚至可以使用搜索来查找我想要的号码。这也将更新其他字段。当我单击更新记录的框时,它会更新正确的记录


有没有一种方法可以欺骗双击,而不是试图设置值,而是搜索数据,第一个字段上应该有相同的数字,而没有弹出窗口?如果我可以这样做,我可以用Form2的文本框做同样的事情吗?有没有更简单的方法可以让我忽略?

您不能将值传递给自动编号字段(TB2.PK)。这是一个身份字段。您可以添加包含要保留的ID的新记录

Table 1 
MyKey1 (autonumber)

Table 2 
MyKey2 (autonumber) 
MyKey1 (value from Table 1)

不能将值传递给自动编号字段(TB2.PK)。这是一个身份字段。您可以添加包含要保留的ID的新记录

Table 1 
MyKey1 (autonumber)

Table 2 
MyKey2 (autonumber) 
MyKey1 (value from Table 1)