sql - 访问 VBA 字符串以根据匹配条件返回最小和最大日期
问题描述
我正在尝试使用字符串从ExpectedTaskStart
指定表 ( tblLiveTasks
) 中的字段 () 中获取最小日期,使用两个 ID 字段 ( CASEID
) 上的匹配 ( ExpectedTaskStart
) 另一个 ( intCaseID
) 我要么没有返回,要么返回 0。我使用了下面概述的各种 VBA,但结果都相同;
'Dim rsLiveCaseSpecific As DAO.Recordset, Var, strSQL As String
Dim rsDates As Recordset
Dim strSQLGetMINDate As Double
Dim strSQLGetMAXDate As Date
Dim MINDate As String
Dim MAXDate As String
Dim intCaseID As Long
Dim intCaseID2 As Integer
Let intCaseID = Forms![frmHome]![FRMHOMECASEID]
'----------------------------------------------------------
'Below here needs sorting
MsgBox "Done New Tasks"
Let strSQLGetMINDate = DateValue("SELECT DMIN(CDate ([tblLiveTasks].[ExpectedTaskStart]) FROM tblLiveTasks WHERE CaseID = " & intCaseID)
Let strSQLGetMAXDate = DateValue("SELECT MAX ([tblLiveTasks].[ExpectedTaskEnd]) FROM tblLiveTasks WHERE CaseID = " & intCaseID)
MINDate = Format(strSQLGetMINDate, "#dd/mm/yyyy#")
MsgBox (MINDate)
MsgBox "Done Date Value"
MINDate = Format(#1/1/2020#, "dd/mm/yyyy")
MAXDate = Format(strSQLGetMAXDate, "dd/mm/yyyy")'
我也尝试将代码 SELECT MAX 更改为;DMIN/DMAX 但仍然没有结果。
解决方案
试试这种简化的方法:
Dim SQLGetMINDate As Date
Dim SQLGetMAXDate As Date
Dim MINDate As String
Dim MAXDate As String
Dim intCaseID As Long
intCaseID = Forms![frmHome]![FRMHOMECASEID]
SQLGetMINDate = DMin("[ExpectedTaskStart]", "[tblLiveTasks]", "CaseID = " & intCaseID & "")
SQLGetMAXDate = DMax("[ExpectedTaskEnd]", "[tblLiveTasks]", "CaseID = " & intCaseID & "")
MINDate = Format(SQLGetMINDate, "dd/mm/yyyy")
推荐阅读
- javascript - 正则表达式捕获未使用多行选项解析的日志
- python - 用字符串中的字典值替换基于索引范围的子字符串
- javascript - 我如何改用 Vue.js 用 AJAX jQuery 示例重写这个 Flask?
- python - 具有增强赋值的 Python 运算符优先级
- c# - 在 C# 中,有没有办法直接从数组创建列表而无需复制?
- sql - Snowflake SQL,使用参数化 SQL 一次插入多于 1 行
- android - 如何以编程方式更改 xml 可绘制属性
- jquery - 单击 li 时,将隐藏类添加到所有 li 但不添加到单击的 li 并删除类(如果该 li 已使用 jquery)
- linux - Unix - 在while循环中替换列值
- java - 垂直滑动手指以打开碎片