Foxtable(狐表)用户栏目专家坐堂 → excel报表选择条件


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

主题:excel报表选择条件

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


加好友 发短信
等级:幼狐 帖子:160 积分:1214 威望:0 精华:0 注册:2015/7/1 17:35:00
excel报表选择条件  发帖心情 Post By:2015/7/6 15:37:00 [只看该作者]

Dim jt As String =e.Form.Controls("ComboBox1").Value '机台
Dim chepeople As String =e.Form.Controls("ComboBox2").Value'检查员
Dim sd As Date = e.Form.Controls("DateTimePicker1").Value
Dim ed As Date = e.Form.Controls("DateTimePicker2").Value
Dim Book As New XLS.Book(ProjectPath & "Attachments\出筒部统计表.xls") '打开模板
Dim fl As String = ProjectPath & "Reports\出筒部统计表.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)

'Sheet(3,19).Value = "<检查时间 >= # " & sd & "# And 检查时间 <= #" & ed & "# And 机台 = '" & jt & "'>"  '写入打印条件
'Sheet(3,19).Value = "< 机台 = '" & jt & "'>"  '写入打印条件
'Sheet(3,19).Value = "<检查时间 >= # " & sd & "# And 检查时间 <= #" & ed & "# And 机台 = '" & jt & "'>"  '写入打印条件
Book.Build() '生成报表
Book.Save(fl) 
Dim Proc As New Process 
Proc.File = fl
Proc.Start()
输入任意条件都可以查询到相关数据,代码要怎样写?比如说:有三个选择框(时间,机台,检查员),选择其中一个选择框或者两个,三个都可以选择相关数据要怎样写代码?(举个例子:我选择时间和检查员,不用选择机台,就可以带出相关数据,要怎样操作?)

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/6 15:39:00 [只看该作者]

最基本的查询

 

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

 

[此贴子已经被作者于2015/7/6 15:38:55编辑过]

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


加好友 发短信
等级:幼狐 帖子:160 积分:1214 威望:0 精华:0 注册:2015/7/1 17:35:00
  发帖心情 Post By:2015/7/6 17:03:00 [只看该作者]

这是筛选表,但是我想制作报表

就是根据选条件,生成我自定义的报表
[此贴子已经被作者于2015/7/6 17:04:32编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/6 17:04:00 [只看该作者]

 一样的意思,目的是得到那个Filter就行

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


加好友 发短信
等级:幼狐 帖子:160 积分:1214 威望:0 精华:0 注册:2015/7/1 17:35:00
  发帖心情 Post By:2015/7/6 17:06:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "机台 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "检查员 = '" & .Value & "'"
    End If
End With

With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("ProjectPath & "Attachments\出筒部统计表.xls").Filter = Filter
End If
最后ProjectPath & "Attachments\出筒部统计表.xls是我设定的报表,为什么这行代码会报错,显示这个表不存在


改成这样Tables("出筒部统计表").Filter = Filter  也是显示不存在
[此贴子已经被作者于2015/7/6 17:10:35编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/6 17:16:00 [只看该作者]

Dim jt As String =e.Form.Controls("ComboBox1").Value '机台
Dim chepeople As String =e.Form.Controls("ComboBox2").Value'检查员
Dim sd As Date = e.Form.Controls("DateTimePicker1").Value
Dim ed As Date = e.Form.Controls("DateTimePicker2").Value
Dim Book As New XLS.Book(ProjectPath & "Attachments\出筒部统计表.xls") '打开模板
Dim fl As String = ProjectPath & "Reports\出筒部统计表.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "机台 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "检查员 = '" & .Value & "'"
    End If
End With


With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With


With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With

If filter > "" Then
    Sheet(3,19).Value = "<" & filter & ">"
Else
    Sheet(3,19).Value = "<all>"
End If

Book.Build() '生成报表
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

[此贴子已经被作者于2015/7/6 17:16:27编辑过]

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


加好友 发短信
等级:幼狐 帖子:160 积分:1214 威望:0 精华:0 注册:2015/7/1 17:35:00
  发帖心情 Post By:2015/7/7 9:36:00 [只看该作者]

没数据出来

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 9:38:00 [只看该作者]

加入代码,弹出msgbox(filter)看看内容

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


加好友 发短信
等级:幼狐 帖子:160 积分:1214 威望:0 精华:0 注册:2015/7/1 17:35:00
  发帖心情 Post By:2015/7/7 10:20:00 [只看该作者]

加入代码后,条件显示没问题

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

但是日期不能筛选
[此贴子已经被作者于2015/7/7 10:30:40编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 10:42:00 [只看该作者]

试试这样改

 

With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & Format(.Value, "yyyy-MM-dd HH:mm:ss") & "#"
    End If
End With


With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & Format(.Value, "yyyy-MM-dd HH:mm:ss") & "#"
    End If
End With

[此贴子已经被作者于2015/7/7 10:43:05编辑过]

 回到顶部
总数 13 1 2 下一页