以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多行多字段同时查询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113246)

--  作者:benwong2013
--  发布时间:2018/1/11 18:34:00
--  多行多字段同时查询
DataTables("T_Sample").LoadFilter = "(样品编号 In (\'" & e.Form.Controls("TextBox3").Text.Replace(",", "\',\'") & "\') & " Or " & (报告编号 In (\'" & e.Form.Controls("TextBox3").Text.Replace(",", "\',\'") & "\')"
DataTables("T_Sample").Load()

我希望在文本框输入  ****,****,&&&&, 格式的内部时,能支持在样品编号及报告编号中查询,加载对应的数据,单列的是可以的;

样品编号与报告编号差异在 报告编号前面有一个固定的P,如报告编号为P180130001时,样品编号为180130001;

请这个代码应该如何修改才可以

--  作者:有点甜
--  发布时间:2018/1/11 20:11:00
--  

你是要分离不同的编号?还是怎样?

 

Dim str As String = "P180130001,180130001" \'e.Form.Controls("TextBox3").Text
Dim s1 As String = ""
Dim s2 As String = ""
For Each s As String In str.split(",")
    If s.StartsWith("P") Then
        s1 &= "\'" & s & "\',"
    Else
        s2 &= "\'" & s & "\',"
    End If
Next
s1 = s1.trim(",")
s2 = s2.trim(",")
msgbox(s1)
msgbox(s2)


--  作者:benwong2013
--  发布时间:2018/1/12 10:58:00
--  
不是,意思当我们无论输入什么内容的时候,可以一次性输入几个需要查询的内容,但每个之间以“,”区隔,系统能在A列及B列查找,将满足一一对应的行逐个列出;
--  作者:有点甜
--  发布时间:2018/1/12 11:37:00
--  
你代码本身就没问题的啊,目前输入什么查不到?做个例子说明。
--  作者:benwong2013
--  发布时间:2018/1/12 11:41:00
--  
.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.12.18.1
错误所在事件:窗口,库位查询,TextBox3,TextChanged
详细错误信息:
从字符串“(样品编号 In (\'1\') & ”到类型“Long”的转换无效。
输入字符串的格式不正确。

输入需要查询的内容会提示这样的错误

--  作者:有点甜
--  发布时间:2018/1/12 11:46:00
--  

 

[此贴子已经被作者于2018/1/12 11:47:32编辑过]

--  作者:有点甜
--  发布时间:2018/1/12 11:48:00
--  
DataTables("T_Sample").LoadFilter = "(样品编号 In (\'" & e.Form.Controls("TextBox3").Text.Replace(",", "\',\'") & "\') Or 报告编号 In (\'" & e.Form.Controls("TextBox3").Text.Replace(",", "\',\'") & "\'))"