【问题标题】:How to Requery a combobox of a subform inside a main form?如何重新查询主窗体内的子窗体的组合框?
【发布时间】:2021-08-11 17:33:14
【问题描述】:

我是 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.Home.SubformControlName.Form.ComboBoxName.
  • 感谢您回答我。 SubformControlName 在我的情况下是什么?莱维矿?
  • 这是您的子窗体所在的控件名称。选择它并转到属性 > 其他以查看其名称。
  • 非常感谢!!我解决了这个问题,因为我放置了子表单的名称,而不是放置在我的情况下为“SottomascheraSpostamento”的子控件名称
  • @KostasK.,可以写一个答案。

标签: sql vba ms-access combobox subform


【解决方案1】:

正确答案是以下符号:

Forms.NavigationBar.Subcontrolname.Form.Comboxname

所以在我的情况下是:

Forms.Home.SottomascheraSpostamento.Form.CasellaCombinata0

子控件不是子窗体的名称,而是子窗体所在的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多