Foxtable(狐表)用户栏目专家坐堂 → 垂直表转换问题


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

主题:垂直表转换问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/17 12:12:00 [显示全部帖子]

这个意思?

 

Dim dtb As New DataTableBuilder("表AA")
dtb.AddDef("日期", Gettype(String),100)
dtb.AddDef("星期", Gettype(String),100)
dtb.AddDef("工作类别", Gettype(String),500)
dtb.AddDef("工作内容", Gettype(String),500)
dtb.AddDef("任务接受时间", Gettype(String),100)
dtb.AddDef("计划完成时间", Gettype(String),100)
dtb.AddDef("实际完成时间", Gettype(String),100)
dtb.AddDef("质量自评(0-10)", Gettype(String),100)
dtb.AddDef("效率自评(0-10)", Gettype(String),100)
dtb.AddDef("备注", Gettype(String),500)
dtb.AddDef("员工编号", Gettype(String),100)
dtb.AddDef("员工姓名", Gettype(String),100)
dtb.AddDef("索引号", Gettype(String),100)
'dtb.AddDef("分数", Gettype(Double))
dtb.Build()
Dim kms() As String = {"图纸设计明细","方案和说明书","概算/预算/结算","技术协议签订","投标文件制作","设计技术交底","设计资料存档","电子资料存档","出差天数","加班天数","杂项工作"}
For Each dr1 As Row In Tables("工作日志主表.工作日志副表1").Rows
    For Each km As String In kms
        Dim dr2 As DataRow = DataTables("表AA").AddNew()
        dr2("日期") = dr1("日期")
        dr2("星期") = dr1("星期")
        dr2("任务接受时间") = dr1("任务接受时间")
        dr2("计划完成时间") = dr1("计划完成时间")
        dr2("实际完成时间") = dr1("实际完成时间")
        dr2("质量自评(0-10)") = dr1("质量自评(0-10)")
        dr2("效率自评(0-10)") = dr1("效率自评(0-10)")
        dr2("备注") = dr1("备注")
        dr2("员工编号") = dr1("员工编号")
        dr2("员工姓名") = dr1("员工姓名")
        dr2("索引号") = dr1("索引号")
        dr2("工作类别") = km
        dr2("工作内容") = dr1(km)
    Next
Next
MainTable = Tables("表AA")


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/17 14:17:00 [显示全部帖子]

把首尾的代码去掉

 

'SystemReady = False
For Each  d As DataRow In DataTables("表AA").DataRows
    Dim dr As DataRow = DataTables("工作日志副表2").AddNew
    dr("日期")=d("日期")
    dr("星期")=d("星期")
    dr("工作类别")=d("工作类别")
    dr("工作内容")=d("工作内容")
    dr("任务接受时间")=d("任务接受时间")
    dr("计划完成时间")=d("计划完成时间")
    dr("实际完成时间")=d("实际完成时间")
    dr("质量自评(0-10)")=d("质量自评(0-10)")
    dr("效率自评(0-10)")=d("效率自评(0-10)")
    dr("备注")=d("备注")
    dr("员工编号")=d("员工编号")
    dr("员工姓名")=d("员工姓名")
    dr("索引号")=d("索引号")
Next
'DataTables("工作日志副表2").Save
DataTables("表AA").DeleteFor("")
'SystemReady = True


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/17 14:18:00 [显示全部帖子]

或者是这样

 

SystemReady = False
For Each  d As DataRow In DataTables("表AA").DataRows
    Dim dr As DataRow = DataTables("工作日志副表2").AddNew

SystemReady = True
    dr("日期")=d("日期")

SystemReady = False
    dr("星期")=d("星期")
    dr("工作类别")=d("工作类别")
    dr("工作内容")=d("工作内容")
    dr("任务接受时间")=d("任务接受时间")
    dr("计划完成时间")=d("计划完成时间")
    dr("实际完成时间")=d("实际完成时间")
    dr("质量自评(0-10)")=d("质量自评(0-10)")
    dr("效率自评(0-10)")=d("效率自评(0-10)")
    dr("备注")=d("备注")
    dr("员工编号")=d("员工编号")
    dr("员工姓名")=d("员工姓名")
    dr("索引号")=d("索引号")
Next
'DataTables("工作日志副表2").Save
DataTables("表AA").DeleteFor("")
SystemReady = True


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/17 17:39:00 [显示全部帖子]

以下是引用douglas738888在2016/6/17 16:39:00的发言:
经过几次测试,老师指导的第一种方式可行,         第二种方式,不能有效同步数据。

 

不同同步数据是正常的,因为不触发datacolchanged事件了。

 

看看 http://www.foxtable.com/help/topics/2218.htm

 


 回到顶部