以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教如何设置计算代码或表达式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=744)

--  作者:czy
--  发布时间:2008/9/30 0:15:00
--  

这种要求只能用代码。


--  作者:贺老六
--  发布时间:2008/9/30 0:21:00
--  
日龄帮你设置好了:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20.table


存栏母鸡数你表述不太清楚,就没有设置了。

--  作者:贺老六
--  发布时间:2008/9/30 8:33:00
--  

同样用计算代码,可以参考DataTable的Compute方法。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table


不关时易表和foxtable,计算的原理肯定是一样的,建议你多看几次帮助文件,帮助中的例子都手工设计一下看看。


--  作者:狐孩儿
--  发布时间:2008/9/30 14:49:00
--  
Dim dr As DataRow = e.DataRow
Dim Filter As string = "[日期] <= #" & dr("日期") & "# And [栏舍号] = \'" & dr("栏舍号") & "\'"
Dim Sum As Integer = e.DataTable.Compute("Sum(淘汰母鸡)",Filter)
e.Datarow("存栏母鸡") = dr("进栏母鸡") - Sum

--  作者:贺老六
--  发布时间:2008/9/30 20:42:00
--  
这是自动重算的流水帐:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table


--  作者:gdtgl
--  发布时间:2008/10/2 10:55:00
--  
楼主的关联中,进鸡记录中的栏合号应不是唯一吧.(如果不是唯一,建议新增1列做关联)
如:2009年,A-1栏再进鸡.输入已经提示出错了.
--  作者:kylin
--  发布时间:2008/10/2 12:18:00
--  
以下是引用Post By:2008-9-30 22:36:00

非常感谢,上述问题已得到圆满解决。再请教一个问题:
  由于同一个栏舍每天只能有一条记录(一个栏舍同一天有两条记录即视为重复)。如何做到在录入日期时如果某一栏舍出现有重复的日期记录则进行提示或保存时自动弃掉重复记录?

还不能算圆满,其实还存在一个错误是因为,日期没有录入的时候产生的,见下图:

图片点击可在新窗口打开查看此主题相关图片如下:02.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-10-2 12:54:57编辑过]

--  作者:gdtgl
--  发布时间:2008/10/2 12:29:00
--  
在 进鸡记录(主表) 中输入 提示数据重复,可以不管错误,但回到生产记录,是计算不了。
--  作者:kylin
--  发布时间:2008/10/2 12:52:00
--  

因为“存栏母鸡”是涉及到日期,所以为了防止“日期”=null时带来的程序运行错误,所以在生产记录表的DataColChanged事件增加一个非空判断。
基于同样的理由,对存栏母鸡列的编辑需要限制在“日期”=null时不允许录入。
以上是在老六上传的例子的基础之上所作的改进,作为学习作业吧。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table


--  作者:gdtgl
--  发布时间:2008/10/2 13:23:00
--  

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


如果楼主的系统不存在这种情况(如2009-1-1,A-1栏再有购进?)。不需要改关联!
[此贴子已经被作者于2008-10-2 17:22:01编辑过]