您如何使用VBA将表格跳转到Access中最近的将来的日期?

问题描述 投票:1回答:1

我正在尝试获取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脚本中使用它。

我想念的是什么?还是有其他更简单的方法可以做到这一点?

sql vba ms-access access-vba ms-access-2016
1个回答
0
投票

您只需要一行代码:

me.RecordSet.FindFirst "Date() >= WorshipDate"
© www.soinside.com 2019 - 2024. All rights reserved.