Foxtable(狐表)用户栏目专家坐堂 → [讨论] QueryBuilder 中能引用全局变量吗?


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

主题:[讨论] QueryBuilder 中能引用全局变量吗?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/11/14 13:09:00 [显示全部帖子]

Dim q As new QueryBuilder
q.TableName = "会计凭证查询"
q.C
q.SelectString = "select * from [z_tablqpz] where sszt = 11 and pzrqn = " & vars("kn")  &  " union all select * from [z_tabdqpz] where sszt = 11 and pzrqn = 2008 union all select * from [z_tabxqpz] where sszt = 11 and pzrqn = 2008 order by pzrqn,pzrqy,pzlx,pzdm,flxh"
q.Build

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/11/14 14:34:00 [显示全部帖子]

和全局变量无关的,也许后面的2008也要处理。
不要急于下结论使全局变量的事,任何表达式都可以动态合成。

q.SelectString = "select * from [z_tablqpz] where sszt = 11 and pzrqn = " & vars("kn")  &  " union all select * from [z_tabdqpz] where sszt = 11 and pzrqn = 2008 union all select * from [z_tabxqpz] where sszt = 11 and pzrqn = " & vars("kn")  &  " order by pzrqn,pzrqy,pzlx,pzdm,flxh"

要学会调试,例如你可以在命令窗口:

dim str =  "select * from [z_tablqpz] where sszt = 11 and pzrqn = " & vars("kn")  &  " union all select * from [z_tabdqpz] where sszt = 11 and pzrqn = 2008 union all select * from [z_tabxqpz] where sszt = 11 and pzrqn = " & vars("kn")  &  " order by pzrqn,pzrqy,pzlx,pzdm,flxh"
output.show(str)

看看所生成的sql语句是什么,如果觉得没问题,复制这个生成好的sql到查询表定义窗口进行测试。



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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/11/14 14:54:00 [显示全部帖子]

呵呵,我会考虑的。

 回到顶部