Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[讨论] 这个简单的计算代码如何写?

1楼
wcs 发表于:2008/10/17 11:23:00
A表有“科目”列,如下:

固定资产清理
固定资产清理
劳务成本\辅助生产\汽车队
劳务成本\辅助生产\汽车队\办公费
劳务成本\辅助生产\汽车队\办公费

我希望“一级科目”列为:
如果“科目”列中包含“\”,则返回第一个“\”左边的汉字;
如果“科目”列中不包含“\”,则返回“科目”列的对应记录;

帮助中这类似的例子少了啊!

2楼
ybil 发表于:2008/10/17 11:47:00
if  e.DataRow("科目") is Nothing  Then 
    e.DataRow("一级科目") = Nothing
Else
    e.DataRow("一级科目") =(e.DataRow("科目") & "\").split("分隔符")(0)
End If


论坛有BUG,把代码中"分隔符"换为右斜杠显示不正常,记得要替换.
[此贴子已经被作者于2008-10-17 11:54:40编辑过]
3楼
ylm 发表于:2008/10/17 11:54:00
将下面代码复制到命令窗口,修改V(0)  为不同数字,如V(1),测试一下,你就明白如何做了。

Dim s as String= "劳务成本\辅助生产\汽车队\办公费"
Dim V as String()
 v =s.split("\")  
Output.Show(v(0) )
4楼
wcs 发表于:2008/10/17 12:00:00
这个我看得懂啊,

现在我是要计算像这样的一整列:

固定资产清理
固定资产清理
劳务成本\辅助生产\汽车队
劳务成本\辅助生产\汽车队\办公费
劳务成本\辅助生产\汽车队\办公费
.......

我希望得到
固定资产清理
固定资产清理
劳务成本
劳务成本
劳务成本
......


说实话,我主要是对象搞混淆了,不明白“字符”和“一列字符”在写代码时有何不同!如何计算“一列字符”啊?

我没有任何VB编程基础的,确实不易理解不同的对象。
5楼
ylm 发表于:2008/10/17 12:45:00
将e.DataRow("一级科目") =(e.DataRow("科目") & "\").split(" \ ")(0)写入计算代码,在菜单中重算一级科目列,不行吗?
[此贴子已经被作者于2008-10-17 12:45:51编辑过]
6楼
ylm 发表于:2008/10/17 13:52:00

如果你想让公式自动计算,在DataColChanged事件中:

If e.DataCol.Name ="科目" Then
e.DataTable.DataCols("一级科目").Recalc(e.DataRow)
End If

7楼
wcs 发表于:2008/10/17 14:59:00

我试了半天,正解如下:

 

Dim aa as String = e.datarow("科目名称") '将科目名称赋值给aa
Dim bb as String()                       ’建立一字符数组
bb = aa.split("\")            ‘将bb定义为一个以\分隔的数组
e.datarow("一级科目名称")=bb.(0) '将一级科目名称的值设置为数组bb的第一个值

Next


其实关键是要灵活运用,初学者是经验太不足了。 

 
明白了一样东西:数据行、数据列作为对象,可以赋值给一个变量,再运用各种计算代码得出需要的东西,最后再赋值给另一变量。狐表自己会一行一行地计算的。

[此贴子已经被作者于2008-10-17 15:01:55编辑过]
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.