Foxtable(狐表)用户栏目专家坐堂 → where条件的字段可否引用变量?


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

主题:where条件的字段可否引用变量?

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
where条件的字段可否引用变量?  发帖心情 Post By:2014/4/21 11:27:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140421110121777.jpg
图片点击可在新窗口打开查看

如上图,品质状态列可以下拉选择三种数量:合格数量,不良数量,报废数量

在下面的明细表点击产品编码时弹出一个查询窗口,select语句如下: 

select 产品编码,品名,规格,计量单位,仓库,备注 from 库存表 where “ & tables(“库存调拨单_主表").current("品质状态")  & " > 0

目的就是当主表中选择合格数量时,where条件就自动变为 where 合格数量 > 0

           当主表中选择不良数量时,where条件就自动变为 where 不良数量 > 0 ,以此类推。

 

但会提示“在应使用条件的上下文(在 '库存调拨单_主表' 附近)中指定了非布尔类型的表达式。”的错误;

 

上面的写法是不是不正确?还有没有其他写法(只用一条语句,分成三条语句来实现的我会)

 

谢谢!

 

 

 

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/21 11:29:00 [只看该作者]

上面写法正确啊.

你可以使用messagebox.show 把你拼接的语句弹出来看一下,这样可以直观分析结果. 如果有问题也容易看出问题所在,然后进行调整

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/21 11:38:00 [只看该作者]

有检测,就是红色的变量部份不会变动如下:确定后就出现错误提示了。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140421113531105.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/21 11:43:00 [只看该作者]

说明你双引号没写对. 完整拼接代码发出来.

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/4/21 11:44:00 [只看该作者]

你的引号反了吧

 

"select 产品编码,品名,规格,计量单位,仓库,备注 from 库存表 where “ & tables(“库存调拨单_主表").current("品质状态")  & " > 0"


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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/21 11:50:00 [只看该作者]

select a.产品编码,类别,a.品名,a.规格,a.计量单位,仓库,a.备注 From 库存表 a inner join 产品编码 b on a.产品编码 = b.产品编码 where 仓库 = '外协品仓' and " & tables("库存调拨单_主表").Current("品质状态") & " > 0

 

引号还有正反吗,都是小写的英文状态输入的,如果上面的红色部份直接换成 合格数量 显示就没问题。但就想动态变动它。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/21 11:52:00 [只看该作者]

"select a.产品编码,类别,a.品名,a.规格,a.计量单位,仓库,a.备注 From 库存表 a inner join 产品编码 b on a.产品编码 = b.产品编码 where 仓库 = '外协品仓' and " & tables("库存调拨单_主表").Current("品质状态") & " > 0"

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/4/21 12:03:00 [只看该作者]

没有看出有什么不同啊,前后两个引号因为我的这个select 语句 是在command中调用的,这里不用


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


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

以下是引用scott518在2014-4-21 12:03:00的发言:

没有看出有什么不同啊,前后两个引号因为我的这个select 语句 是在command中调用的,这里不用

 

能用就好,慢慢理解。


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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2014/4/21 12:22:00 [只看该作者]

SQL语法没有这种写法,你用错地方了

 回到顶部
总数 23 1 2 3 下一页