错误2448:无法为此对象赋值...为什么不呢?

时间:2012-05-16 19:39:55

标签: ms-access

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匹配。 “我”是浴室用品的表格;可以有很多项目。

怎么会抛出错误?我找不到任何有关一小时搜索的信息。我理解这个消息,但不知道这是怎么扔的?

项目表的浴室字段位于表格的记录源等中。想法?

3 个答案:

答案 0 :(得分:2)

对于其他任何有同样问题的人,我所做的只是将第2行和第3行向下移动到Me.Recordset.AddNew以下(这样它就可以在更改Me.Bathroom和标题之前更改源并添加新记录)。 - user1394455

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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