以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]一个AfterSelChange做个小功能。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8915)

--  作者:ddlzq
--  发布时间:2010/12/24 17:36:00
--  [求助]一个AfterSelChange做个小功能。

各位老师:

我想做个小功能,初学者+非IT专业的,有点困难,呵呵

我上传了一个附件,请各位老师帮看看。(商业版的)

功能:

一个是【费用预算】表,一个是【费用报销】表,两个表想通过费用预算单号对应数据。

假如一个费用预算单号001号,预算10000元,然后开始花销,每报销一次就填写当时预算单号,状态栏显示该费用报销一共花销了合计额,预算费用总额多少额,是否超标。

 

抄了2008年一贴中的代码

-------------------------

在AfterSelChange事件中的代码:
Dim n1 As  String =  Tables("费用报销").Current("费用预算单号")
Dim Total As Integer = DataTables("费用报销").Compute("Sum(报销金额)","费用预算单号 = \'"& n1 &"\' ")
With e.NewRange
    StatusBar.Message1 = "此单号费用预算已经花费:" &  Total & "元"
End With

--------------------------

状态栏中有显示报销表中费用预算共花了多少钱,但核对费用预算表中的预算额就不会了,到处翻也没弄出个什么来,希望老师指点下,我学习下,谢谢...另外,我在费用报销中筛选单号后会出错,不知为何?应该加条件判断吧?

对了,圣诞节了,顺祝大家节日快乐!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试状态栏.table

[此贴子已经被作者于2010-12-24 17:42:02编辑过]

--  作者:czy
--  发布时间:2010/12/24 18:38:00
--  
Dim n1 As  Row =  Tables("费用预算").Current
If n1 IsNot Nothing Then
    Dim Total As Integer = DataTables("费用预算").Compute("Sum(预算金额)","预算单号 = \'"& n1("预算单号") &"\' ")
    With e.NewRange
        StatusBar.Message1 = "此单号费用预算:" &  Total & "元"
    End With
End If

--  作者:狐狸爸爸
--  发布时间:2010/12/24 19:04:00
--  

代码放在CurrentChanged事件中比较合理,这样换行才执行,代码为:

 

Dim n1 As  String =  e.Table.Current("费用预算单号")
Dim Total As Integer = DataTables("费用报销").Compute("Sum(报销金额)","费用预算单号 = \'"& n1 &"\' ")
Dim dr As DataRow =  DataTables("费用预算").Find("预算单号 = \'"  & n1 & "\'")
Dim msg As String = "此单号费用预算已经花费:" &  Total & "元"
If dr IsNot Nothing Then
    msg = msg & "  总预算为:" & dr("预算金额")
End If
StatusBar.Message1 = msg


--  作者:ddlzq
--  发布时间:2010/12/24 21:57:00
--  
感谢C版和狐爸,我学习下...