1
我有这样的形式访问,它的目的是为可通过这种形式进行编辑的表的前端工作。最初,当它加载我在表单中的数据从以下查询的记录显示:VBA和访问窗体筛选
SELECT * FROM DATA
我希望能够筛选上记录一次数据的形式是开放的。我尝试了以下VBA代码来完成此操作:
Private Sub Filter_Click()
If (IsNull(Me.Find_Field) Or Me.Find_Field = "") Then
rs.Close
Set rs = db.OpenRecordset("Select * from DATA ORDER BY ID)
rs.MoveFirst
LoadData (True)
Exit Sub
End If
Set rs = db.OpenRecordset("Select * from DATA WHERE ID = " & Me.Find_Field)
rs.MoveFirst
LoadData (True) ' Function that loads the data into the form
Exit Sub
正如大家可以看到的,我使用新的过滤查询重新加载记录集。到目前为止,它起作用,当我尝试修改记录时,问题就开始了。
原来,当窗体加载记录数据,我能够编辑数据,编辑后的数据将在表格中显示(这是我想要的)。但在我申请我的过滤器后,我的代码给我的运行时错误“3027”:不能更新。数据库或对象是只读的。
我几乎使用相同的代码一遍又一遍地重新加载从表中的数据,直到我“改写”记录的来源也从来没有给我一个问题。任何想法如何解决这个问题?由于