如何重新查询主窗体内子窗体的组合框?

问题描述

我是 MS Access 的初学者,这是我的问题;)

  • Home 是主窗体的名称
  • levisite 是子表单的名称
  • CasellaCombinata0 是组合框的名称

这是与单击组合框时的事件相关联的代码 (VBA),我在其中调用名为 LastVisit查询

Private Sub CasellaCombinata0_Click()
   Dim Variable1 As Date
   Variable1 = DLookup("reservationdate","LastVisit")
   Me.disSelected.Caption = "The last visit was: " & Variable1
End Sub

这是查询“LastVisit”的代码sql):

SELECT Max(reservation_date) AS reservationdate
FROM Appointment
WHERE (((Appointment.ID_SP) = TempVars!TempID) 
  And ((Appointment.ID_patient) = Forms![levisite].[CasellaCombinata0]));

我不知道最后一个符号是否正确:Forms![levisite].[CasellaCombinata0]。我收到此错误

运行时错误“2450”应用程序找不到表单“levisite”。

但是当我直接将它运行到子表单时,它可以工作,但我不知道问题出在哪里。感谢关注!

解决方法

正确答案是以下符号:

Forms.NavigationBar.Subcontrolname.Form.Comboxname

所以在我的情况下是:

Forms.Home.SottomascheraSpostamento.Form.CasellaCombinata0

子控件不是子表单的名称,而是子表单所在的位置。