有三个文本方框:text1,text2,text3
一个数据库含以下字段:会员名字,会员卡号,会员地址
我想进行三个方框的或查询!(既可以用会员名字查询,或会员卡号,或两者结合,或三个结合查询)
Dim cnn1 As ADODB.Connection
Dim rst1 As ADODB.Recordset Dim strcnn As String
strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\project\公司\db2.mdb;Persist Security Info=False"
Set cnn1 = New ADODB.Connection
Set rst1 = New ADODB.Recordset cnn1.Open strcnnPrivate Sub Command1_Click()'怎么进行三个方框的或查询啊?end sub
一个数据库含以下字段:会员名字,会员卡号,会员地址
我想进行三个方框的或查询!(既可以用会员名字查询,或会员卡号,或两者结合,或三个结合查询)
Dim cnn1 As ADODB.Connection
Dim rst1 As ADODB.Recordset Dim strcnn As String
strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\project\公司\db2.mdb;Persist Security Info=False"
Set cnn1 = New ADODB.Connection
Set rst1 = New ADODB.Recordset cnn1.Open strcnnPrivate Sub Command1_Click()'怎么进行三个方框的或查询啊?end sub
解决方案 »
- 关于ezVidC60摄像头控件的控制
- vb6运行库中的文件 stdole2.tlb 如何手工注册呀。用regsvr32.exe无法注册呀,提示不是.dll 或 .ocx
- 数组无法定义为类?(VB6.0)
- 很有难度,高手们来挑战一下!查询两个表 a表中的每一条记录都对应着 b表中的多条记录
- 请较,如何在EXCEL,VBA中, 用函数,查找一个字符串,并返回所在行的值.
- 用VB实现服务器/多客户端程序,客户端能获得服务器端的一公共变量,如何实现,给个思路
- 一个关于窗体激活的问题
- 不知道该不该在这里提问!
- 关于MSHFlexGrid控件的问题
- 加载不了*.ocx控件是怎么回事?
- 怎样制作一个好安装程序?
- 请问子窗体怎样侦测父窗体被ReSize??
Dim sqlStr as string
sqlStr="select * from Tab"
If text1.text<>"" then
sqlStr=sqlStr & "where field1="'" & text1.text & "'"
Else
Exit sub
End if If text2.text<>"" then
If text1.text<>"" then
sqlStr= sqlStr & "and Field2="'" & text2.text & "'"
Else
sqlStr=sqlStr & "where Field2="'" & text2.text & "'"
End if
End if If text3.text<>"" then
If text1.text<>"" or text2.text<>"" then
sqlStr=sqlStr & "and Field3="'" & text3.text & "'"
Eles
sqlStr=sqlStr & "where Field3="'" & text3.text & "'"
End if
End if………………‘执行查询操作
End sub
随手写的,没有测试。试试看。(思路是对的)
Dim sqlStr as string
sqlStr=""
IF TEXT1.TEXT<>"" THEN
SQLSTR=SQLSTR+IIf(SQLSTR="","select * from Tab where field1='" & text1.text & "'",SQLSTR+" and field1='" & text2.text & "'")
ENDIF
IF TEXT2.TEXT<>"" THEN
SQLSTR=SQLSTR+IIf(SQLSTR="","select * from Tab where field2='" & text2.text & "'",SQLSTR+" and field2='" & text2.text & "'")
ENDIF
IF TEXT3.TEXT<>"" THEN
SQLSTR=SQLSTR+IIf(SQLSTR="","select * from Tab where field3='" & text3.text & "'",SQLSTR+" and field3='" & text3.text & "'")
ENDIF
………………‘执行查询操作
End sub
假设:
TEXT1:会员名字,NAME
TEXT2:会员卡号,ID(数字类型,如是字符类型就改相应的TEXT2SQL)
TEXT3:会员地址,ADDRESS
--------------------------------------DIM SQL AS STRING
DIM TEXT1SQL AS STRING
DIM TEXT2SQL AS STRING
DIM TEXT3SQL AS STRINGSQL=“SELECT * FROM TABLE ”IF TEXT1.TEXT<>"" THEN
TEXT1SQL=" WHERE NAME='"+TEXT1.TEXT+"' "
ELSE
TEXT1SQL=""
ENDIFIF TEXT2.TEXT<>"" THENIF TEXT1.TEXT<>"" THEN
TEXT2SQL=" AND ID="+text2.text
else
text2sql=" where id="+text2.text
endifelse
text2sql=""
endifif text3.text<>"" then
if text1.text<>"" or text2.text<>"" then
text3sql=" and address='"+text3.text+"'"
else
text3sql=" where address='"+text3.text+"'"
endifelse text3sql=""endifsql=sql+text1sql+text2sql+text3sql+" ;"这个SQL是三个文件框内容的任意组合。
dim tmp_text1 as string
dim tmp_text2 as string
dim tmp_text3 as stringif trim(text1.text)="" then
tmp_text1=""
else
tmp_text1=" and 会员姓名='"& trim(text1.text) &"'"
endif
if trim(text2.text)="" then
tmp_text2=""
else
tmp_text2=" and 会员卡号='"& trim(text2.text) &"'"
endif
if trim(text3.text)="" then
tmp_text3=""
else
tmp_text3=" and 会员地址='"& trim(text3.text) &"'"
endifstrsql=" select * from tablename where 1=1 " & tmp_text1 & tmp_text2 & tmp_text3if rs.state=adstateopen then rs.close
rs.open strsql,conn,3,3