无论如何,我可以在下面包含Max或Top1功能。
我正在尝试返回最新的日期值,但是由于数据库返回日期&时间格式我需要使用FORMAT
语法来纠正这个问题。
我在SELECT
和WHERE
条款中都尝试过,但无法让它工作
sSql = "SELECT FORMAT(Total.StockDate, 'dd/mm/yy' ) AS DateRev FROM " & Mailbox & Totals & " WHERE(Total.UnitCode=" & Sheets("Pipe Cleaning").Range("C4") & " )"
答案 0 :(得分:0)
嗯,你可以做一个子查询:
sSql = "SELECT FORMAT(StockDate, 'dd/mm/yy' ) AS DateRev FROM " & _
" (SELECT MAX(StockDate) StockDate FROM " & Mailbox & Totals & _
" WHERE(Total.UnitCode=" & Sheets("Pipe Cleaning").Range("C4") & " ) )"
但是获取日期值然后在VBA格式化可能更清晰:
sSql = " (SELECT MAX(StockDate) StockDate FROM " & Mailbox & Totals & _
" WHERE(Total.UnitCode=" & Sheets("Pipe Cleaning").Range("C4") & " ) "
.. execute SQL, store result in dtDate
sDate = Format(dtDate, "dd/mm/yy")
答案 1 :(得分:0)
将格式包装在MAX语句中。您必须将月份指定为上限 MM 。
样品:
Select Max(Format(mydatefield, 'dd/MM/yy')) from mytable