读书人

学识共享图文直播-(一)将数据库中的

发布时间: 2013-10-08 16:38:32 作者: rapoo

知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

熟话说万物皆有其存在的道理,为什么我突然想写《知识共享图文直播》这个系列呢?首先,我想的是记录自己学习的历程,在记录中加深自己对知识的理解,同时也希望自己的博文能帮助到其他数据库的初学者。其次,这也算借鉴了其他人的一个好的想法吧。

一、我们所处的环境

1、看窗体布局

学识共享图文直播-(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

2、了解目标表

学识共享图文直播-(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

二、数据导入MSFlexGrid控件中


[vb] view plaincopyprint?
  1. Dim strSQL As String
  2. Dim strMsg As String
  3. Dim objRs As ADODB.Recordset
  4. Dim n As Integer
  5. '提取学生信息
  6. strSQL = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
  7. Set objRs = ExecuteSQL(strSQL, strMsg)
  8. '显示列名
  9. With MSFlexGrid1
  10. '.Row = 0
  11. .TextMatrix(0, 0) = "卡号"
  12. .TextMatrix(0, 1) = "学生姓名"
  13. .TextMatrix(0, 2) = "充值金额"
  14. .TextMatrix(0, 3) = "充值日期"
  15. .TextMatrix(0, 4) = "充值时间"
  16. .TextMatrix(0, 5) = "充值教师"
  17. '有选择的显示记录,对比表中的列名可知
  18. n = 0
  19. While Not objRs.EOF
  20. MSFlexGrid1.AddItem (objRs!cardno & vbTab & objRs!studentName & _
  21. vbTab & objRs!cash & vbTab & objRs!Date & _
  22. vbTab & objRs!Time & vbTab & objRs!UserID)
  23. n = n + 1
  24. objRs.MoveNext
  25. Wend
  26. End With

三、将控件中显示数据导入Excel表格


1、首先我们先在模块中建立执行此过程的方法,如下:


[vb] view plaincopyprint?
  1. <pre name="code" class="vb">Public Sub OutDataToExcel(Flex As MSFlexGrid)
  2. '***********************************************************
  3. '作用:定义一个过程,实现将MSFlexGrid控件中的数据导入Excel表格
  4. '输入参数:无
  5. '返回值:
  6. '创建日期:2013.8.23
  7. '修改日期:
  8. '作者:十期提高班 Senior_Lee
  9. '****************************************
  10. Dim s As String
  11. Dim i, j, k As Integer
  12. On Error GoTo Err
  13. 'Me.MousePointer = 11
  14. Dim Excelapp As Excel.Application
  15. Set Excelapp = New Excel.Application
  16. On Error Resume Next
  17. DoEvents
  18. Excelapp.SheetsInNewWorkbook = 1
  19. Excelapp.Workbooks.Add
  20. 'Excelapp.ActiveSheet.Cells(1, 1) = s
  21. 'Excelapp.Range("c1").Select '选中某一个单元格
  22. 'Excelapp.Selection.Font.Size = 16 '设置选中单元格的字体
  23. With Flex
  24. k = .Rows
  25. For i = 0 To k - 1
  26. For j = 0 To .Cols - 1
  27. DoEvents
  28. Excelapp.ActiveSheet.Cells(1 + i, j + 1) = "'" & .TextMatrix(i, j)
  29. Next j
  30. Next i
  31. End With
  32. 'Me.MousePointer = 0
  33. Excelapp.Visible = True
  34. 'Excelapp.Sheets.PrintPreview '默认显示,打印预览窗体,注释之后直接显示Excel表格
  35. '错误处理
  36. Err:
  37. If Not (Excelapp Is Nothing) Then
  38. Excelapp.Quit
  39. End If
  40. End Sub
2、在窗体中调用
Private Sub cmdOutPut_Click()  '***************************************  '作用:将学生充值记录导入Excel表格  '输入参数:  '返回值:  '创建日期:  '修改日期:  '作者:  '*************************************      OutDataToExcel MSFlexGrid1  End Sub     

写完之后总觉得少点东西,文章页仅仅是记录;在接下来的文章中会慢慢的加入自己的思考的。同时也希望该文对数据库的初学者有帮助。

9楼u010539352昨天 12:38
有帮助!我还没开始研究呢。。。
Re: Senior_lee11小时前
回复u010539352n不急慢慢来,等遇到了问题先自己好好想想,再看博客
8楼u010011371昨天 11:31
有帮助,呵呵,加油啊!
7楼lfmilaoshi3天前 16:01
文章的最后,再有一些更为充分的解说,看起来,有画龙点睛了。
6楼Augus33443天前 10:33
Dim s As String n Dim i, j, k As Integer n这个命名是不是不太合适啊
Re: Senior_lee3天前 10:34
回复Augus3344n确实,马上修改
5楼u0108537015天前 21:12
想法不错,我谨代表党中央对你进行鼓励!
Re: Senior_lee4天前 21:24
回复u010853701n注意评价内容啊
4楼u0108500275天前 15:25
赶快赶快追上
Re: Senior_lee5天前 20:02
回复u010850027n怎么呢?
Re: Senior_lee5天前 21:11
回复u010850027nwhat?
3楼caozhangyingfei01096天前 20:14
在你的博客里,我更希望看到你的思考过程。
Re: Senior_lee5天前 10:33
回复caozhangyingfei0109n恩恩,在接下来的博客里会慢慢加上去,这篇写得比较急
2楼u0100288696天前 19:52
进度总是这么快~~
Re: Senior_lee6天前 19:53
回复u010028869n不快啊,真的,快的人有很多啊
1楼aboy1236天前 16:20
总结是进步的阶梯。
Re: Senior_lee6天前 17:21
回复aboy123n总结也是学习的过程

读书人网 >其他数据库

热点推荐