以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于查询的代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=29336)

--  作者:小白
--  发布时间:2013/3/4 22:04:00
--  [求助]关于查询的代码

Dim gys As WinForm.ComboBox = e.Form.Controls("供应商")
Dim clmc As WinForm.ComboBox = e.Form.Controls("材料名称")
Dim clbm As WinForm.TextBox = e.Form.Controls("材料编码")


Tables("大宗原材料").Filter="供货厂家 = \'" & gys.Text & "\' and 材料名称 like \'*" & clmc.Text & "*\' and 材料编码 like \'*" & clbm.Text & "*\'"

 

 

这段代码有错误吗?

 

我本意是三个窗口中的一个填写就可以查询,请问代码如何写?


--  作者:程兴刚
--  发布时间:2013/3/4 22:21:00
--  

Dim gys As String = e.Form.Controls("供应商").text

Dim clmc As String = e.Form.Controls("材料名称").text
Dim clbm As String = e.Form.Controls("材料编码").text
Dim Filter As String =""

if gys > ""

    Filter = "供货厂家 = \'" & gys & "\'"

end if

if clmc > ""

    if  Filter = ""

         Filter = "材料名称 like \'*" & clmc & "*\'"

    else

         Filter = " and 材料名称 like \'*" & clmc & "*\'"

    end if

end if

if clbm > ""

    if Filter = ""

        Filter = "材料编码 like \'*" & clbm & "*\'"

    else

        Filter = " and 材料编码 like \'*" & clbm & "*\'"

    end if

end if

Tables("大宗原材料").Filter= Filter


--  作者:卧美吻花
--  发布时间:2013/3/5 2:31:00
--  
这样的代码。。。。。。。太繁杂了 建议楼主,用一个txtbox框来作查询 输入供应商也行,材料编码也行,材料编码也行 一个文本框搞定
--  作者:双轨制
--  发布时间:2013/3/5 8:25:00
--  

一个文本框的类似这个:

http://www.foxtable.com/help/topics/1534.htm

 

 

 


--  作者:小白
--  发布时间:2013/3/5 11:01:00
--  

不胜感激`万分感谢


--  作者:小白
--  发布时间:2013/3/5 11:02:00
--  
我是看着视频在学习,但是我不想用视频中的方式,结果自己搞不定`
--  作者:程兴刚
--  发布时间:2013/3/5 14:32:00
--  
以下是引用卧美吻花在2013-3-5 2:31:00的发言:
这样的代码。。。。。。。太繁杂了 建议楼主,用一个txtbox框来作查询输入供应商也行,材料编码也行,材料编码也行 一个文本框搞定

 

任意输入1~N个条件呢?

代码还可以简写,对新手来说理解就困难多了,所以,写的是楼主好理解的!


--  作者:小白
--  发布时间:2013/3/5 14:33:00
--  

程总,我怎么同时输入两个文件,怎么就是代码错误?

Syntax error: Missing operand before \'And\' operator.


--  作者:狐狸爸爸
--  发布时间:2013/3/5 14:41:00
--  

用MessageBox.show() 显示一下你合成的条件,就知道问题所在了。

搞不定,就做个简单的例子发上来。