这个 属性 是只读的,不能设置
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
我使用的是 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