如果不填的话,编辑框值为 '%'
如果有值的话,编辑框为'%5%'
我这里想要找出所有 phone 带'5'的记录并且work带‘s’的记录, 这样就完成我的组合查询
我是用VB+ADO+ACCSEE
可是记录出不来,而且按照的我意思,编辑框都不填,应该把所有记录都出来
但是错在哪里呢?
30 个解决方案
#1
如果偶没记错的话'%'好象对并不适用于Acess,Acess应该使用'*'和'?'.
#2
我用过 * 了,没用
#3
在access中通配符是 *,不是%,$是sqlserver中的通配符。
如果还有问题,你可以在access中的sql视图中先执行一下,看是不是sql语句的问题。
如果还有问题,你可以在access中的sql视图中先执行一下,看是不是sql语句的问题。
#4
都like “%”了,还会有什么出来啊!
在运行sql语句之前加一判断吧!
在运行sql语句之前加一判断吧!
#5
like '%'
%是关键字,你那样可能有问题。
%是关键字,你那样可能有问题。
#6
你是社么数据库,用撒饿统配副~~~~~~~~~~~~~
#7
% 不是说是代表任意条件吗?
这样说吧,
在VB ADO ACCSEE 中查找个任意条件的怎么写,不过这个条件会变化的
这样说吧,
在VB ADO ACCSEE 中查找个任意条件的怎么写,不过这个条件会变化的
#8
VB语法肯定没出错
因为别的简单sql查询可以实现
而且都是字符串
因为别的简单sql查询可以实现
而且都是字符串
#9
@_@
#10
Select * from tongdata where work like '*s*' and phone like '*5*'
Access里面的统配符是*,SqlServer里面才是%
Access里面的统配符是*,SqlServer里面才是%
#11
是否可改成:
"Select * from tongdata where work like '*" & "s" & "and phone like '*" & "5" & '*"
先试试吧,我是从一个例子中找到的
"Select * from tongdata where work like '*" & "s" & "and phone like '*" & "5" & '*"
先试试吧,我是从一个例子中找到的
#12
我记的好象如OLD_VB_FAN(蓝星)所写,但记不太清了
是要一些'&"的组合,多试试
是要一些'&"的组合,多试试
#13
没用 改成*了就一个记录也不实现了
#14
你的SQL好象没错但有几个地方要留意:
1:如果RecordCount返回-1,可能OPEN有问题(游标,键集)
2:如果RecordCount返回0,数据库中是否有这样的数据
1:如果RecordCount返回-1,可能OPEN有问题(游标,键集)
2:如果RecordCount返回0,数据库中是否有这样的数据
#15
name like '%' and 可以省略
#16
我终于发现自己提的问题是怎么回事了,原来 "Select * From tongdata where name Like '%'"不能将数据表中 name没有记录的记录查询出来, 于是又有了个新问题,我如何将数据表中任意条件的记录sql出来,包括空字符?
例如 Select * from tongdata where name Like ?????
因为name的条件我事先不知道,
例如 Select * from tongdata where name Like ?????
因为name的条件我事先不知道,
#17
不用管NAME字段,WHERE中不用写
#18
如:Select * from tongdata where and work like '%s%' and phone like '%5%' 找出所有 phone 带'5'的记录并且work带‘s’的记录
Select * from tongdata 找出所有的记录
Select * from tongdata 找出所有的记录
#19
用汉字做字段名---至命错误。
#20
用下面语句就可以把所有记录全部显示出来了
Select * from tongdata
Select * from tongdata
#21
给你看看我的语句。你去试试。
sql = "SELECT * FROM info WHERE " & Fld & "=""" & TFld & """"
sql = "SELECT * FROM info WHERE " & Fld & "=""" & TFld & """"
#22
MM的答复果然多。我的问题怎么美人答
#23
*和?是应用在DAO中的,在ADO中必须使用%和_才可以;
name like '%'不要写了
name like '%'不要写了
#24
strTxt = "'%" & txt1.Text & "%'"
strQ2 = "ename" & " " & strQ3 & " " & strTxt
strQ2 = "select * from evect " & " where " & strQ2
Set adoPrimaryRS2 = New Recordset
adoPrimaryRS2.Open strQ2, db, adOpenStatic, adLockOptimistic
我的环境和你的一样,用以上的句子没有毛病啊。从源程序中摘录出来的
strQ2 = "ename" & " " & strQ3 & " " & strTxt
strQ2 = "select * from evect " & " where " & strQ2
Set adoPrimaryRS2 = New Recordset
adoPrimaryRS2.Open strQ2, db, adOpenStatic, adLockOptimistic
我的环境和你的一样,用以上的句子没有毛病啊。从源程序中摘录出来的
#25
你的话是什么意思我怎么理解不了那???不过,如果你是想找东西的,可以做个判断的。当name的字段没有输入条件的时候,就不用它查找就可以了。如果,你一定要找的话,就使用全体查找好了。select * from 表明
#26
一定对的方法:
A.Select * from tongdata where work like '% s %' and phone like '% 5 %'
注释:phone字段类型为字符型
B.Select * from tongdata where work like '% s %' and phone like % 5 %
注释:phone字段类型为数值型
查所有的姓名,就和姓名字段没关系不要写上去,(name like '%' 一定错)
很久没写vb了,记得以前做模糊查询在vb中格式和容易搞错,请注意
A.Select * from tongdata where work like '% s %' and phone like '% 5 %'
注释:phone字段类型为字符型
B.Select * from tongdata where work like '% s %' and phone like % 5 %
注释:phone字段类型为数值型
查所有的姓名,就和姓名字段没关系不要写上去,(name like '%' 一定错)
很久没写vb了,记得以前做模糊查询在vb中格式和容易搞错,请注意
#27
Dim FieldName(2) As String
Dim strSQL(2) As String
Dim str_SQL As String
Dim i As Integer
str_SQL = ""
FieldName(0) = "au_id"
FieldName(1) = "author"
FieldName(2) = "[year born]"
For i = 0 To 2
If Text1(i).Text = "" Then
strSQL(i) = ""
Else
strSQL(i) = FieldName(i) & " like '%" & Text1(i).Text & "%'"
End If
Next i
For i = 0 To 2
If str_SQL = "" Then
str_SQL = str_SQL & strSQL(i)
ElseIf strSQL(i) = "" Then
Else
str_SQL = str_SQL & " and " & strSQL(i)
End If
Next i
If str_SQL = "" Then
str_SQL = "select * from authors"
Else
str_SQL = "select * from authors where " & str_SQL
End If
Set rstA = Nothing
rstA.Open str_SQL, conA, adOpenKeyset, adLockOptimistic
Dim strSQL(2) As String
Dim str_SQL As String
Dim i As Integer
str_SQL = ""
FieldName(0) = "au_id"
FieldName(1) = "author"
FieldName(2) = "[year born]"
For i = 0 To 2
If Text1(i).Text = "" Then
strSQL(i) = ""
Else
strSQL(i) = FieldName(i) & " like '%" & Text1(i).Text & "%'"
End If
Next i
For i = 0 To 2
If str_SQL = "" Then
str_SQL = str_SQL & strSQL(i)
ElseIf strSQL(i) = "" Then
Else
str_SQL = str_SQL & " and " & strSQL(i)
End If
Next i
If str_SQL = "" Then
str_SQL = "select * from authors"
Else
str_SQL = "select * from authors where " & str_SQL
End If
Set rstA = Nothing
rstA.Open str_SQL, conA, adOpenKeyset, adLockOptimistic
#28
??
#29
改成下面的形式试试吧
"Select * from tongdata where name like '" & "% ' and work like '" & "%s% ' and phone like '" & "%5%' "
在字符串里,单引号必须被双引号引起来。
"Select * from tongdata where name like '" & "% ' and work like '" & "%s% ' and phone like '" & "%5%' "
在字符串里,单引号必须被双引号引起来。
#1
如果偶没记错的话'%'好象对并不适用于Acess,Acess应该使用'*'和'?'.
#2
我用过 * 了,没用
#3
在access中通配符是 *,不是%,$是sqlserver中的通配符。
如果还有问题,你可以在access中的sql视图中先执行一下,看是不是sql语句的问题。
如果还有问题,你可以在access中的sql视图中先执行一下,看是不是sql语句的问题。
#4
都like “%”了,还会有什么出来啊!
在运行sql语句之前加一判断吧!
在运行sql语句之前加一判断吧!
#5
like '%'
%是关键字,你那样可能有问题。
%是关键字,你那样可能有问题。
#6
你是社么数据库,用撒饿统配副~~~~~~~~~~~~~
#7
% 不是说是代表任意条件吗?
这样说吧,
在VB ADO ACCSEE 中查找个任意条件的怎么写,不过这个条件会变化的
这样说吧,
在VB ADO ACCSEE 中查找个任意条件的怎么写,不过这个条件会变化的
#8
VB语法肯定没出错
因为别的简单sql查询可以实现
而且都是字符串
因为别的简单sql查询可以实现
而且都是字符串
#9
@_@
#10
Select * from tongdata where work like '*s*' and phone like '*5*'
Access里面的统配符是*,SqlServer里面才是%
Access里面的统配符是*,SqlServer里面才是%
#11
是否可改成:
"Select * from tongdata where work like '*" & "s" & "and phone like '*" & "5" & '*"
先试试吧,我是从一个例子中找到的
"Select * from tongdata where work like '*" & "s" & "and phone like '*" & "5" & '*"
先试试吧,我是从一个例子中找到的
#12
我记的好象如OLD_VB_FAN(蓝星)所写,但记不太清了
是要一些'&"的组合,多试试
是要一些'&"的组合,多试试
#13
没用 改成*了就一个记录也不实现了
#14
你的SQL好象没错但有几个地方要留意:
1:如果RecordCount返回-1,可能OPEN有问题(游标,键集)
2:如果RecordCount返回0,数据库中是否有这样的数据
1:如果RecordCount返回-1,可能OPEN有问题(游标,键集)
2:如果RecordCount返回0,数据库中是否有这样的数据
#15
name like '%' and 可以省略
#16
我终于发现自己提的问题是怎么回事了,原来 "Select * From tongdata where name Like '%'"不能将数据表中 name没有记录的记录查询出来, 于是又有了个新问题,我如何将数据表中任意条件的记录sql出来,包括空字符?
例如 Select * from tongdata where name Like ?????
因为name的条件我事先不知道,
例如 Select * from tongdata where name Like ?????
因为name的条件我事先不知道,
#17
不用管NAME字段,WHERE中不用写
#18
如:Select * from tongdata where and work like '%s%' and phone like '%5%' 找出所有 phone 带'5'的记录并且work带‘s’的记录
Select * from tongdata 找出所有的记录
Select * from tongdata 找出所有的记录
#19
用汉字做字段名---至命错误。
#20
用下面语句就可以把所有记录全部显示出来了
Select * from tongdata
Select * from tongdata
#21
给你看看我的语句。你去试试。
sql = "SELECT * FROM info WHERE " & Fld & "=""" & TFld & """"
sql = "SELECT * FROM info WHERE " & Fld & "=""" & TFld & """"
#22
MM的答复果然多。我的问题怎么美人答
#23
*和?是应用在DAO中的,在ADO中必须使用%和_才可以;
name like '%'不要写了
name like '%'不要写了
#24
strTxt = "'%" & txt1.Text & "%'"
strQ2 = "ename" & " " & strQ3 & " " & strTxt
strQ2 = "select * from evect " & " where " & strQ2
Set adoPrimaryRS2 = New Recordset
adoPrimaryRS2.Open strQ2, db, adOpenStatic, adLockOptimistic
我的环境和你的一样,用以上的句子没有毛病啊。从源程序中摘录出来的
strQ2 = "ename" & " " & strQ3 & " " & strTxt
strQ2 = "select * from evect " & " where " & strQ2
Set adoPrimaryRS2 = New Recordset
adoPrimaryRS2.Open strQ2, db, adOpenStatic, adLockOptimistic
我的环境和你的一样,用以上的句子没有毛病啊。从源程序中摘录出来的
#25
你的话是什么意思我怎么理解不了那???不过,如果你是想找东西的,可以做个判断的。当name的字段没有输入条件的时候,就不用它查找就可以了。如果,你一定要找的话,就使用全体查找好了。select * from 表明
#26
一定对的方法:
A.Select * from tongdata where work like '% s %' and phone like '% 5 %'
注释:phone字段类型为字符型
B.Select * from tongdata where work like '% s %' and phone like % 5 %
注释:phone字段类型为数值型
查所有的姓名,就和姓名字段没关系不要写上去,(name like '%' 一定错)
很久没写vb了,记得以前做模糊查询在vb中格式和容易搞错,请注意
A.Select * from tongdata where work like '% s %' and phone like '% 5 %'
注释:phone字段类型为字符型
B.Select * from tongdata where work like '% s %' and phone like % 5 %
注释:phone字段类型为数值型
查所有的姓名,就和姓名字段没关系不要写上去,(name like '%' 一定错)
很久没写vb了,记得以前做模糊查询在vb中格式和容易搞错,请注意
#27
Dim FieldName(2) As String
Dim strSQL(2) As String
Dim str_SQL As String
Dim i As Integer
str_SQL = ""
FieldName(0) = "au_id"
FieldName(1) = "author"
FieldName(2) = "[year born]"
For i = 0 To 2
If Text1(i).Text = "" Then
strSQL(i) = ""
Else
strSQL(i) = FieldName(i) & " like '%" & Text1(i).Text & "%'"
End If
Next i
For i = 0 To 2
If str_SQL = "" Then
str_SQL = str_SQL & strSQL(i)
ElseIf strSQL(i) = "" Then
Else
str_SQL = str_SQL & " and " & strSQL(i)
End If
Next i
If str_SQL = "" Then
str_SQL = "select * from authors"
Else
str_SQL = "select * from authors where " & str_SQL
End If
Set rstA = Nothing
rstA.Open str_SQL, conA, adOpenKeyset, adLockOptimistic
Dim strSQL(2) As String
Dim str_SQL As String
Dim i As Integer
str_SQL = ""
FieldName(0) = "au_id"
FieldName(1) = "author"
FieldName(2) = "[year born]"
For i = 0 To 2
If Text1(i).Text = "" Then
strSQL(i) = ""
Else
strSQL(i) = FieldName(i) & " like '%" & Text1(i).Text & "%'"
End If
Next i
For i = 0 To 2
If str_SQL = "" Then
str_SQL = str_SQL & strSQL(i)
ElseIf strSQL(i) = "" Then
Else
str_SQL = str_SQL & " and " & strSQL(i)
End If
Next i
If str_SQL = "" Then
str_SQL = "select * from authors"
Else
str_SQL = "select * from authors where " & str_SQL
End If
Set rstA = Nothing
rstA.Open str_SQL, conA, adOpenKeyset, adLockOptimistic
#28
??
#29
改成下面的形式试试吧
"Select * from tongdata where name like '" & "% ' and work like '" & "%s% ' and phone like '" & "%5%' "
在字符串里,单引号必须被双引号引起来。
"Select * from tongdata where name like '" & "% ' and work like '" & "%s% ' and phone like '" & "%5%' "
在字符串里,单引号必须被双引号引起来。