以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按条件统计数据代码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100273)

--  作者:feixianzhi
--  发布时间:2017/5/8 15:48:00
--  按条件统计数据代码问题

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170508154436.png
图片点击可在新窗口打开查看

 

 

如截图中所说,请各位老师帮忙。下面是附件。

 

 

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


--  作者:feixianzhi
--  发布时间:2017/5/8 16:02:00
--  
请各位老师帮忙呀。


--  作者:有点色
--  发布时间:2017/5/8 16:11:00
--  

Dim rrbh As WinForm.TextBox = e.Form.Controls("RYBH")
Dim bmbm As WinForm.TextBox = e.Form.Controls("BMBM")
Dim khbm As WinForm.TextBox = e.Form.Controls("KHBM")
Dim filter As String = "1=1"
If rrbh.text > "" Then
    filter &= " and 人员编号 = \'" & rrbh.text & "\'"
End If
If bmbm.text > "" Then
    filter &= " and 部门编码 = \'" & bmbm.text & "\'"
End If
If khbm.text > "" Then
    filter &= " and 客户编码 = \'" & khbm.text & "\'"
End If
Dim t1 As DataTable = DataTables("收款明细表")
Dim t2 As DataTable = DataTables("付款明细表")

Dim sum1 As Double = t1.Compute("sum(数量)", filter)
Dim sum2 As Double = t1.Compute("sum(金额)", filter)
Dim sum3 As Double = t2.Compute("sum(数量)", filter)
Dim sum4 As Double = t2.Compute("sum(金额)", filter)

e.Form.Controls("SKSL").text = sum1
e.Form.Controls("fkSL").text = sum3
e.Form.Controls("SKJE").text = sum2
e.Form.Controls("FKJE").text = sum4
e.Form.Controls("SYSL").text = sum1-sum3
e.Form.Controls("SYJE").text = sum2-sum4


--  作者:feixianzhi
--  发布时间:2017/5/8 16:19:00
--  
谢谢有点色老师的帮忙。
--  作者:feixianzhi
--  发布时间:2017/5/8 16:35:00
--  
Dim filter As String = "1=1"

有点色老师,能解释一下这句嘛,没看懂。

--  作者:有点色
--  发布时间:2017/5/8 16:38:00
--  

后面的语句是 " and 人员编号 = \'123\' and 部门编号 = \'456\'"

 

那条件就多了一个and,你可以把and去掉,或者加上1=1,使条件正确

 

"1=1 and 人员编号 = \'123\' and 部门编号 = \'456\'"


--  作者:feixianzhi
--  发布时间:2017/5/8 16:50:00
--  
谢谢有点色老师。
--  作者:feixianzhi
--  发布时间:2017/5/9 9:57:00
--  
Dim rybh As WinForm.TextBox = e.Form.Controls("DJKRYBH")
Dim gysbm As WinForm.TextBox = e.Form.Controls("DJKGYSBM")
Dim spbm As WinForm.TextBox = e.Form.Controls("DJKSPBM")
Dim spjj As WinForm.TextBox = e.Form.Controls("DJKJJ")
Dim filter As String = "1=1"
If rybh.text > "" Then
    filter &= " and 人员编号 = \'" & rybh.text & "\'"
End If
If gysbm.text > "" Then
    filter &= " and 供应商编码 = \'" & gysbm.text & "\'"
End If
If spbm.text > "" Then
    filter &= " and 商品编码 = \'" & spbm.text & "\'"
End If
If spjj.text > "" Then
    filter &= " and 进价 = \'" & spjj.text & "\'"
End If
Dim t1 As DataTable = DataTables("底价款收款明细表")
Dim t2 As DataTable = DataTables("底价款业务明细表")
Dim t3 As DataTable = DataTables("底价款返款明细表")
Dim sum1 As Double = t1.Compute("sum(数量)", filter)     \'收款数量
Dim sum2 As Double = t1.Compute("sum(收款金额)", filter) \'收款金额
Dim sum3 As Double = t2.Compute("sum(数量)", filter)     \'业务数量
Dim sum4 As Double = t2.Compute("sum(预付金额)", filter) \'预付金额
Dim sum5 As Double = t3.Compute("sum(数量)", filter)     \'返款数量
Dim sum6 As Double = t3.Compute("sum(返款金额)", filter) \'返款金额
e.Form.Controls("SKSL").text = sum1
e.Form.Controls("YFSL").text = sum3
e.Form.Controls("FKSL").text = sum5
e.Form.Controls("SKJE").text = sum2
e.Form.Controls("YFJE").text = sum4
e.Form.Controls("FKJE").text = sum6
e.Form.Controls("WYFSL").text = sum1-sum3
e.Form.Controls("WFKSL").text = sum1-sum5
e.Form.Controls("WFKJE").text = sum2-sum4
e.Form.Controls("WFKJE").text = sum2-sum6

有点色老师,我支行以上代码,出现如下错误,麻烦您看一下是怎么回事?

无法将类型为“Foxtable.WinForm.NumericComboBox”的对象强制转换为类型“Foxtable.WinForm.TextBox”。


--  作者:有点色
--  发布时间:2017/5/9 10:00:00
--  
Dim rybh As WinForm.TextBox = e.Form.Controls("DJKRYBH")
Dim gysbm As WinForm.TextBox = e.Form.Controls("DJKGYSBM")
Dim spbm As WinForm.TextBox = e.Form.Controls("DJKSPBM")
Dim spjj As WinForm.TextBox = e.Form.Controls("DJKJJ")

 

改成

 

Dim rybh  = e.Form.Controls("DJKRYBH")
Dim gysbm = e.Form.Controls("DJKGYSBM")
Dim spbm = e.Form.Controls("DJKSPBM")
Dim spjj = e.Form.Controls("DJKJJ")

--  作者:feixianzhi
--  发布时间:2017/5/9 10:13:00
--  
谢谢有点色老师的帮忙。