如何在日期之间搜索?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在日期之间搜索?相关的知识,希望对你有一定的参考价值。

我使用ms访问数据库,我想在两个日期之间获取数据

stdate= starting date

edate=end date

我使用下面的代码。

Private Sub Label3_Click()
DataGrid1.Visible = True
Dim stdate As Date
Dim edate As Date
Format = stdate("mm/dd/yyyy")
Format = edate("mm/dd/yyyy")
stdate = Text1.Text
edate = Text2.Text

Adodc1.RecordSource = "SELECT * FROM sales_info WHERE  date BETWEEN &stdate& and              &edate& "
Adodc1.Refresh
End Sub

我得到的错误是:

syntax error expected array(in format statement)

 missing operator in query expression date.

谢谢

请帮助

我是初学者

答案

这段代码应该有效 -

Private Sub Label3_Click()
  DataGrid1.Visible = True
  Dim stdate As String
  Dim edate As String
  stdate = Format(Text1.Text, "mm/dd/yyyy")
  edate = Format(Text2.Text, "mm/dd/yyyy")

  Adodc1.RecordSource = "SELECT * FROM [sales_info] WHERE [date] BETWEEN #" & stdate & " and " & edate & "]"
  Adodc1.Refresh
End Sub

我也同意@Joe的意思,你不应该使用日期作为列名,因为它通常是一个保留字。 []解决这个问题,但从长远来看,这将使生活变得更加艰难。

另一答案

尝试更改字段的名称,因为date是保留关键字。

更改日期格式后使用符合VB6的格式(带#)

另一答案

格式= stdate(“mm / dd / yyyy”)和格式= edate(“mm / dd / yyyy”)行看起来对我来说看起来不是有效的VB6。

你需要通过将位粘在一起来构建查询字符串,解释器无法在引号内看到你想要一个变量在那里

“SELECT * FROM sales_info WHERE date BETWEEN#”&stdate&“#and#”&edate&“#”

另一答案

试试这是否有效。 :)

    Adodc1.RecordSource = = "SELECT * " & "FROM tbl " & _
        "WHERE Date >= #" & stdate & "# AND Date <= #" & edate & "# "
    Adodc1.Requery
另一答案

Table_1BindingSource.Filter =“DateColumnName> =#&DateTimePicker1.text&”#and DateColumName <=#“&DateTimePicker2.text&”#“

以上是关于如何在日期之间搜索?的主要内容,如果未能解决你的问题,请参考以下文章

如何在两个日期之间搜索以下数据?

如何搜索两个日期之间的记录。但表日期格式是 varchar

如何在渲染之间更改片段着色器颜色?

如何搜索与SQL两行之间寻找日期时间?

CakePHP 在 2 个日期记录之间搜索

两个日期之间的 Wordpress 搜索