Я пытаюсь заставить базу данных MS Access открыть форму либо на сегодняшнюю дату, если она находится в поле даты в базе данных, либо на ближайшую дату в будущем. Я попробовал код здесь , но он не работает. Он просто выделяет поле даты и переходит к первой записи вместо ближайшей в будущем.
Поле даты равно 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, который работает довольно хорошо.
Чего мне не хватает? Или есть другой, более простой способ сделать это?