标题:access数据导出到excel代码求助
只看楼主
m446781380
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2023-2-27
结帖率:66.67%
已结贴  问题点数:20 回复次数:2 
access数据导出到excel代码求助
刚开始学习VB6.0+access,代码基础不劳,现在遇到一个功能不知道怎么写,总是报错。
要求:将form8中mshflexgird的内容导出到excel,且要求导出的数据符合领用日期介于dtpicker1和dtpicker2之间(可等于)。
求大神帮忙完善代码。跪谢!!!
办公用品领用.zip (37.52 KB)
搜索更多相关主题的帖子: 代码 access excel 数据 导出 
2023-03-28 11:04
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:20 
1、form8的command1的事件直接用MSHFlexGrid1内容判断后直接输出到execl。
command1的具体代码修改如下:

Private Sub Command1_Click()
  Dim i, j, t
  
  CommonDialog1.ShowSave
  t = CommonDialog1.FileName
  
  Dim xlApp As Excel.Application '定义EXCEL类
  Dim xlBook As Excel.Workbook '定义工件簿类
  Dim xlsheet As Excel.Worksheet '定义工作表类
  
  Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
  xlApp.Visible = False
  Set xlBook = xlApp.Workbooks.Add
  Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
 
  Dim Date1, Date2, Date3
  Dim Cols, Rows
  Dim count1
  Date1 = CDate(DTPicker1.Value)
  Date3 = CDate(DTPicker2.Value)
  Rows = MSHFlexGrid1.Rows
  Cols = MSHFlexGrid1.Cols
  count1 = 2
   
  For i = 0 To Cols - 1: xlsheet.Cells(1, i + 1) = MSHFlexGrid1.TextMatrix(0, i): Next '表头
  For i = 1 To Rows - 1
    Date2 = CDate(Format(MSHFlexGrid1.TextMatrix(i, 7), "yyyy/mm/dd"))
    If Date1 <= Date2 And Date2 <= Date3 Then '符合条件
      For j = 0 To Cols - 1: xlsheet.Cells(count1, j + 1) = MSHFlexGrid1.TextMatrix(i, j): Next '符合条件记录
      count1 = count1 + 1
    End If
  Next
  
  xlBook.SaveAs (t)
  xlBook.Close (True) '关闭EXCEL工作簿
  xlApp.Quit '关闭EXCEL
  Set xlApp = Nothing '释放EXCEL对象
  MsgBox "完成导出"
End Sub
2、如果用数据库,要么是查询全部记录,在匹配;或者直接构造符合条件sql语句(日期型的比较有难度,日期型数据必须格式一致才行)。
   不过以上数据已经加载完毕,没有必要在去数据库中查询了。
2023-03-28 16:07
m446781380
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2023-2-27
得分:0 
回复 2楼 wds1
非常感谢,还是需要加强学习。
2023-03-28 17:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511702-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049097 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved