以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  字符型集变量 IN 使用方法再请教。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=134864)

--  作者:lanbor
--  发布时间:2019/5/10 19:45:00
--  字符型集变量 IN 使用方法再请教。

vars("find01")  的值由CheckBoxes  控件选择结果得到。

vars("find01")=制造一课,制造二课,制造三课

请教下面的语句怎么写的?

Dim filter As String="proc_zx=\'三雨\' and proc03 between  \'" & Vars("day_begin") & "\' and  \'" & Vars("day_end") & "\'" \' And proc02 In (" & Vars("find01").trim(",") & ") "
DataTables("proc99").loadFilter=filter
DataTables("proc99").load() \'"" \'"order_code=\'ZZZZ\'"


[此贴子已经被作者于2019/5/10 19:45:16编辑过]

--  作者:lanbor
--  发布时间:2019/5/10 20:02:00
--  在帮助里面找到了。
Dim filter As String="proc_zx=\'三雨\' and proc03 between  \'" & Vars("day_begin") & "\' and  \'" & Vars("day_end") & "\' And proc02 In (\'" & Vars("find01") & "\') "
--  作者:lanbor
--  发布时间:2019/5/10 20:13:00
--  再请教,我的方法结果没有任何记录出现。
我的方法虽然没有报错,但没有任何记录出现。

再请教,我的方法结果没有任何记录出现。
vars("find01")=制造一课,制造二课,制造三课
Dim filter As String="proc_zx=\'三雨\' and proc03 between  \'" & Vars("day_begin") & "\' and  \'" & Vars("day_end") & "\' And proc02 In (\'" & Vars("find01") & "\') "  没有记录出现,表里面肯定有记录的。
DataTables("proc99").loadFilter=filter
DataTables("proc99").load() \'"" \'"order_code=\'ZZZZ\'"

--  作者:有点蓝
--  发布时间:2019/5/10 20:54:00
--  
 & "\' And proc02 In (\'" & Vars("find01").replace(",","\',\'") & "\') "
--  作者:lanbor
--  发布时间:2019/5/10 22:12:00
--  这一招,看来是刚学到。
多谢你:有点蓝。
--  作者:lanbor
--  发布时间:2019/5/11 9:01:00
--  字符集变更在SQL select 中的引用再请教!
字符集变更在SQL select 中的引用再请教!

Vars("find01")的值来自于checkcombbox选择结果
Vars("find01")=制造一课,制造二课
 filter="  where p9.proc_zx=\'三雨\' and p9.proc03 between  \'" & Vars("day_begin") & "\' and  \'" & Vars("day_end") & "\'  And proc02 In (\'" & Vars("find01").replace(",","\',\'") & "\') "  请教这集变量Vars("find01")怎么引用
Dim cmd As new SQLCommand
Dim eDTb01 As DataTable \'   PUBLIC DataTable
cmd.C
cmd.Comm andText = "Select * fro m {proc99} p9 inner join {proc98} p8 on p9.proc_id=p8.proc_idm  " & filter &  "order by p9.proc01,p9.proc02,p9.proc03,p8.proc805" \'取所有物料
eDTb01 = cmd.ExecuteReader()
[此贴子已经被作者于2019/5/11 9:02:26编辑过]

--  作者:有点蓝
--  发布时间:2019/5/11 9:15:00
--  
代码没有问题

msgbox(filter) \'看看弹出什么内容

& "\'  And p9.proc02 In (\'" & Vars("find01").replace(",","\',\'") & "\') "  

--  作者:lanbor
--  发布时间:2019/5/11 11:36:00
--  感谢:有点蓝,少写了"P9",是问题关键。
感谢:有点蓝,少写了"P9",是问题关键。