Foxtable(狐表)用户栏目专家坐堂 → [求助]动态生成Excel报表(搞定)


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

主题:[求助]动态生成Excel报表(搞定)

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/30 11:39:00 [显示全部帖子]

正确的:

 

If e.Form.Controls("ComboBox1").Text > "" AndAlso e.Form.Controls("ComboBox2").Text > "" Then

 

这样也行:

 

If e.Form.Controls("ComboBox1").Value > "" AndAlso e.Form.Controls("ComboBox2").Value > "" Then

我希望你能想想这是为什么。

[此贴子已经被作者于2010-6-30 11:39:05编辑过]

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


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

e.Form能在命令窗口用吗?e.Form只能用在窗口或者控件的事件中,表示触发事件的窗口,每一个事件都有自己的e参数,用于提供事件信息。

 

其他地方只能用Forms("窗口名")的。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/6/30 15:58:00 [显示全部帖子]

帮助提示很清楚啊,Names没有定义,变量是有作用范围的,帮助有专门的一章讲述这个问题的

 

应该在最前面定义数组:

 

Dim Names() As String

 

中间:

 

Names =  New String () {"a","b","c"}

 

通过这几个问题可以看出,老兄基本功还有点欠缺,最好补习帮助文件两三遍,必须细读。

[此贴子已经被作者于2010-6-30 15:58:57编辑过]

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


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

呵呵,本坛的版主就有奔五的呢。

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


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

Dim Names() As String

If DataTables.Contains("分组统计") '如果存在分组统计
    If Forms("操作选项").Controls("ComboBox1").Value >"" AndAlso Forms("操作选项").Controls("ComboBox2").Value >"" Then
        Names =  New String() {"结果分析","林种统计","面积统计","秋季验收","补助测算","坡度统计","权属统计","设计汇总","设计统计","投资测报","预算汇总","植被统计","验收汇总","二期补助"}
    Else
        Names = New String() {"结果分析表","林种统计表","面积统计表","秋季验收表","补助测算表","坡度统计表","权属统计表","设计汇总表","设计统计表","投资测报表","预算汇总表","植被统计表","验收汇总表","二期补助表"}
    End If
    For Each Name As String In Names
        With Tables("分组统计")
            .Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
        End with
        Dim Book As New XLS.Book(ProjectPath & "Attachments\" & Name & ".xls") '打开模板
        Book.Build() '生成细节区
        Book.Save("D:\My Documents\退耕报表\"& Name & ".xls") '保存工作簿
        Dim Proc As New Process '打开工作簿
        Proc.File ="D:\My Documents\退耕报表\"& Name & ".xls"
        Proc.Start()
    Next
Else
    MessageBox.Show("先统计!", "提示")
End If


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/1 9:20:00 [显示全部帖子]

运行这个程序,然后将结果贴图上来:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:getosversion.rar


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/1 9:34:00 [显示全部帖子]

你的意思是foxtable能够启动,加上excel报表按钮代码才出现?

应该不会这样的,要不你删除这个按钮的代码看看吧。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/1 10:04:00 [显示全部帖子]

单击按钮出错? 升级到.net framework 2.0 sp2吧?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/1 11:11:00 [显示全部帖子]

既然第一个按钮不出错,那么自己逐行用正确的代码替换,知道出错,找出错误代码位置。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/1 16:09:00 [显示全部帖子]

图片点击可在新窗口打开查看

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