我使用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.
谢谢
plz help
我是初学者
答案 0 :(得分:1)
此代码应该有效 -
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的意思,你不应该使用日期作为列名,因为它通常是一个保留字。 []解决这个问题,但从长远来看,这将使生活变得更加艰难。
答案 1 :(得分:0)
尝试更改字段的名称,因为日期是保留关键字。
更改日期格式后,使用符合VB6的格式(带#)
答案 2 :(得分:0)
行格式= stdate(“mm / dd / yyyy”)和格式= edate(“mm / dd / yyyy”) 对我来说看起来不是有效的VB6。
你需要通过将这些位粘合在一起来构建查询字符串,解释器无法在引号内看到你想要一个变量吗
“SELECT * FROM sales_info WHERE date BETWEEN#”& stdate& “#和#”& edate&“#”
答案 3 :(得分:0)
尝试这是否有效。 :)
Adodc1.RecordSource = = "SELECT * " & "FROM tbl " & _
"WHERE Date >= #" & stdate & "# AND Date <= #" & edate & "# "
Adodc1.Requery
答案 4 :(得分:0)
Table_1BindingSource.Filter =“ DateColumnName> =#&DateTimePicker1.text&”#and DateColumName <=#“&DateTimePicker2.text&”#“