我正在使用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;作为字段名称)。
任何人都知道如何解决这个问题?
答案 0 :(得分:2)
您应该使用.Value
属性为文本框指定值。 .Text
更改可见值,并且只能在字段具有焦点时使用。 .Value
存储实际值,可以随时使用。
Me!txtGIReqNbr.Value = rec(0)