以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  select语句问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4002)

--  作者:chenwuwenyu
--  发布时间:2009/8/22 19:36:00
--  select语句问题
操作:
产品使用表中
点击编辑或者双击数据行,出现编辑窗口,点击打印发票按钮
出现的窗口中有两个按钮b2,b3
代码如下:
2:
Tables("发票_Table1").Fill("Select 产品,型号,数量,金额 From {表A} WHERE 日期 = #" & Tables("表A").Current("日期") & " # and  医院 = \'" & Tables("表A").Current("医院") & "\'",True)
3:
Tables("发票_Table1").Fill("Select 产品,型号,数量,单位,金额 From {表A} WHERE 日期 = #" & Tables("表A").Current("日期") & " # and  医院 = \'" & Tables("表A").Current("医院") & "\'",True)
区别只是多加了一个单位列
报错如图

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看


密码ghb
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar


--  作者:czy
--  发布时间:2009/8/22 20:12:00
--  
单位是表达式列,明白问题出在哪了吧。
--  作者:chenwuwenyu
--  发布时间:2009/8/22 20:21:00
--  
表达列怎么弄呢,都忘了这是个表达列了,一直列隐藏着的,呵呵

字段列表不能包括表达式列,例如金额列是一个表达式列,是通过数量和单价计算得出的,所以金额列不能出现在字段列表中。
这是因为表达式列并没有存储在后台的数据源中。

--  作者:czy
--  发布时间:2009/8/22 21:14:00
--  
象你这种情况表达式没办法弄,只能将其改成数据列。
--  作者:chenwuwenyu
--  发布时间:2009/8/22 21:24:00
--  
恩,了解了,谢谢
--  作者:lxl
--  发布时间:2009/8/22 21:58:00
--  

可以这样处理
SELECT 数量,单价,数量*单价 AS 金额 FROM 订单

把表达式再写一遍,SQL支持的表达式比FoxTable的表达式列多