以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  考勤垂直表转换为横表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133039)

--  作者:cd_tdh
--  发布时间:2019/4/4 14:39:00
--  考勤垂直表转换为横表

老师,考勤表转换为横表不对,代码如下,麻烦看看。

 

Dim  dtb As  New  DataTableBuilder("考勤表")
dtb.AddDef("姓名",  Gettype(String),  32)
For Each  v As  String In DataTables("实名制考勤").GetValues("考勤日期")
    dtb.AddDef(v, Gettype(String))
Next
dtb.Build()
For Each  v As  String In DataTables("实名制考勤").GetValues("姓名")
    Dim dr1  As  DataRow =  DataTables("考勤表").AddNew()
    dr1("姓名") = v
    For  Each dr2  As  DataRow  In  DataTables("实名制考勤").Select("姓名 = \'" & v & "\'")
        dr1(dr2("考勤日期")) = dr2("考勤状态")
    Next
Next
MainTable = Tables("考勤表")

[此贴子已经被作者于2019/4/4 14:39:16编辑过]

--  作者:cd_tdh
--  发布时间:2019/4/4 16:00:00
--  

 

[此贴子已经被作者于2019/4/4 16:29:44编辑过]

--  作者:有点甜
--  发布时间:2019/4/4 16:43:00
--  

报什么错?

 

是不是这个问题? For Each  v As  String In DataTables("实名制考勤").GetValues("考勤日期", "考勤日期 is not null")


--  作者:cd_tdh
--  发布时间:2019/4/4 17:04:00
--  

报错截图


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

 

实名制考勤  表截图:


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

 

生成的  考勤表截图


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

 

想要这样效果怎么实现


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

[此贴子已经被作者于2019/4/4 17:09:02编辑过]

--  作者:有点甜
--  发布时间:2019/4/4 18:16:00
--  

改成

 

Dim  dtb As  New  DataTableBuilder("考勤表")
dtb.AddDef("姓名",  Gettype(String),  32)
For Each  v As  String In DataTables("实名制考勤").GetValues("考勤日期")
    dtb.AddDef(v.replace(" 00:00:00", ""), Gettype(String))
Next
dtb.Build()
For Each  v As  String In DataTables("实名制考勤").GetValues("姓名")
    Dim dr1  As  DataRow =  DataTables("考勤表").AddNew()
    dr1("姓名") = v
    For  Each dr2  As  DataRow  In  DataTables("实名制考勤").Select("姓名 = \'" & v & "\'")
        dr1(dr2("考勤日期")) = dr2("考勤状态")
    Next
Next
MainTable = Tables("考勤表")


--  作者:cd_tdh
--  发布时间:2019/4/4 20:00:00
--  
老师,4楼最后那个效果怎么实现呢?
--  作者:有点蓝
--  发布时间:2019/4/6 9:01:00
--  
参考:http://www.foxtable.com/webhelp/scr/0018.htm
--  作者:cd_tdh
--  发布时间:2019/4/9 16:55:00
--  

老师,我换了一种方式,麻烦写一下这个代码,选择日期后,根据选择的日期和勾选的人员(勾选的在表中未到岗 为 √ ,没勾选的缺勤 为×)这样的效果

  


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


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

[此贴子已经被作者于2019/4/9 16:54:45编辑过]

--  作者:有点甜
--  发布时间:2019/4/9 19:07:00
--  
请上传具体的有数据,可以测试的实例上来。
--  作者:cd_tdh
--  发布时间:2019/4/9 20:58:00
--  
考试,8楼示例里面有数据,我就想点击考勤,选择考勤日期,出勤了的就勾选,没出勤的不勾选,确定后在实名制考勤表里面对应的显示 √ 或 ×

原来计划垂直表转横表的思路,不太直观,这样更直观,查询也方便,还节约数据,一个人一个月就一行数据。
[此贴子已经被作者于2019/4/9 21:00:11编辑过]