Foxtable(狐表)用户栏目专家坐堂 → 语法解法


  共有20382人关注过本帖树形打印复制链接

主题:语法解法

帅哥哟,离线,有人找我吗?
wtfwsk05
  251楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/21 21:52:00 [只看该作者]

提示的还是上述原因:表达式包含未定义的函数调用 from()。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  252楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/21 21:54:00 [只看该作者]

1、output.show(sql_2) 弹出生成的字符是什么。

 

2、把生成的字符串,在【sql测试窗口】或者你db2那里测试,看报什么错。

 

3、在你db2调试那里,删减sql语句,定位出错位置。


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  253楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/21 22:21:00 [只看该作者]

Dim sql_1="SELECT DISTINCT a1.mandt AS 客户端, a1.lifnr AS 编码, a1.name1 AS 名称, a1.sortl AS 简称, a1.ktokk AS 类型 , decode(ktokk, 'Z001', '供应商_外部', 'Z002', '供应商_内部', 'Z003', '供应商_临时', 'Z004', '供应商_财务', '供应商_其他') AS 类型描述 , a1.erdat AS 创建日期, a1.ernam AS 用户, a3.name_text AS 用户名, a1.ort01 AS 归属地, a1.regio AS 纳税地 , a6.bezei AS 纳税地名, a1.stras AS 纳税号, a1.telf1 AS 电话1, a1.telf2 AS 电话2, a1.stceg AS 地址 , a1.loevm AS 全部删除, a1.sperr AS 财务删除, a1.sperm AS 采购删除, a1.sperq AS 删除代码, a5.kurztext AS 删除原因 F ROM sapprd.lfa1 a1 LEFT JOIN sapprd.usr21 a2 ON a1.ernam = a2.bname AND a2.mandt = '800' LEFT JOIN sapprd.adrp a3 ON a2.persnumber = a3.persnumber LEFT JOIN sapprd.lfb1 a4 ON (a1.lifnr = a4.lifnr AND a4.mandt = '800' AND a4.erdat = a1.erdat) LEFT JOIN sapprd.tq04s a5 ON a1.sperq = a5.sperrfkt AND sprache = '1' LEFT JOIN sapprd.t005u a6 ON (a1.regio = a6.bland AND a6.mandt = '800' AND a6.land1 = 'CN' AND a6.spras = '1') WHERE (a1.loevm <> 'X' AND a1.sperr <> 'X' AND a1.sperm <> 'X')"
Dim sql_2 ="select * f rom (" & sql_1 & ") as abcd where 名称 in (select 名称 f rom (" & sql_1 & ") as efg group by 名称 having count(编码)=1)"
output.show(sql_2)
=======
输出的select语句为:
SELECT *
FR OM (
SELECT DISTINCT a1.mandt AS 客户端, a1.lifnr AS 编码, a1.name1 AS 名称, a1.sortl AS 简称, a1.ktokk AS 类型
, decode(ktokk, 'Z001', '供应商_外部', 'Z002', '供应商_内部', 'Z003', '供应商_临时', 'Z004', '供应商_财务', '供应商_其他') AS 类型描述
, a1.erdat AS 创建日期, a1.ernam AS 用户, a3.name_text AS 用户名, a1.ort01 AS 归属地, a1.regio AS 纳税地
, a6.bezei AS 纳税地名, a1.stras AS 纳税号, a1.telf1 AS 电话1, a1.telf2 AS 电话2, a1.stceg AS 地址
, a1.loevm AS 全部删除, a1.sperr AS 财务删除, a1.sperm AS 采购删除, a1.sperq AS 删除代码, a5.kurztext AS 删除原因
F ROM sapprd.lfa1 a1
LEFT JOIN sapprd.usr21 a2
ON a1.ernam = a2.bname
AND a2.mandt = '800'
LEFT JOIN sapprd.adrp a3 ON a2.persnumber = a3.persnumber
LEFT JOIN sapprd.lfb1 a4
ON (a1.lifnr = a4.lifnr
AND a4.mandt = '800'
AND a4.erdat = a1.erdat)
LEFT JOIN sapprd.tq04s a5
ON a1.sperq = a5.sperrfkt
AND sprache = '1'
LEFT JOIN sapprd.t005u a6
ON (a1.regio = a6.bland
AND a6.mandt = '800'
AND a6.land1 = 'CN'
AND a6.spras = '1')
WHERE (a1.loevm <> 'X'
AND a1.sperr <> 'X'
AND a1.sperm <> 'X')
) abcd
WHERE 名称 IN (
SELECT 名称
F ROM (
SELECT DISTINCT a1.mandt AS 客户端, a1.lifnr AS 编码, a1.name1 AS 名称, a1.sortl AS 简称, a1.ktokk AS 类型
, decode(ktokk, 'Z001', '供应商_外部', 'Z002', '供应商_内部', 'Z003', '供应商_临时', 'Z004', '供应商_财务', '供应商_其他') AS 类型描述
, a1.erdat AS 创建日期, a1.ernam AS 用户, a3.name_text AS 用户名, a1.ort01 AS 归属地, a1.regio AS 纳税地
, a6.bezei AS 纳税地名, a1.stras AS 纳税号, a1.telf1 AS 电话1, a1.telf2 AS 电话2, a1.stceg AS 地址
, a1.loevm AS 全部删除, a1.sperr AS 财务删除, a1.sperm AS 采购删除, a1.sperq AS 删除代码, a5.kurztext AS 删除原因
F ROM sapprd.lfa1 a1
LEFT JOIN sapprd.usr21 a2
ON a1.ernam = a2.bname
AND a2.mandt = '800'
LEFT JOIN sapprd.adrp a3 ON a2.persnumber = a3.persnumber
LEFT JOIN sapprd.lfb1 a4
ON (a1.lifnr = a4.lifnr
AND a4.mandt = '800'
AND a4.erdat = a1.erdat)
LEFT JOIN sapprd.tq04s a5
ON a1.sperq = a5.sperrfkt
AND sprache = '1'
LEFT JOIN sapprd.t005u a6
ON (a1.regio = a6.bland
AND a6.mandt = '800'
AND a6.land1 = 'CN'
AND a6.spras = '1')
WHERE (a1.loevm <> 'X'
AND a1.sperr <> 'X'
AND a1.sperm <> 'X')
) efg
GROUP BY 名称
HAVING COUNT(编码) = 1
)



 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  254楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/21 22:21:00 [只看该作者]

我在db2数据库中测试数据的结果,显示的是正确结果

 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  255楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/21 22:26:00 [只看该作者]

会不会是其他语法或顺序有问题
Dim dt As DataTable
Dim cmd As new SQLCommand
cmd.C
Dim sql_1="“
cmd.CommandText = sql_1
dt=cmd.ExecuteReader()
Tables("窗口2_table1").DataSource =dt
Dim sql_2 ="select * f rom (" & sql_1 & ") as abcd where 名称 in (select 名称 fr om (" & sql_1 & ") as efg group by 名称 having count(编码)=1)"
output.show(sql_2)
Tables("窗口2_table1").Filter = sql_2

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  256楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/21 22:39:00 [只看该作者]

Tables("窗口2_table1").Filter = sql_2

 

改成

 

Tables("窗口2_table1").fill(sql_2, "数据源名", true)
 
或者
 
cmd.CommandText = sql_2
dt=cmd.ExecuteReader()
Tables("窗口2_table1").DataSource =dt

 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  257楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/21 22:58:00 [只看该作者]

谢谢老师,问题得到解决

 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  258楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/22 10:54:00 [只看该作者]

老师,请问下
QueryBuilder
表中的数据可否来源于多个表

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  259楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 11:52:00 [只看该作者]

以下是引用wtfwsk05在2018/11/22 10:54:00的发言:
老师,请问下
QueryBuilder
表中的数据可否来源于多个表

 

肯定可以。任何sql语句(只要正确),都可以生成对应的表的。


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  260楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/27 18:04:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.zip


老师请问下,如何给对代码生成的目录树的选定节点设定图标

 回到顶部