以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]希望在表后面增加以日期为列名的列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122862) |
-- 作者:81538475 -- 发布时间:2018/8/3 10:39:00 -- [求助]希望在表后面增加以日期为列名的列 希望在表A后面增加这些列。报错了。 Dim Builder As New ADOXBuilder Builder.Open() \'打开ADOXBuilder Dim StartDate As Date = "2018-01-01" Dim EndDate As Date = "2018-12-31" Dim dt As Date = StartDate \'Dim Builder As New DataTableBuilder("统计") Do Dim nm As String = "sp" & dt.Year & "年" & dt.Month & "月_" & dt.Day msgbox(nm) Builder.Tables("表A").AddColumn(nm,ADOXType.String,32) dt = dt.Adddays(1) If dt > Enddate Then Exit Do End If Loop Builder.Close() \'关闭ADOXBuilder
|
-- 作者:有点甜 -- 发布时间:2018/8/3 10:50:00 -- 内部表,列有限制的,最多252列,你这样做有问题。
建议做成临时表 http://www.foxtable.com/webhelp/scr/0679.htm
|
-- 作者:81538475 -- 发布时间:2018/8/3 11:43:00 -- 我的目的是想用这个来做每日的事物记录,如果临时表,就不能实现了。或者有没有其他思路方法 另外我用的是外部数据源。 [此贴子已经被作者于2018/8/3 11:47:18编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/8/3 11:45:00 -- 以下是引用81538475在2018/8/3 11:43:00的发言:
我的目的是想用这个来做每日的事物记录,如果临时表,就不能实现了。或者有没有其他思路方法
改成用行记录。
http://www.foxtable.com/webhelp/scr/2965.htm
|
-- 作者:81538475 -- 发布时间:2018/8/3 15:36:00 -- 我是外部sql server 数据源,这样的话是可以实现的是吧。 |
-- 作者:有点甜 -- 发布时间:2018/8/3 17:56:00 -- 以下是引用81538475在2018/8/3 15:36:00的发言:
我是外部sql server 数据源,这样的话是可以实现的是吧。
如果你的表格是外部表,sqlserver数据库,可以无限添加列。 |
-- 作者:81538475 -- 发布时间:2018/8/7 12:40:00 -- 已经弄好了。现在又有一个相关问题,就是现在的列比较多。所以每次加载的时候比较慢,如何设置加载进来的列只是前一个月,本月,后一个月的日期呢。 |
-- 作者:有点甜 -- 发布时间:2018/8/7 14:25:00 -- 以下是引用81538475在2018/8/7 12:40:00的发言:
已经弄好了。现在又有一个相关问题,就是现在的列比较多。所以每次加载的时候比较慢,如何设置加载进来的列只是前一个月,本月,后一个月的日期呢。
根据当前日期,合成sql语句,如
select 主键, 第一列, 第二列 from {表A}
http://www.foxtable.com/webhelp/scr/0670.htm
|
-- 作者:81538475 -- 发布时间:2018/8/7 15:46:00 -- Dim D As Date = Date.Today Dim SD As Date = Date.Today.AddMonths(-1) Dim ED As Date = Date.Today.AddMonths(1) Dim Names As New List(Of String) Do Dim nm As String = "sp" & SD.Year & "年" & SD.Month & "月_" & SD.Day Names.Add(nm) sd = sd.Adddays(1) If sd > ed Then Exit Do End If Loop For i As Integer= 0 To Names.count-1 现在用上面的代码把日期都加入到了集合,,不知道如何把集合一个个的列入sel ec t语句里面 [此贴子已经被作者于2018/8/7 15:49:21编辑过]
|
-- 作者:81538475 -- 发布时间:2018/8/7 16:12:00 -- 搞定了。 ![]() Dim D As Date = Date.Today Dim SD As Date = Date.Today.AddMonths(-1) Dim ED As Date = Date.Today.AddMonths(1) Dim Names As New List(Of String) Dim str As String ="sp" & SD.Year & "年" & SD.Month & "月_" & SD.Day Do sd = sd.Adddays(1) Dim nm As String = "sp" & SD.Year & "年" & SD.Month & "月_" & SD.Day str= str & "," & nm If sd > ed Then Exit Do End If Loop |