Rss & SiteMap

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

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

标题:版主看到后有什么感想?

1楼
2012woaigp 发表于:2012/12/24 16:29:00
用户已锁定!
2楼
狐狸爸爸 发表于:2012/12/24 17:01:00

呵呵,看你处理什么任务,整体foxtable更轻松。

 

例如要从订单表得到下面的统计数据:

 

 

FoxTable的代码是:

 

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年_数量")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.HorizontalProportion = True
g
.Build()
MainTable = Tables(
"统计表1"
)

 

你用VBA写,看看要多长。

 

再例如,要用目录树一次数多多列(省|县市|区号|邮编)数据:

 

 

同样只需几行代码:

 

 Dim tb As New DropTreeBuilder
tb.SourceTable =
DataTables("行政区域") '指定目录树表
tb.TreeCols =
"省|县市" '指定用于生成目录树的列
tb.SourceCols =
"省|县市|区号|邮编" '指定数据来源列
tb.ReceiveCols =
"省|县市|区号|邮编" '指定数据接收列
Tables("客户").Cols("省").DropTree = tb.Build()


 

你用VBA写个看看。

 

Foxtable封装了大量的工具,开发一个系统,至少可以为你节省80%左右的代码。

 

回到一楼的代码,你想简单,可以改为:

 

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "fwsj"
    dr("nd") = iif(dr.IsNull("fwsj"),Nothing, Year(dr("fwsj")) & "年")
    dr("yf") = iif(dr.IsNull("fwsj"),Nothing, Month(dr("fwsj")) & "月")
End If

 

不过我更喜欢原来的,多谢了if Then,但是可读性好很多。

[此贴子已经被作者于2012-12-24 17:06:08编辑过]
3楼
2012woaigp 发表于:2012/12/24 17:47:00
用户已锁定!
共3 条记录, 每页显示 10 条, 页签: [1]

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

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