像這樣的東西應該給你一個工作框架。
Dim db As DAO.Database
Dim rs1 As DAO.Recordset
Set db = CurrentDb()
Set rs1 = db.OpenRecordset("SELECT DateTo, TenantName, TenantAddress1 FROM " & Me.RecordSource)
If rs1.RecordCount > 0 Then
rs1.MoveFirst
Do Until rs.EOF
MsgBox rs.Fields("DateTo") & ", " & rs.Fields("TenantName") & ", " & rs.Fields("TenantAddress1")
rs1.MoveNext
Loop
End If
rs1.Close
set rs1 = Nothing
set db = Nothing
您需要更改set rs1 = db...
行以包含您要添加的任何標準。
喜歡的東西:
set rs1 = db.OpenRecordset("SELECT DateTo, TenantName, TenantAddress1 FROM " & Me.RecordSource & " WHERE DateTo >= #1/1/2010#")
或者任何標準,你正在尋找。
呃,如果他有一個表格中的數據打開,爲什麼你在記錄集中打開它的第二個副本?爲什麼不使用表單或表單的記錄集之一? – 2010-09-20 21:20:47
只是把事情分開。我假定他希望表單中的數據不受任何他爲獲取消息框所做的過濾的影響。隨意提供使用表單記錄集的答案。 – KevenDenen 2010-09-20 21:52:29
他想循環查看記錄。如果您在表單的記錄集上執行此操作,它將移動表單中的當前記錄。但是這種方便的RecordsetClone(自至少Access 2以來就已經存在),它允許您導航表單記錄集的克隆而不會對錶單的記錄集產生任何影響。你的代碼不會做任何過濾,所以我不確定你爲什麼建議使用新記錄集。 – 2010-09-22 19:15:52