杉杉服饰电话:关于VB中的SQL的一个小问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/11 20:41:55
为什么总告诉我FROM语法错误~
代码如下:

Private Sub Command1_Click()
Text2.Text = ""
Text3.Text = ""
On Error GoTo myerr
If Trim(Text1.Text) = "" Then
If MsgBox("请输入查询条件!", vbInformation, "提示") Then GoTo myerr
End If

Adodc1.RecordSource = "select * from 进货记录 where 商品名称='" & Text1.Text & "'"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
myerr:
End Sub

Private Sub Command2_Click()
Text1.Text = ""
Text3.Text = ""
On Error GoTo myerr
If Trim(Text2.Text) = "" Then
If MsgBox("请输入查询条件!", vbInformation, "提示") Then GoTo myerr
End If

Dim str
str = "select * from 进货记录 where 进货时间='" & (Trim(Text2.Text)) & "'"

Adodc1.RecordSource = str.Fields.Value
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
myerr:
End Sub

Private Sub Command3_Click()
Text2.Text = ""
Text1.Text = ""
On Error GoTo myerr
If Trim(Text3.Text) = "" Then
If MsgBox("请输入查询条件!", vbInformation, "提示") Then GoTo myerr
End If

Dim str
str = "select * from 进货记录"

Adodc1.RecordSource = str
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
myerr:
End Sub

Private Sub Command4_Click()
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
End Sub

下面这句代码有明显的语法错误:
str = "select * from 进货记录 where 进货时间='" & (Trim(Text2.Text)) & "'"

应该改为:
str = "select * from 进货记录 where 进货时间='" & Trim(Text2.Text) & "'"

另外,如果你使用SQL SERVER数据库的话,这样查询日期/时间是没有问题的,如果使用ACCESS数据库,对日期/时间字段的操作应该这样写:
str = "select * from 进货记录 where 进货时间=#" & Trim(Text2.Text) & "#"

这里感觉有问题

Adodc1.RecordSource = str.Fields.Value

为什么么要写成 “str.Fields.Value”

改成Adodc1.RecordSource = str才对呀~