怎么用VB将Access的一个表中数据复制到excell的某个页面中?
谢谢! --------------------编程问答-------------------- 至少有 8 种方法:1 通过 Sheet 对象逐单元格填入数据;
2 通过 Range 对象一次将数组填入多个单元格;
3 通过 Range 对象的 CopyFromRecordset 方法将记录集一次写入;
4 通过 Sheet 对象的 QueryTables.Add 方法直接执行对 Access 表的查询导入;
这个介绍的比较少,贴一段例子:
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
'Create the QueryTable
Dim sNWind As String
sNWind = _
"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
Dim oQryTable As Object
Set oQryTable = oSheet.QueryTables.Add( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
sNWind & ";", oSheet.Range("A1"), "Select * from Orders")
oQryTable.RefreshStyle = xlInsertEntireRows
oQryTable.Refresh False
'Save the Workbook and Quit Excel
oBook.SaveAs "C:\Book1.xls"
oExcel.Quit
5 利用剪贴板:将数据 vbCr 分隔行,vbTab 分隔列的字符串复制到剪贴板,然后
oBook.Worksheets(1).Range("A1").Select
oBook.Worksheets(1).Paste
以上字符串,可以通过记录集的 GetString 方法得到。
sData = rs.GetString(adClipString, , vbTab, vbCr, vbNullString)
6 通过将以上字符串形式的数据写入文本文件,另 Excel 读入:
Shell "C:\Program Files\Microsoft Office\Office\Excel.exe " & _
Chr(34) & "C:\Test.txt" & Chr(34), vbMaximizedFocus
或通过自动化,以 Book 对象读入文本文件:
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
'Open the text file
Set oBook = oExcel.Workbooks.Open("C:\Test.txt")
'Save as Excel workbook and Quit Excel
oBook.SaveAs "C:\Book1.xls", xlWorkbookNormal
oExcel.Quit
7 使用 ADO,将 Excel 当作外部数据库,直接由 Access 导入数据表。
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Book1.xls;Extended Properties=Excel 8.0;"
conn.Execute "Select Into [Sheet1$] From MyTable In mydb.mdb"
'......
8 使用 DDE。这里就不介绍了。
--------------------编程问答-------------------- 多多多多多谢谢,很好很强大!!!!谢谢of123! --------------------编程问答-------------------- Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str1 As String
Dim str2 As String
Dim str3 As String
str1 = "Provider = Microsofte.Jet.OLEDB.4.0"
str2 = "Data Source=F:\FFF\VB学习\数据库学习db2.mdb"
str3 = "Jet.OLEDB:Database Password="
conn.Open str1 & str2 & str3
.......
提示:“实时错误‘3706’ 未找到提供程序。该程序可能未正确安装。”
重装了MDAC,重新运行了msjetoledb40.dll都无效。
望赐教。我初学,初初学,问题可能太简单,不要见笑。
--------------------编程问答--------------------
牛B --------------------编程问答-------------------- 我的课题:
建立一个ACCESS“学生登记表”;
通过VB编程显示、添加、修改、删除表中的内容(添加、修改、删除用TextBox+CommandButton);
“学生登记表”的建立、显示已经完成,在写“添加”按钮代码时遇到问题--“ 实时错误‘3706’未找到提供程序。该程序可能未正确安装。”
望指教 --------------------编程问答-------------------- 贝隆,多想想, 下午好
你们都是我关注的高手,不期在此相遇,真乃缘分。我会做个好学生。好好学习,天天向上。
祝天天愉快,事业有成,轻松发财!
礼
fzygsgsfzylsq --------------------编程问答-------------------- 最简单的方式,一句话实现:
INSERT INTO [excel 8.0;database=z:\book1.xls].[sheet5$]
SELECT *
FROM 表名 --------------------编程问答-------------------- --------------------编程问答-------------------- 资源下载:
http://download.csdn.net/detail/xiaoyao961/4502287
vb导出ACCESS数据库中一个表的内容到EXCEL MDB2XLS
补充:VB , 数据库(包含打印,安装,报表)