如何在日期之间搜索?
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&”#“
以上是关于如何在日期之间搜索?的主要内容,如果未能解决你的问题,请参考以下文章