Foxtable(狐表)用户栏目专家坐堂 → 根据日期列内容生成一张表的列名


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

主题:根据日期列内容生成一张表的列名

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
根据日期列内容生成一张表的列名  发帖心情 Post By:2010/7/20 17:14:00 [只看该作者]

我想根据一张表中日期列中的日期,自动生成另外一张表的列名或者列标题,代码怎么写


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/20 17:26:00 [只看该作者]


Dim dtb As New DataTableBuilder("临时表")
Dim ColNames As List(Of String) = Datatables("订单").GetUniqueValues("[日期] Is Not Null","日期")
For Each ColName As String In ColNames
    dtb.AddDef(ColName.Replace(" 0:00:00",""), Gettype(String), 32)
Next
dtb.Build()
[此贴子已经被作者于2010-7-20 17:29:35编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/7/20 17:32:00 [只看该作者]

测试OK,谢谢程版,还有问题再问

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/7/20 17:36:00 [只看该作者]

我想问一下,如一张表中,表名为("表A"),已经有A,B,C三列,然后再按照日期列的内容,再加载在A,B,C三列的后面.

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/20 20:05:00 [只看该作者]

Dim ColNames As List(Of String) = Datatables("订单").GetUniqueValues("[日期] Is Not Null","日期")
For Each ColName As String In ColNames
    Datatables("表A").DataCols.Add(ColName.Replace(" 0:00:00",""), Gettype(String), 32)
Next

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/7/21 7:55:00 [只看该作者]

昨日谢错了,你这个代码测试OK,再问一个代码.

 

 表A中不是有A.B.C三列吗,其他的列名是根据另外一张表(例如"表B")的日期生成的,但是表b中有A.B.C以及日期和时间三列,我想的是只要表A中的A.B.C三列中的数据和表B中的A.B.C三列的数据一样,那么表B中的时间列的数据自动加载或复制到相对应的表A的日期列中:

 

例如:

 

表B                                                                   表A的效果

 

卡号    工号   姓名     日期                  时间               卡号        工号        姓名       2010-7-19

 12      34    李四     2010-7-19        7:30                12         34         李四        7:30 11:30  12:30

 12      34    李四     2010-7-19        11:30                                                    

 12      34    李四     2010-7-19        12:00


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/21 9:26:00 [只看该作者]

大概就是这样吧,你慢慢调试琢磨:

 

 

Dim Arys As List(Of String())
Arys = DataTables("表").GetUniqueValues("a","b","c")
For Each Ary As String() In Arys
     Dim drs As List(of DataRow)

     drs = DataTables("表").Select("a=‘" & arys(0) & "' And b = '" & arys(1) & "' And b= '" & arys(2) & "'" )

     Dim nr Row = Tables("新表").AddNew()

     nr("a") = arys(0)

     nr("b") = arys(1)

     nr("c") = arys(2)

    For Each dr As DataRow In drs

        nr("XX") = nr(XX) & dr("事件")

    Next

Next


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/7/21 9:38:00 [只看该作者]

狐爸,我是根据C版的代码:

 

表A中的卡号,姓名,工号是死的,2010-7-19的列名是根据表B的日期列的内容生成的,关键我要的是将表B中李四的时间加载到相应的日期列中.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57602 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/7/21 9:43:00 [只看该作者]

看附件,从考勤表的内容生成到打印表的内容.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考勤.table


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/21 9:45:00 [只看该作者]

我四楼的代码就是这个意思啊,如果A表的a\b\c三列已经输入内容,而且是死的,那么更简单:

 

Dim drs As List(of DataRow)

For Each nr As DataRow In DataTables("表A").DataRows

    drs = DataTables("表").Select("a=‘" & nr("a") & "' And b = '" & br("b") & "' And c= '" & nr("c") & "'" )

    For Each dr As DataRow In drs

        nr("xx") = nr("xx") & dr("xx")

    Next

Next


 回到顶部
总数 26 1 2 3 下一页