以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLQuery  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34288)

--  作者:zhoushijun
--  发布时间:2013/6/4 15:14:00
--  SQLQuery
Tables("窗口1_Table1").Fill("Select [客户],[数量],[单价] From {订单}",True)  这种方法 用于两个表关联查询报错
但是在属性框里 写sql两个表关联查询 就可以
是怎么回事
 
来个示例看看吧

--  作者:XYT
--  发布时间:2013/6/4 15:21:00
--  
关联表的表名是{订单.XX}吧
--  作者:zhoushijun
--  发布时间:2013/6/4 15:27:00
--  

 Tables("卖家结算对账_Table2").Fill("select a.合同编号,a.委托方姓名,a.卖家编号,a.拍卖会id,拍卖会名称  from salerall a left join auctionall b on a.拍卖会id=b.拍卖会id  where a.拍卖会id in(" & s & ") and a.委托方姓名 like \'%" & tb1.Text &  "%\' order by 合同编号","Connection",True)

 

只要往里放变量 就报错 检查数据源 好像是这个原因

 

我要把 跟变量有关的条件去掉 就OK 能运行

[此贴子已经被作者于2013-6-4 15:28:05编辑过]

--  作者:Bin
--  发布时间:2013/6/4 15:55:00
--  
弹出拼接的SQL语句看看是否拼接错误了.

实在不行就上例子.

--  作者:狐狸爸爸
--  发布时间:2013/6/4 15:59:00
--  

是否是列的类型问题? 如果是字符型的列,与其比较的变量用单引号括起来,如果是数值型,就不能用单引号,而且只有字符型的列才能用Like

 

还有,检查一下合成的语句:

 

Dim s as String = "select a.合同编号,a.委托方姓名,a.卖家编号,a.拍卖会id,拍卖会名称  from salerall a left join auctionall b on a.拍卖会id=b.拍卖会id  where a.拍卖会id in(" & s & ") and a.委托方姓名 like \'%" & tb1.Text &  "%\' order by 合同编号"
Messagebox.show(s)

Tables("卖家结算对账_Table2").Fill(s,"Connection",True)