此属性是只读的,无法设置

时间:2017-12-04 16:42:30

标签: access-vba ms-access-2010

我正在使用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)确实填充了正确的文本。

我在问题行上遇到的错误是; &#34;此属性是只读的,无法设置&#34;。我的所有对象都不应该是只读的,我在网上找到的所有示例都指向人们使用保留字(即使用&#34; Name&#34;作为字段名称)。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

Me!txtGIReqNbr.Value = rec(0)

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