以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  控件上的实时统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128621)

--  作者:cyrollin
--  发布时间:2018/12/11 18:18:00
--  控件上的实时统计问题
datacolchanged事件里面,

If e.DataCol.name = "收款日期" Then
  if  e.newvalue = nothing 
    SystemReady = False
    SystemReady = true
   else
    Dim frm As WinForm.Form = Forms("窗口")
    frm.controls("label4").text = Tables("表A").compute("count([客户信息])","已收款 like \'*付款\'")  ’当收款日期填上日期后,控件label4不能实时统计
end if 
end if

搜索了论坛, 用下面这种也不能

If e.DataCol.name = "收款日期" Then
    Dim frm As WinForm.Form = Forms("窗口")
 If frm.opened and e.newvalue<>nothing Then
    frm.controls("label4").text = Tables("表A").compute("count([客户信息])","已收款 like \'*付款\'")  ’当收款日期填上日期后,控件label4不能实时统计
end if 
end if


[此贴子已经被作者于2018/12/11 18:18:43编辑过]

--  作者:有点蓝
--  发布时间:2018/12/11 19:49:00
--  
Tables("表A").compute("count([客户信息])","已收款 like \'%付款\'") 
--  作者:cyrollin
--  发布时间:2018/12/12 15:37:00
--  
蓝老师,还是不能。。。。。。
--  作者:有点甜
--  发布时间:2018/12/12 15:41:00
--  

 

你填入日期以后,焦点离开日期输入框控件后,能否统计结果?

 

 

 


--  作者:cyrollin
--  发布时间:2018/12/12 15:44:00
--  
不能,离开日期列,点击其他列或其他行后,也不统计。

是不是在筛选的前提下,不能实时统计?因为这个table是筛选出来的数据。 

--  作者:有点甜
--  发布时间:2018/12/12 15:45:00
--  
做个例子发上来测试,代码没问题。
--  作者:cyrollin
--  发布时间:2018/12/12 16:54:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


甜老师, 来了, 在表C, 收款对账查询窗口。
谢谢


--  作者:有点甜
--  发布时间:2018/12/12 17:13:00
--  

改成

 

If e.DataCol.name = "收款日期" Then
    Dim frm As WinForm.Form = Forms("收款对账查询")   
    If frm.opened AndAlso e.newvalue <> Nothing Then       
        Dim tb As Table = Tables("表C")
        frm.controls("label2").text = tb.Rows.count()
        frm.controls("label3").text = tb.compute("sum(预付)") + Tables("表C").compute("sum(月价)")
        frm.controls("label4").text = tb.compute("count([客户信息])","收款日期 is not null")
        frm.controls("label5").text = tb.compute("sum(预付)","收款日期 is not null") + tb.compute("sum(月价)","收款日期 is not null")
        frm.controls("label12").text = tb.compute("count([客户信息])","收款日期 is null")
        frm.controls("label13").text = tb.compute("sum(预付)","收款日期 is null") + tb.compute("sum(月价)","收款日期 is null")
    End If
End If


--  作者:cyrollin
--  发布时间:2018/12/12 17:25:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20181212172427.png
图片点击可在新窗口打开查看

改了, 问题依旧。。。。。。。。

--  作者:有点甜
--  发布时间:2018/12/12 18:28:00
--  
代码没问题,你要修改日期列的值,才会重新计算的。