以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 当一列出现某个字样时的计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90274) |
-- 作者:约翰舒 -- 发布时间:2016/9/8 17:17:00 -- 当一列出现某个字样时的计算 有三列,一列“账户名”, 一列“利润”, 一列“总额” 现在的情况是: 当“账户名”列出现 “张” 字样,“利润”=利率*存款额 “总额”=存款额*0.05 当“账户名”列出现 “李” 字样,“利润”=利率*存款额*0.1 “总额”=0 当“账户名”列出现 “赵” 字样,“利润”=利率*存款额*0.2 “总额”=0 怎么设置代码?
|
-- 作者:有点蓝 -- 发布时间:2016/9/8 17:25:00 -- 类似以下代码 DataColChanged事件 Select Case e.DataCol.Name Case "账户名" If e.NewValue > "" Then If e.NewValue.contains("张") Then e.DataRow("利润")=e.DataRow("利率") * e.DataRow("存款额") ElseIf e.NewValue.contains("李") Then e.DataRow("利润")=e.DataRow("利率") * e.DataRow("存款额") -0.1 Else End If End If End Select |
-- 作者:约翰舒 -- 发布时间:2016/9/8 17:40:00 -- Select Case e.DataCol.Name Case "账户名" If e.NewValue > "" Then If e.NewValue.contains("张") Then e.DataRow("利润")=e.DataRow("利率") * e.DataRow("存款额") ElseIf e.NewValue.contains("李") Then e.DataRow("利润")=e.DataRow("利率") * e.DataRow("存款额") -0.1 Else End If End If End Select那如果“利率”和“存款额”是来自另外一个表“明细表”,怎么引用呢?
|
-- 作者:有点蓝 -- 发布时间:2016/9/8 17:46:00 -- 参考;http://www.foxtable.com/webhelp/scr/1451.htm |
-- 作者:约翰舒 -- 发布时间:2016/9/9 8:45:00 -- 这个引用我看明白了,但是引用时还得设置计算公式,这个不会 |
-- 作者:有点蓝 -- 发布时间:2016/9/9 8:48:00 -- 类似
Dim dr As DataRow \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr dr = DataTables("产品").Find("[品名] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("利润") = dr("利率") * dr("存款额") End If |