我是 VBA 新手,我对以下问题有点困惑。 我有一个包含子表单的访问表单。 通过单击表单上的按钮,数据将添加到子表单,并通过以下代码刷新子表单:
Private Sub add_Click()
'add data to table
CurrentDb.Execute "insert into Daily_inputs_m (date, text) " & _
" Values ('" & Me.date & "','" & Me.text & "')"
'refresh data in list on form
Me.Daily_inputs_m_sub.Form.Requery
End Sub
我希望根据添加到表格中的“文本”来更改下一列的数据。所以请帮我解决这个问题。
例如,我有一个包含三列“date”、“text”、“text_1”的表,另一个包含“text”和“text_1”的表 在第一个表单中,有两个文本框和一个“添加”按钮,应在其中键入“日期”和“文本”,然后单击“添加”按钮后,将数据作为“日期”和“文本”添加到子表单中它代表一张桌子。
所以我希望“text_1”列会自动从第二个表中获取与“text”列匹配的数据。
为此我应该使用 dlookup 函数,但我不知道如何在 VBA 中执行此操作。
我终于找到了如何将 dlookup 函数放入 VBA Access 的解决方案:
Private Sub add_Click()
txt_1 As String
txt_1 = DLookup("[text_1]", "table_2", "text= '" & Forms!Daily_inputs!txt & "'")
'add data to table
CurrentDb.Execute "insert into Daily_inputs_m (date, text, text_1) " & _
" Values ('" & Me.date & "','" & Me.txt & "','" & txt_1 & "')"
'refresh data in list on form
Me.Daily_inputs_m_sub.Form.Requery
End Sub