这个 属性 是只读的,不能设置

This property is read-only and can't be set

我使用的是 Access 2010,但我生疏了……所以我创建了一个主窗体和一个未绑定的子窗体。未绑定到主窗体,我应该说,但绑定到记录源。一切正常。

在子表单中,我有一个名为 cboGIReqNbr 的下拉列表,其中包含 ID。我还有一个名为 txtGIReqNbr 的文本框。应该发生的是,当您从下拉列表中选择 cboGIReqNbr 时,txtGIReqNbr 应该会填充描述。

我在 cboGIReqNbr 的 AfterUpdate 事件中得到了这个:

Dim db As Database
Dim rec As Recordset
Dim sSql As String

Set db = CurrentDb

sSql = "Select GI_Request_Name from tblGIRequest where GI_Request_Nbr = '" & Me.cboGIReqNbr.Text & "'"

Set rec = db.OpenRecordset(sSql)

Me!txtGIReqNbr.SetFocus

Me!txtGIReqNbr.Text = rec(0)  <-- PROBLEM

Me.txtLanID = Forms!frmHoursAssigned.cboEmployee.Value

rec(0) 实际上会填充正确的文本。

我在问题行上得到的错误是; "This property is read-only and can't be set"。 None 我的对象应该是只读的,我可以在网上找到的所有示例都指向使用保留字的人(即使用 "Name" 作为字段名称)。

有人知道如何解决这个问题吗?

您应该使用 .Value 属性 为文本框赋值。 .Text 更改可见值,只能在字段具有焦点时使用。 .Value存储实际值,可以随时使用。

Me!txtGIReqNbr.Value = rec(0)

另见:Distinction between using .text and .value in VBA Access