以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]针对和与或组合条件加载问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154083)

--  作者:benwong2013
--  发布时间:2020/9/3 9:41:00
--  [求助]针对和与或组合条件加载问题
针对表加载的条件,一直出现
 \')\' 附近有语法错误。        “
的错误,但数据可以加载到,请问应该如何调整,谢谢!
     

                Dim qg As String = "是否订购 = 0 And 取消请购 = 0 And 请购子单号 <> \'"& r("请购子单号") &"\'"
                Dim cg As String = "订购日期 >= \'2020/07/01\'And 订购日期 <= \'"& Date.Today.AddDays(-45) &"\' And 入库日期 Is Null"
                Dim fillter As String = "单位代码 = \'"& r("单位代码") &"\' And 物料编号 = \'"& r("物料编号") &"\' And (" &  qg & " or " &  cg & ")"
                
                DataTables("1017请购提交查询_Table1").LoadFilter = fillter
                DataTables("1017请购提交查询_Table1").Load
--  作者:有点蓝
--  发布时间:2020/9/3 10:04:00
--  
什么数据库?
msgbox(fillter) 弹出条件看看

--  作者:benwong2013
--  发布时间:2020/9/3 10:18:00
--  
 增加了()还是出现一样的错误

                Dim qg As String = "( 申请日期 >= \'2020/07/01\' And 是否订购 = 0 And 取消请购 = 0 And 请购子单号 <> \'"& r("请购子单号") &"\')"
                Dim cg As String = "( 订购日期 >= \'2020/07/01\' And 订购日期 <= \'"& Date.Today.AddDays(-45) &"\' And 入库日期 Is Null )"
                Dim fillter As String = "单位代码 = \'"& r("单位代码") &"\' And 物料编号 = \'"& r("物料编号") &"\' And (" & qg & " or " &  cg & ")"
                MessageBox.Show(fillter)
                DataTables("1017请购提交查询_Table1").LoadFilter = fillter
                DataTables("1017请购提交查询_Table1").Load

数据库位SQL

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20200903101609.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2020/9/3 10:24:00
--  
1017请购提交查询_Table1是通过其他sql生成的?sql发上来看看
--  作者:benwong2013
--  发布时间:2020/9/3 10:28:00
--  
 找到原因了,1017请购提交查询_Table1 在afterload设置了代码造成,删除了就可以,谢谢!

--  作者:benwong2013
--  发布时间:2020/9/3 10:51:00
--  
 还有一个问题,如果我想遍历表中每一行,将满足条件的数据从SQL数据库加载到1017请购提交查询_Table1,但是用AppendLoad提示不能用于临时表,请问有什么好的方法吗?
--  作者:有点蓝
--  发布时间:2020/9/3 10:57:00
--  
Dim s As String = ""
For Each r As Row In Tables("表A").Rows
    s =s & "," & r("_Identify")
Next
s = s.Trim(",")

然后使用下面的SQL加载
tables("1017请购提交查询_Table1").fill( "select * from {xxx表} where [_Identify] in (" & s & ")" ,..............