4
Private Sub Form_Open(Cancel As Integer)
  Me.Bathroom = Forms!frmBathrooms!ID
  Me.txtBathInfo.Caption = "Bathroom Room Number: " & 
        DLookup("Room", "tblRooms", "ID = " & 
           DLookup("Room", "tblBathrooms", "ID = " & Me.Bathroom))
  Me.RecordSource = "SELECT * FROM tblStalls WHERE Bathroom = " & Me.Bathroom
  Me.Recordset.AddNew
End Sub

其中第 2 行Me.Bathroom = Forms!frmBathrooms!ID正在触发错误。调试器说Me.Bathroom = 1, Forms!frmBathrooms!ID = 38。基本上我试图自动使这个表单的浴室字段与 frmBathrooms 表单的 ID 匹配。“我”是浴室物品的一种形式;可以有很多项目。

这到底是怎么抛出错误?尽管搜索了大约一个小时,但我找不到任何东西。我理解这个消息,但不知道这怎么可能抛出它?

Item 表的浴室字段在表单的记录源等中。想法?

4

3 回答 3

3

有同样的问题,但它与 VBA 语法无关。我试图在表单上设置一个控件(订单号)。必须计算这个订单号,我继续在 VBA 中进行计算。计算后我会尝试在表单上设置控件(订单号)。这在运行时触发了 2448 错误。随后我发现在表单设计中,我已经将控制源设置为计算。所以运行时 VBA 也不允许我设置控件。在表单设计中删除控件的控制源中的计算后 - >属性表窗口它工作正常。我承认,真的很愚蠢的错误,但你有它。希望这会有所帮助--X--

于 2016-03-20T10:37:12.503 回答
2

对于遇到同样问题的其他人,我所做的只是将第 2 行和第 3 行移到 Me.Recordset.AddNew 下方(以便在更改 Me.Bathroom 和标题之前更改源并添加新记录)。– 用户 1394455

于 2012-05-17T19:48:52.583 回答
0

主表单必须是可编辑的,以便更改下拉列表,即使在表单标题区域也是如此。(VBA 在加载时使其不可编辑。)

于 2019-04-02T12:55:26.207 回答