以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]字符型列 起讫号 转换代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83165)

--  作者:方丈
--  发布时间:2016/4/1 21:29:00
--  [求助]字符型列 起讫号 转换代码?

请教:下列代码中,因“学业考试报名号”列类型为 “字符”,不能统计,怎么办?

 

Dim b As New SQLGroupTableBuilder("起讫号明细表","学籍信息库")
b.Groups.AddDef("班级")
b.Totals.AddDef("学业考试报名号",AggregateEnum.Min,"起始号")
b.Totals.AddDef("学业考试报名号",AggregateEnum.Max,"结束号")
b.build()

MainTable = Tables("起讫号明细表")


--  作者:Hyphen
--  发布时间:2016/4/2 9:26:00
--  
只有数值列才可以统计。用代码或者sql计算


--  作者:方丈
--  发布时间:2016/4/2 9:37:00
--  

“学业考试报名号”列是从其他软件导入的,一定是 字符  型

 

我用增加  临时列  的方法,但报错

 

 

 

DataTables("学籍信息库").DataCols.Add("报名号序列",Gettype(Double))

 

For Each dr As Row In Tables("学籍信息库").Rows

   dr("报名号序列") = CDbl(dr("学业考试报名号"))

Next

 

 

DataTables("学籍信息库").Save()

 

\'

Dim b As New SQLGroupTableBuilder("起讫号明细表","学籍信息库")

b.Groups.AddDef("班级")

b.Totals.AddDef("报名号序列",AggregateEnum.Min,"起始号")

b.Totals.AddDef("报名号序列",AggregateEnum.Max,"结束号")

b.build()

 

MainTable = Tables("起讫号明细表")

 

 

提示:统计错误,错误原因    至少一个参数没有被指定值

       

[此贴子已经被作者于2016/4/2 9:39:26编辑过]

--  作者:Hyphen
--  发布时间:2016/4/2 10:28:00
--  
上传例子测试
--  作者:方丈
--  发布时间:2016/4/2 10:42:00
--  

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

[此贴子已经被作者于2016/4/2 11:21:41编辑过]

--  作者:Hyphen
--  发布时间:2016/4/2 10:55:00
--  
If DataTables("学籍信息库").dataCols.Contains("报名号序列") Then
    DataTables("学籍信息库").dataCols.Delete("报名号序列")
End If

DataTables("学籍信息库").DataCols.Add("报名号序列",Gettype(Double))

For Each dr As Row In Tables("学籍信息库").Rows
   dr("报名号序列") = CDbl(dr("学业考试报名号"))
Next


DataTables("学籍信息库").Save()

Dim b As New GroupTableBuilder("起讫号明细表",DataTables("学籍信息库"))
b.Groups.AddDef("班级")
b.Totals.AddDef("报名号序列",AggregateEnum.Min,"起始号")
b.Totals.AddDef("报名号序列",AggregateEnum.Max,"结束号")
b.build()

MainTable = Tables("起讫号明细表")

--  作者:lsy
--  发布时间:2016/4/2 11:05:00
--  
一楼的代码,测试字符列,没问题呀。
--  作者:方丈
--  发布时间:2016/4/2 11:21:00
--  
谢谢
--  作者:方丈
--  发布时间:2016/4/2 12:42:00
--  
以下是引用lsy在2016/4/2 11:05:00的发言:
一楼的代码,测试字符列,没问题呀。

刚才重新测试了一下,的确是lsy 说的那样    但要把原来代码中:

 Dim b As New SQLGroupTableBuilder("起讫号明细表","学籍信息库")

 

换成 hyphent  提供的

 

Dim b As New GroupTableBuilder("起讫号明细表",DataTables("学籍信息库"))

 

不知为什么?

 


--  作者:方丈
--  发布时间:2016/4/2 13:09:00
--  

另请教一个问题,下面表中 802 班 报名号有两段 后四位分别是 0041--0080、0568--0576

 

按照上面的代码,统计起讫号 是 0041---0576    没办法 分两段  要怎么改代码呢?谢谢!

 

 

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