以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  外部数据表 的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1181)

--  作者:小狐
--  发布时间:2008/11/19 22:46:00
--  外部数据表 的问题

在foxtable 中统计关联表的数据如统计“入库明细”中的金额,主表设置表达式列如“总金额”:代码 Sum(Child(入库_入库明细).金额)
假如我这个表是外部数据表,主表“总金额”列导入foxtable 是不允许将它改成表达式列,此时如何设置 让他实时统计子表的“金额” 列

[此贴子已经被作者于2008-11-19 22:49:51编辑过]

--  作者:易服
--  发布时间:2008/11/19 23:28:00
--  
看看这个也许有用 http://www.foxtable.com/dispbbs.asp?boardid=2&Id=1172
--  作者:小狐
--  发布时间:2008/11/20 0:12:00
--  

谢谢,请问 如果在表属性
BoforeAddDatarow 中这样设置 为什么出错
if currenttable.current("入库单编号") isnot nothing then
 dim a as integer
 a = datatables("入库明细").compute("sum(金额)","[入库单编号]=\'"&e.datarow("入库单编号")&"\'")
 currenttable.current("金额") = a
end if

该怎么改呢


--  作者:程兴刚
--  发布时间:2008/11/20 0:17:00
--  

没必要这么复杂!
外部数据表不可以修改列类型,难道您就不会增加表达式列?
方法很简单,外部数据源不要那一列,添加外部数据表后再增加表达式列即可!


--  作者:小狐
--  发布时间:2008/11/20 0:26:00
--  

那foxtable中的数据表达列的值 会到外部数据源中吗

 

[此贴子已经被作者于2008-11-20 0:32:48编辑过]

--  作者:程兴刚
--  发布时间:2008/11/20 0:30:00
--  
表达式列不需要到数据源中,同样的系统,多人操作都是通过表达式计算得来,有必要放到数据源中吗?
--  作者:小狐
--  发布时间:2008/11/20 0:39:00
--  

表达式有时也有不能解决的情况:

狐表帮助文件中关于 DataColChanged 有一个例子,说明 在表达式解决的情况不能解决的情况:

但是采用表达式列会有以下无法解决的问题:

1、如果产品表没有某产品的资料,需要在订单表中手工输入单价的时候,你会发现你是没有办法在订单表的单价列输入数据的。
。。。。。。。。。


 

首先要确保订单表中的单价列不能是表达式列,而是是标准的数据列,然后在订单表的DataColChanged事件中设置如下代码


 正好 这里列为数据列,又不能更改成为表达式列

 怎么在新增行之前或者关联表变动前 计算出结果,同步更新 到外部数据源中 

 

[此贴子已经被作者于2008-11-20 0:47:41编辑过]

--  作者:程兴刚
--  发布时间:2008/11/20 0:42:00
--  
看看项目发布区的库管系统之五金版,全是外部数据表,输入密码进入后按Ctrl+Shift+F12调出系统菜单,您再慢慢看吧!
--  作者:czy
--  发布时间:2008/11/20 0:47:00
--  
以下是引用小狐在2008-11-20 0:12:00的发言:

谢谢,请问 如果在表属性
BoforeAddDatarow 中这样设置 为什么出错
if currenttable.current("入库单编号") isnot nothing then
 dim a as integer
 a = datatables("入库明细").compute("sum(金额)","[入库单编号]=\'"&e.datarow("入库单编号")&"\'")
 currenttable.current("金额") = a
end if

该怎么改呢



这样试试:

if e.datarow("入库单编号") IsNot nothing then
   e.datarow("金额") = datatables("入库明细").compute("sum(金额)","[入库单编号]= \'" & e.datarow("入库单编号") & "\'")
end if


--  作者:小狐
--  发布时间:2008/11/20 0:51:00
--  
老大,试了一下不行啊,跳出一个出错的界面
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-11-20 0:53:26编辑过]