2017-02-12 56 views
0

我在这里找到了几个答案,但没有任何接缝可以适应。将新记录添加到VBA中的子表格

问题:具有两列ID和名称的数据库表; 我在窗体上有一个文本框(我们称之为TextBox1)和一个子窗体(SubForm1),并且我想将ID写入文本框(或使用条形码读取器),查询表格On Change并将找到的记录添加到子窗体。我有一个查询,它的工作原理,我不能做的是保持先前发现的记录被覆盖。我寻找解决方案,没有接缝适合。我是VBA的新手,任何帮助将非常感谢。谢谢。

我到目前为止有:

Dim SQL As String 

Dim rs As Recordset 

SQL = "SELECT * FROM MyTable WHERE MyTable.ID =" & Chr$(34) & Me.TextBoxID.Text & Chr$(34) 

Set rs = CurrentDb.OpenRecordset(SQL) 

和查询wokrs,但我不知道该怎么做类似

Me.SubForm1.AddRecordMe.SubForm1.AddItem,使此前的纪录仍然存在,新的一个是添加?

可以这样做吗?如果子窗体无法完成,可以使用listbox完成吗?

+0

显示“工作”代码将是非常有用的,并增加获得有用答复的机会。 –

+0

就是这样,我不知道采取什么方法,什么是正确的方式来“添加记录”的形式。我试过了: –

回答

1

我用列表框做了它,但它很丑,如果有人有子窗体的解决方案,请张贴它。代码:

Private Sub TexBox1_Change() 

    Dim SQL As String 

    Dim rs As Recordset 

    SQL = "SELECT * FROM MyTable WHERE MyTable.ID =" & Chr$(34) & Me.TextBox1.Text & Chr$(34) 

    Set rs = CurrentDb.OpenRecordset(SQL) 

Me.ListBox1.AddItem(rs.fields(0) & ";" & rs.fields(1)) 

End Sub 

'的列表框标头中的Form_Load设定,加入第一个项目是首部,就没有办法,如果列表框行源类型被设置为从记录设置‘值’,并且它必须是所以可以添加项目...

相关问题