private Sub Command7_Click()
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + "and 图书编号='" + Trim(Text1.Text) + "'"
End If
End IfAdodc1.RecordSource = "select * from 图书信息 where" + str
Adodc1.Refresh
End Sub谢谢大家了!
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + "and 图书编号='" + Trim(Text1.Text) + "'"
End If
End IfAdodc1.RecordSource = "select * from 图书信息 where" + str
Adodc1.Refresh
End Sub谢谢大家了!
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then str = str + " 图书编号='" + Trim(Text1.Text) + "'"End IfAdodc1.RecordSource = "select * from 图书信息 where" + str
Adodc1.Refresh
End Sub
Adodc1.RecordSource = "select * from 图书信息 where " + strand前面,where后面有个空格
跟踪看一下str的值
前面不是有 str = "" 吗?
这样一来 Adodc1.RecordSource = "select * from 图书信息 where" + str
不就成了 Adodc1.RecordSource = "select * from 图书信息 where and 图书编号='" + Trim(Text1.Text) + "'"吗?
是语法错误,建议改为:
If Trim(Text1.Text) <> "" Then
str = str + " 图书编号='" + Trim(Text1.Text) + "'"
End If另外可以使用 Debug.Print "select * from 图书信息 where" + str 进行验证调试,就不会出现这种情况了。
但是,前面不是有 str = "" 吗?根据楼主的代码Else后面的那一条str = str + "and 图书编号='" + Trim(Text1.Text) + "'"是错误,并且是无意义的。应该去掉,除非在此之前还有其他查询条件。完整的代码应该是private Sub Command7_Click()
Dim str As String
Dim SQL As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
End If
End IfSQL= "select * from 图书信息 where" + str
Debug.Print SQL
Adodc1.RecordSource =Adodc1.RefreshSQL
End Sub
......
str = str + " and 图书编号='" + Trim(Text1.Text) + "'"
......
Adodc1.RecordSource = "select * from 图书信息 where " + str
.....
str = "图书编号'" + Trim(Text1.Text) + "'"
要改为:
str = "图书编号='" + Trim(Text1.Text) + "'"
Adodc1.RecordSource = "select * from 图书信息 where " + str
另外,
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + "and 图书编号='" + Trim(Text1.Text) + "'"
End If
既然str已经赋为""了,那下面的If str = "" ,else还有什么用呢?
放到其他地方,如果在private Sub Command7_Click()中, str = str + "and 图书编号='" + Trim(Text1.Text) + "'",这句就不会执行了在其他地方赋值,搂住可能作的是多条件查询?
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + " and 图书编号='" + Trim(Text1.Text) + "'" '此处的and 前应该有个空格
End If
End IfAdodc1.RecordSource = "select * from 图书信息 where" + str
Adodc1.Refresh
End Sub
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = "图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + " and 图书编号='" + Trim(Text1.Text) + "'" '此处的and 前应该有个空格
End If
End IfAdodc1.RecordSource = "select * from 图书信息 where 1=1 " + str
Adodc1.Refresh
End Sub
试试
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = " 图书编号'" + Trim(Text1.Text) + "'" 图书编号前面加空格 Else
str = str + " and 图书编号='" + Trim(Text1.Text) + "'" 'and前面加空格 End If
End IfAdodc1.RecordSource = "select * from 图书信息 where " + str 'where后面加空格
Adodc1.Refresh
End Sub
Dim str As String
str = ""
If Trim(Text1.Text) <> "" Then
If str = "" Then
str = " 图书编号'" + Trim(Text1.Text) + "'"
Else
str = str + " and 图书编号='" + Trim(Text1.Text) + "'"
End If
else '加上text1.text为空的时候,否则你的查询SQL语句有错误
End IfAdodc1.RecordSource = "select * from 图书信息 where" + str
Adodc1.Refresh
End Sub