SQL in xl VBA日期搜索查询

时间:2016-07-13 19:47:10

标签: sql excel-vba vba excel

我在XL2010中有一个FROM和TO单元格引用,用于以dd / mm / yyyy格式输入日期。

但是,如果我在FROM和TO中输入相同的日期,则一无所获。 我的查询出了什么问题?

如果我将TO更改为第二天,它会在FROM日期中找到所有内容。 然而,我的查询是否使用> =和< =,因此,对于TO字段来说,它是如何相等的?

Dim sDate As Date
    sDate = Cells(6, 2)
Dim fDate As Date
    fDate = Cells(6, 3)

Sheets("Appts").Select
Range("A1").Select

Dim appt As String
appt = "SELECT CONVERT(VARCHAR(10), slot_dt, 103) AS date, time " _
        & "FROM slotapp " _
        & "WHERE ( slot_dt >= '" & sDate & "' AND slot_dt <= '" & fDate & "' ) " _
        & "ORDER BY slot_dt"

1 个答案:

答案 0 :(得分:0)

看起来slot_dt是日期时间字段。您遇到的问题是由于时间部分。我认为您可以使用 sDate fDate 的日期值并将&lt; = 更改为&lt;

Dim sDate As Date
    sDate = DateValue(Cells(6, 2))
Dim fDate As Date
    fDate = DateValue(Cells(6, 3)) + 1

Sheets("Appts").Select
Range("A1").Select

Dim appt As String
appt = "SELECT CONVERT(VARCHAR(10), slot_dt, 103) AS date, time " _
        & "FROM slotapp " _
        & "WHERE ( slot_dt >= '" & sDate & "' AND slot_dt < '" & fDate & "' ) " _
        & "ORDER BY slot_dt"