【问题标题】:VBA query data containing today's date in a column在列中包含今天日期的 VBA 查询数据
【发布时间】:2021-07-14 09:17:39
【问题描述】:

我正在尝试在 VBA 中编写一个查询语句来从 DB2 中提取数据。 DAILY_REPORT 表中的一列是 DATE,其格式为“5/20/2020 7:55:01 AM”。我有兴趣在没有时间的情况下提取与今天日期相对应的数据。下面给了我我需要的结果,但日期必须是硬输入的。如何使查询动态化?考虑使用GETDATE()函数。

   Sub Report()


   Dim NSQL As String
   Dim conn As Object
   Dim rstRecordset As Object

   Const connPath As String = "DSN=;UID=;PWD=;DBALIAS="
   Set conn = CreateObject("ADODB.Connection")
   conn.Open connPath
   
   NSQL = ""
   NSQL = NSQL & "SELECT TECH,ID,MY_DATE FROM DAILY_REPORT WHERE cast(MY_DATE as date)= '2021-07-14'"
   
Set rstRecordset = CreateObject("ADODB.Recordset")
   rstRecordset.Open _
       Source:=NSQL, _
       ActiveConnection:=conn, _
       CursorType:=adOpenStatic, _
       LockType:=adLockReadOnly, _
       Options:=adCmdText
   
   With ActiveSheet.QueryTables.Add( _
           Connection:=rstRecordset, _
           Destination:=Range("A1"))
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = True
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .PreserveColumnInfo = True
       .Refresh BackgroundQuery:=False
   End With


rstRecordset.Close
Set rstRecordset = Nothing
conn.Close
Set conn = Nothing

Sheets("Data").Visible = True

Call SaveAsCSV_Data

End Sub

感谢大家的帮助。

【问题讨论】:

  • 你有没有尝试过?
  • 你使用的是什么版本的 db2?
  • 问题更像是你尝试过类似this的东西吗?
  • 我使用的是 V11.1
  • 编辑了帖子以显示我到目前为止所做的事情

标签: sql excel vba


【解决方案1】:

了解您正确地转换了未格式化的日期,您可以尝试当前日期:

WHERE cast(MY_DATE as date)= CURRENT DATE

如果你的演员不起作用,你可以使用函数TO_DATE() + DATE():

WHERE 
  DATE(TO_DATE(MY_DATE, 'MM/DD/YYYY HH:MI:SS AM')) = CURRENT DATE

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    相关资源
    最近更新 更多