所以我一直在研究我的程序的下一步,它包含两个按钮,每个按钮应根据向用户询问的数据打开一个治疗表。
在互联网上搜索了一下之后,我发现以下语法应该成功了
Forms!FormName.RecordSource = Query
没有。
我的实际代码如下:
Private Sub BQueryDate_Click()
On Error GoTo Err_BQueryDate_Click
Dim stDocName As String
Dim stLinkCriteria As String
Forms!ShowTreatment.RecordSource = QueryDate
stDocName = "ShowTreatment"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_BQueryDate_Click:
Exit Sub
Err_BQueryDate_Click:
MsgBox Err.Description
Resume Exit_BQueryDate_Click
End Sub
“Showtreatment”曾经是一个显示表格治疗的每条记录的表格,但现在我想在查询QueryDate和QueryHospital之间切换,这样我就可以对数据进行排序。
当我点击按钮访问时,使用该代码告诉我在表单列表中找不到“ShowTreatment”。
我认为它可能是由于记录源线没有在正确的位置引起的,但是无论如何都无法使它工作,而且我没有找到任何适用于我的具体案例的例子,因为我发现每一个我试图在子表单上使用它,我需要更改普通表单。
编辑: 好吧,愚蠢的问题因为我在这里发现了类似的东西。 (如果我只搜索了3页)
Access VBA: Set record source of form on button click
我会试一试。
不。现在它只是问我日期和医院名称。我想我在这里缺少一些重要的东西。
代码
Forms.Item(MostTratamiento).RecordSource = "ConsultaQueryHospital"
不会给我一条错误信息(它甚至会询问我有关医院名称的信息),但不会更改记录来源,因此只显示默认值。
答案 0 :(得分:1)
像这样:
Private Sub BQueryDate_Click()
On Error GoTo Err_BQueryDate_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "ShowTreatment"
' we open first the form:
DoCmd.OpenForm stDocName, , , stLinkCriteria
' we then set up it's RecordSource:
Forms!ShowTreatment.RecordSource = "QueryDate"
Exit_BQueryDate_Click:
Exit Sub
Err_BQueryDate_Click:
MsgBox Err.Description
Resume Exit_BQueryDate_Click
End Sub