首页 上一页 1 2 下一页 尾页

请教VB高手:关于用VB将查询的结果存入Excel表中问题 点击:5154 | 回复:31



可怜的大四学生

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2003年5月05日
发表于:2004-02-16 13:55:00
楼主
我Adodc1和DataGrid1用2个控件完成了对SQL数据库的查询功能,现在想用一个命令按钮Command1实现将查询结果发送到Excel2000中的功能,程序代码已经写好,也将Microsoft Excel 9.0 Object Library导入了工程1中,但运行时,如果查询结果的记录总数比较少,可以正常发送到Excel表中,当查询结果的记录数比较多时,发送10来个数据后,程序就出现错误了,这是怎么回事?请高手指点指点我,谢了!!! 还有,存入Excel表后,各列的名字能自动改吗?现在显示的是A1,B1,C1,,,,,,而不是日期,流量,液位,压力,,,,,我改怎么做??? 我对按钮Command1编程如下: Private Sub Command1_Click() Dim i As Integer, j As Integer Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xlapp = CreateObject("Excel.Application") xlapp.Visible = True Set xlbook = xlapp.Workbooks.Add Set xlsheet = xlbook.Worksheets(1) For i = 0 To Adodc1.Recordset.RecordCount - 1 For j = 0 To Adodc1.Recordset.Fields.Count - 1 DataGrid1.Row = i (编译后,运行一会就提示出错的语句) DataGrid1.Col = j xlsheet.Cells(i + 1, j + 1) = DataGrid1.Text Next j Next i Set xlapp = Nothing Set xlbook = Nothing End Sub



icetea

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 40回
  • 年度积分:0
  • 历史总积分:166
  • 注册:2002年5月16日
发表于:2003-05-18 23:42:00
1楼
加入一条debug.print语句,查看一下当时的数值以及出错的提示就知道问题了。row属性和col属性在运行时不可用。改用datagrid1.Columns.Item(i)试一试

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2003-05-19 08:22:00
2楼
有这么麻烦吗? 你这种用法又不是要求作多么精致的报表! 用文本就行了且速度快! 保存文本时用逗号分开!文件名称吗就可取 *.csv......

可怜的大四学生

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2003年5月05日
发表于:2003-05-19 11:18:00
3楼
deng_lp兄,我主要的目的不是制作精美的报表,我的主要目的是将查询结果导入EXCEL表中,然后在EXCEL表中设置打印,在EXCEL中不是打印方便吗,而且格式也规正!!!!!!!!

可怜的大四学生

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2003年5月05日
发表于:2003-05-19 11:21:00
4楼
那位兄台,如果用datagrid1.Columns.Item(i)那么我上面代码该怎么改呀???请指教

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2003-05-19 13:13:00
5楼
你可先算好再存盘! 用Microsoft Excel 9.0 Object Library当然好只是速度太慢! 要刷新3000笔有你受的啦!

可怜的大四学生

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2003年5月05日
发表于:2003-05-19 16:54:00
6楼
是不是说用Excel时速度小于ADO控件的执行速度,以至于出错呢? 那么有什么方法可以使二者的速度保持一致呢?用延时语句?应该怎么写呢,wait语句又应该怎么用呢?

lv

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 209回
  • 年度积分:0
  • 历史总积分:446
  • 注册:2002年8月21日
发表于:2003-05-20 08:11:00
7楼
我给你发了一个以前做的于用VB将查询的结果存入Excel表中并打印的小程序

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2003-05-20 08:19:00
8楼
没有办法, Microsoft Excel 9.0 Object Library包罗万象速度难免慢了! 你可写在文件中再用Microsoft Excel 9.0 Object Library打开文件, 外部是看不出来流程的

可怜的大四学生

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 14回
  • 年度积分:0
  • 历史总积分:43
  • 注册:2003年5月05日
发表于:2003-05-20 08:42:00
9楼
我的邮箱是:dream_vikey@sina.com

随便谈谈

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2003年10月27日
发表于:2003-11-11 17:18:00
10楼
lvyu: 你好!可以将你的程序发给我一份吗?谢谢 jyf11_28@y2o.cn

随便谈谈

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2003年10月27日
发表于:2003-11-11 17:21:00
11楼
以上邮箱地址有误 jyf11_28@2yo.cn

怀恋工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 44回
  • 年度积分:0
  • 历史总积分:235
  • 注册:2001年12月08日
发表于:2003-11-15 17:18:00
12楼
你的问题可以换一种方法解决: vb+acess+dataEncironments+datareport

WANGKE

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2003年10月26日
发表于:2003-11-16 11:25:00
13楼
lvyu:    你好!可以将你的程序再发给我一份吗?有礼了!!! wangke@tcmtech.com.cn

lv

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 209回
  • 年度积分:0
  • 历史总积分:446
  • 注册:2002年8月21日
发表于:2003-11-17 08:18:00
14楼
有谁要,到www.xingchen.com 流言。

controlPLC

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 54回
  • 年度积分:0
  • 历史总积分:188
  • 注册:2003年8月07日
发表于:2003-11-18 14:46:00
15楼
你没有必要用这种方法来实现,用操作文件的方法把数据写进EXCEL 文件中去啊,这样一般不会有问题的

MaHengguii

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2002年9月05日
发表于:2003-11-20 11:16:00
16楼
你好!可以将你的程序发给我一份吗?谢谢    mymhg@126.com

思琴

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 136回
  • 年度积分:0
  • 历史总积分:216
  • 注册:2003年11月18日
发表于:2003-11-23 20:20:00
17楼
lvyu: 你好!www.xingchen.com技术论坛中的东西打开后……什么……乱码一大堆!!!急归急,还得向你求助! 帮我把你那程序发到我邮箱里吧。非常感谢!(ttnk123@126.net)

sunplay

  • 精华:1帖
  • 求助:0帖
  • 帖子:44帖 | 1432回
  • 年度积分:0
  • 历史总积分:1732
  • 注册:2002年8月13日
发表于:2003-11-27 09:51:00
18楼
lvyu:      你好!可以将你的程序再发给我一份吗?有礼了!!!      sunplay_lina@sina.com

bambootown

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2003年11月22日
发表于:2004-02-11 10:34:00
19楼
lvyu:        你好!可以将你的程序再发给我一份吗? zhangxia123@mail.whut.edu.cn

bambootown

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2003年11月22日
发表于:2004-02-11 10:40:00
20楼
你的问题可以换一种方法解决:   vb+acess+dataEncironments+datareport 这虽然是解决问题的一种方法,但是太复杂了,我以前就这样做过, 很想知道别的方法。

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页