我刚刚开始接触VBA(以前一直用的VC)。现在我需要用Excel做一个报表,就是简单的查询mdb数据库,然后将查询结果写到Excel中,请问该如何做?请各位大侠给一个大体的技术思路。
解决方案 »
- vs2010 vb 不同form之间函数调用的问题
- VB调用DELPHI写的DLL
- 请教:多目标优化问题OPTIONS.MaxFunEvals的设置问题
- 我刚刚接到的几道面试题,请在线的大虾赶快帮我做一下,谢谢了!!!在线等!!
- 请教高手,vb怎么调用静态库
- VB的版主!将我的帖子删除,大家看看吧【软件写好了!!怎么测试,推荐测试工具!!】,就是这么一个问题!!
- 高分求《visual basic高级图形程序设计教程》随书光盘内的全部演示程序代码
- 歌们:谁知道水晶报表中文版9.2在WIN2000下是否支持自定义的纸张?
- 请各位高手不吝赐教,一个较难的问题,高分,请进
- 寻求技术支持!
- 怎么把一个PPT格式文件转化为一个EXE文件?
- 紧急!老问题-关于在VB6中使用OLE控制word的问题
'查询[略]
'写记录集:
Dim appExcel As New Excel.Application, bookExcel As Workbook, destRange As Range
Set appExcel = CreateObject("Excel.application")
''''''''''''''''''''' `
Processing 6, "电子表格初始化"
With appExcel.Application
bytSheetsInNewBook = .SheetsInNewWorkbook
.SheetsInNewWorkbook = 1
End With
Set bookExcel = appExcel.Workbooks.Add
appExcel.Application.SheetsInNewWorkbook = bytSheetsInNewBook
Set destRange = bookExcel.Sheets(1).Range("A1")
destRange.CopyFromRecordset Rst
Dim appExcel As New Excel.Application, bookExcel As Workbook, destRange As Range
dim Rst as new adodb.recordset
'……查询记录的代码[略]
Set bookExcel = appExcel.Workbooks.Add
Set destRange = bookExcel.Sheets(1).Range("A1")
'将记录集插入到destRange开始的位置:
destRange.CopyFromRecordset Rst
dim rs as adodb.recordset
dim exl as excel.application
dim strSQL as string
dim strCN as stringset cn = new adodb.connection
set rs = new adodb.recordset
set exl = new excel.applicationstrCN = "这里写连接字符串"
strSQL = "这里写SQL语句"cn.open strCN
rs.open strSQL,cn
if rs.eof = false then
exl.Workbooks.Add
for i = 0 to rs.recordcount -1
exl.Cells(1, j) = rs.fields("字段1") & ""
exl.cells(2, j) = rs.fields("字段2") & ""
.....
rs.movenext
next
end
rs.close
cn.close
objExl.Visible = True
set rs = nothing
set exl = nothing
很方便
set exl = new excel.application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim TmpStr As String
Dim Cnn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set Cnn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Cnn.CursorLocation = adUseClient
Cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb"
Cnn.Open
TmpStr = "select * From 表1"
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open TmpStr, Cnn, adOpenKeyset, adLockOptimisticIf Not (Rs.BOF And Rs.EOF) Then
Rs.MoveFirst
Set xlApp = CreateObject("Excel.Application")
Set xlBook = Nothing
Set xlSheet = Nothing
xlApp.Workbooks.Add
Set xlBook = xlApp.Workbooks(1)
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Activate
xlSheet.Cells(1, 1)= Rs("表的字段名1") '把表1的第一个记录的字段名1的值写到Excel中的"A1"
...
...
xlApp.ActiveWorkbook.SaveAs "C:\excel.xls" Excel保存在C:\
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = NothingRs.Close
Set Rs = Nothing
Set Cnn= Nothing