目錄
1. 前言
2. 相關知識
2.1 匯出資料到**查詢**
2.2 adox.catalog
2.3 系統表
3. 原始碼解析
本例簡析通過access vba查詢語句匯出所有資料庫表到xls檔案。
有四種方法,可選其中一種。其中d:\test.xls表示匯出到d盤,命名為test.xls; sheet1是工作表的名字;表名,是資料庫對應的表。
docmd.runsql "select * into [excel 8.0;database=d:\test.xls].[sheet1] from 表名"
docmd.runsql "select * into [sheet1] in 'd:\test.xls'[excel 8.0;] from 表名"
docmd.runsql "select * into [sheet1] in 'd:\test.xls' 'excel 8.0;' from 表名"
docmd.runsql "select * into [sheet1] in 'd:\test.xls' 'excel 8.0;' from 表名"
adox屬於ado擴充套件庫,所以引用時,需在vba選單欄的【工具】->【引用】裡勾選microsoft ado類庫;
catalog是adox的乙個物件,用來描述資料來源模式目錄的。
系統表由系統自動建立,包含了資料庫物件的相關資訊,都是以msys開頭。
private sub transxlsschema()
databasename = "d:\test.mdb" '要操作的資料庫
exportpath = "d:\test.xls" '輸出的**名稱
docmd.setwarnings false '去除所有的系統提示
dim mycat as new adox.catalog '創新新物件
mycat.activeconnection = "provider=microsoft.jet.oledb.4.0;data source=" & databasename '連線資料庫
for i = 0 to mycat.tables.count - 1 '遍歷表
itemname = mycat.tables.item(i).name
if instr(itemname, "msys") = 0 then '這裡的目的,是去除所有自動建立的系統表的干擾
debug.print "[db table]:" & itemname
docmd.runsql "select * into [" & itemname & "] in '" & exportpath & "'[excel 8.0;] from " & itemname '查詢**執行
else
debug.print "[sysrem table]:" & itemname
end if
next
mycat.activeconnection = nothing '斷開連線
msgbox "程式執行完畢!"
end sub
資料匯出Excel表 資料庫資料匯出
public static hashmapcolumn new hashmap static param table 要匯出的表 param name 匯出的excel表名稱 表頭 throws exception public void createexcel string table,strin...
oracle資料庫匯出表
1 exp username password rows n indexes n compress n buffer 65536 feedback 100000 owner username file d username date dmp 2 exp username password rows ...
mysql mysqldump 匯出資料庫表
1.mysqldump的幾種常用方法 1 匯出整個資料庫 包括資料庫中的資料 mysqldump u username p dbname dbname.sql 2 匯出資料庫結構 不含資料 mysqldump u username p d dbname dbname.sql 3 匯出資料庫中的某張資...