Foxtable(狐表)用户栏目专家坐堂 → [求助]希望在表后面增加以日期为列名的列


  共有1908人关注过本帖树形打印复制链接

主题:[求助]希望在表后面增加以日期为列名的列

帅哥哟,离线,有人找我吗?
81538475
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]希望在表后面增加以日期为列名的列  发帖心情 Post By:2018/8/3 10:39:00 [只看该作者]

希望在表A后面增加这些列。报错了。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180803103820.png
图片点击可在新窗口打开查看


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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 10:50:00 [只看该作者]

内部表,列有限制的,最多252列,你这样做有问题。

 

建议做成临时表 http://www.foxtable.com/webhelp/scr/0679.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/8/3 11:43:00 [只看该作者]

我的目的是想用这个来做每日的事物记录,如果临时表,就不能实现了。或者有没有其他思路方法 另外我用的是外部数据源。
[此贴子已经被作者于2018/8/3 11:47:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 11:45:00 [只看该作者]

以下是引用81538475在2018/8/3 11:43:00的发言:
我的目的是想用这个来做每日的事物记录,如果临时表,就不能实现了。或者有没有其他思路方法

 

改成用行记录。

 

http://www.foxtable.com/webhelp/scr/2965.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/8/3 15:36:00 [只看该作者]

我是外部sql server 数据源,这样的话是可以实现的是吧。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/3 17:56:00 [只看该作者]

以下是引用81538475在2018/8/3 15:36:00的发言:
我是外部sql server 数据源,这样的话是可以实现的是吧。

 

如果你的表格是外部表,sqlserver数据库,可以无限添加列。


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/8/7 12:40:00 [只看该作者]

已经弄好了。现在又有一个相关问题,就是现在的列比较多。所以每次加载的时候比较慢,如何设置加载进来的列只是前一个月,本月,后一个月的日期呢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By: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

 回到顶部