国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Access > 正文

用ACCESS的視圖導(dǎo)數(shù)據(jù)到EXCEL

2024-09-07 19:05:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
從access中導(dǎo)數(shù)據(jù)到Excel高效的方法,借鑒了網(wǎng)上的一種導(dǎo)表的方法,

嘗試了下用視圖也是可以的:

但這種方法有缺陷的地方是可能彈出兩個(gè)對(duì)話框,

一個(gè)是在access有密碼的情況下,彈出讓輸入密碼的對(duì)話框

另一個(gè)是安全對(duì)話框,這個(gè)要改變access的宏安全級(jí)別到低才不彈出

改變宏安全級(jí)別可以在access中手工設(shè)置,用程序設(shè)置的要修改注冊(cè)表

感覺(jué)都不是很好解決辦法,但偶也沒(méi)有想出更好的辦法。

在假設(shè)已經(jīng)設(shè)置了宏安全級(jí)別的情況下,導(dǎo)出實(shí)現(xiàn)修正如下:

view plaincopy to clipboardPRint?
Access.applicationClass oAccess = new Access.ApplicationClass();   
oAccess.Visible = false;   
// 沒(méi)有密碼,可以設(shè)置成空   
string sDBPassWord = "MyPassword"; //database password   
DAO._DBEngine oDBEngine = oAccess.DBEngine;   
DAO.Database oDB = oDBEngine.OpenDatabase("c://mydb.mdb",   
   false, false, ";PWD=" + sDBPassword);   
oAccess.OpenCurrentDatabase("d://test.mdb",false,"");   
oDB.Close();   
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDB);   
oDB = null;   
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDBEngine);   
oDBEngine = null;   
oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,   
Access.AcSpreadSheetType.acSpreadsheetTypeExcel9,   
"testview", "d://testexport.xls", true, null, null);  
Access.ApplicationClass oAccess = new Access.ApplicationClass();
oAccess.Visible = false;
// 沒(méi)有密碼,可以設(shè)置成空
string sDBPassword = "MyPassword"; //database password
DAO._DBEngine oDBEngine = oAccess.DBEngine;
DAO.Database oDB = oDBEngine.OpenDatabase("c://mydb.mdb",
   false, false, ";PWD=" + sDBPassword);
oAccess.OpenCurrentDatabase("d://test.mdb",false,"");
oDB.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDB);
oDB = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDBEngine);
oDBEngine = null;
oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,
Access.AcSpreadSheetType.acSpreadsheetTypeExcel9,
"testview", "d://testexport.xls", true, null, null);

當(dāng)然,要用access組件,要把a(bǔ)ccess的COM組件引用到工程里,

我一般習(xí)慣的做法是先把COM引用添加上去,編譯一下,引用的程序集包容器就出現(xiàn)在bin下了,

然后把這個(gè)dll文件備份一下,工程里可以把COM引用去掉,直接引用這幾個(gè)dll就行了,

這樣整個(gè)工程文件可以任意拷貝到其他機(jī)器上。

這種方法導(dǎo)access效率的確是比較快的,畢竟是交給window OS來(lái)做的

但應(yīng)用局限性還是比較明顯的,我推薦用OLEDB 連接access查詢,在結(jié)合

http://blog.csdn.net/linaren/archive/2009/10/28/4736637.aspx

這個(gè)上面的方法,是不錯(cuò)的選擇,效率稍顯慢些,但靈活性比較大。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沁源县| 梧州市| 涡阳县| 新巴尔虎左旗| 渝北区| 巴里| 阿拉尔市| 西乌| 万盛区| 宁波市| 台东市| 铜山县| 台前县| 定边县| 岚皋县| 诏安县| 靖边县| 阳信县| 吉林省| 彩票| 阳山县| 新泰市| 翁牛特旗| 噶尔县| 前郭尔| 怀化市| 锡林浩特市| 介休市| 乌拉特中旗| 得荣县| 崇信县| 博乐市| 会宁县| 荔波县| 称多县| 贵港市| 长白| 贵南县| 伊金霍洛旗| 楚雄市| 肃南|