我正在尝试获取MS Access数据库以打开到当前日期的表单,如果该表单位于数据库的日期字段中,或者是将来的最近日期。我尝试了代码here,但是它不起作用。它仅突出显示日期字段,并转到第一条记录,而不是将来的最近记录。
日期字段为WorshipDate
,表为wp_elements
。 (我是一位牧师,使用该表计划星期天的崇拜)。
Private Sub Form_Load()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Dim TheDate As Date
Set db = CurrentDb
strSQL = "SELECT TOP 1 * FROM wp_elements WHERE wp_elements.WorshipDate >= Date() ORDER BY wp_elements.WorshipDate;"
Set rst = db.OpenRecordset(strSQL)
TheDate = rst.Fields(0)
WorshipDate.SetFocus
DoCmd.FindRecord TheDate, , True, , True
Set rst = Nothing
Set db = Nothing
'DoCmd.RunCommand acCmdRecordsGoToLast
End Sub
我知道我包含的SQL代码是有效的,因为我正在运行良好的Python脚本中使用它。
我想念的是什么?还是有其他更简单的方法可以做到这一点?
您只需要一行代码:
me.RecordSet.FindFirst "Date() >= WorshipDate"