Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉统计日期分组漏日期


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

主题:[求助]交叉统计日期分组漏日期

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 12:05:00 [显示全部帖子]

生成之后,在用代码从统计表删除这些没有用的日期列
[此贴子已经被作者于2011-8-24 12:04:39编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 15:08:00 [显示全部帖子]

代码在哪个表的那个窗口?你说的员工计件表和月末基本工资统计窗口,我没找到

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 15:49:00 [显示全部帖子]

Dim Filter As String = "[姓名]<>''"
Dim Y As Integer = Forms("选择月份").Controls("TextBox1").Value
Dim M As Integer = Forms("选择月份").Controls("TextBox2").Value
Dim SD As Date = New Date(Y,M,1)
Dim Days As Integer = Date.DaysInMonth(Y,M)
Dim ED As Date = New Date(Y,M,Days)
Filter = Filter & "And [日期] >= #" & SD & "# And [日期]<= #" & ED & "#"
If Forms("选择月份").Controls("CheckBox1").Checked = False Then
    Filter = Filter & "And [部门]<>'C'"
End If
If Forms("选择月份").Controls("CheckBox2").Checked = False Then
    Filter = Filter & "And [部门]<>'G'"
End If
If Forms("选择月份").Controls("CheckBox3").Checked = False Then
    Filter = Filter & "And [部门]<>'小线'"
End If
If Forms("选择月份").Controls("CheckBox4").Checked = False Then
    Filter = Filter & "And [部门]<>'开后'"
End If
If Forms("选择月份").Controls("CheckBox5").Checked = False Then
    Filter = Filter & "And [部门]<>'小后'"
End If
If Forms("选择月份").Controls("CheckBox6").Checked = False Then
    Filter = Filter & "And [部门]<>'佳洁云'"
End If
Dim g As New CrossTableBuilder("计件工资", DataTables("计件表"), Filter)
g.HGroups.AddDef("部门")
g.HGroups.AddDef("姓名")
g.VGroups.AddDef("日期", DateGroupEnum.Day, "{0}日")
g.Totals.AddDef("金额", "金额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Decimals = 1
g.Build()
Dim Book As New XLS.Book(ProjectPath & "Attachments\计件工资模板.xls")
Dim fl As String = ProjectPath & "Reports\计件工资" & Y & "-" & M & ".xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Sheet = Book.Sheets(0)
For i As Integer = sheet.Cols.Count - 1 To 0 Step -1
    Dim nm As String = sheet(1,i).text
    If nm.EndsWith("日")
        If Tables("计件工资").Cols.Contains("金额_" & val(nm)) = False Then
            Sheet.Cols.RemoveAt(i)
        End If
    End If
Next
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()
Forms("选择月份").Close

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 16:13:00 [显示全部帖子]

你原来生成的excel报表已经有空行了啊。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 16:24:00 [显示全部帖子]

你生成的报表,1到31都有了:

 


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

 

我没有看到中间有缺的


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/24 16:55:00 [显示全部帖子]

直接保存算了:

 

http://www.foxtable.com/help/topics/0559.htm

 


 回到顶部