2013-08-22 84 views
0

IAM使用MS Access數據庫,我想用下面的代碼的兩個日期如何在日期之間搜索?

stdate= starting date 

edate=end date 

IAM之間獲取數據。

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 

錯誤的IAM越來越是:

syntax error expected array(in format statement) 

missing operator in query expression date. 

感謝

plz幫助

IAM初學者

回答

0

嘗試改變你的領域的名字,因爲日期是保留關鍵字。

變更後的日期的格式使用兼容的格式VB6(以#)

0

的線格式= stdate( 「MM/DD/YYYY」)和格式= EDATE(「MM/DD/yyyy「) 對我來說看起來不像是有效的VB6。

您將需要由位粘合在一起打造的查詢字符串,解釋不能在引號內看明白了,你想有一個變量有

「SELECT * FROM SALES_INFO WHERE日之間#」 & stdate & 「#和#」 & EDATE & 「#」

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在您同意小號不能使用日期作爲列名,因爲它通常是一個保留字。 []解決了這個問題,但是從長遠來看,這會讓生活變得更加艱難。

0

試試看能否有效。 :)

Adodc1.RecordSource = = "SELECT * " & "FROM tbl " & _ 
     "WHERE Date >= #" & stdate & "# AND Date <= #" & edate & "# " 
    Adodc1.Requery 
相關問題