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」:不能更新。數據庫或對象是隻讀的。
我幾乎使用相同的代碼一遍又一遍地重新加載從表中的數據,直到我「改寫」記錄的來源也從來沒有給我一個問題。任何想法如何解決這個問題?由於