由于作業原因,需要做大量ACCESS與Excel之間的轉換,修改Excel后再匯入access,然后用access生成CAD圖。作業量很大,請問有沒有大神幫幫忙,給個解決辦法,怎樣實作ACCESS與Excel之間的快速轉換。Excel檔案名和access里面的表名要一樣。本人對編程一竅不通。請大神們幫幫忙!


uj5u.com熱心網友回復:
把 Excel 當作 Jet Engine 的外部資料庫來操作,全部操作用 SQL 陳述句搞定。uj5u.com熱心網友回復:
具體怎樣來做,或者說代碼?本人小白一個。
uj5u.com熱心網友回復:
上網搜一下,大把的連接字串示例和 SQL 陳述句示例。uj5u.com熱心網友回復:
Private Sub Excel2MDB(ExcelPath As String, SheetNm As String, AccessPath As String, AccessTable As String)Conn.CursorLocation = adUseClient
If Conn.State = adStateOpen Then Conn.Close
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & ExcelPath & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
Call Conn.Execute("Delete From [;database=" & AccessPath & "]." & AccessTable) '表已存在必須先清除表內的資料
Call Conn.Execute("Insert into [;database=" & AccessPath & "]." & AccessTable & " Select * FROM [" & SheetNm & "$]")
MsgBox "資料匯入MDB成功!", vbInformation, "Excel匯入MDB表"
End Sub
Public Sub MDB2Excel(MdbNm As String, MdbTable As String, ExcelNm As String)
On Error Resume Next
Set acApp = GetObject(MdbNm, "Access.Application")
acApp.DoCmd.OutputTo acOutputTable, MdbTable, "Microsoft Excel (*.xls)", ExcelNm
acApp.CloseCurrentDatabase
Set acApp = Nothing
End Sub
uj5u.com熱心網友回復:
正解!
直接使用access的引擎匯入匯出excel是最快的. 比SQL或其他方式要快至少一個數量級.
uj5u.com熱心網友回復:
您好,請問這些代碼怎樣用啊?本人小白一個,能否給一個詳細的操作方法。不勝感激!
uj5u.com熱心網友回復:
您好,請問這些代碼怎樣用啊?本人小白一個,能否給一個詳細的操作方法。不勝感激![/quotewa]
完全一點都不用修改的代碼基本上的沒有,除非特地幫你做,但你的具體需求又不清楚,所以你要根據大神給的代碼自己改
uj5u.com熱心網友回復:
Excel2MDB 函式可以直接復制和呼叫。不過要在你的工程中添加 ADO 物件的參考。例如,在 VB 中選擇 Project - References...,在彈出視窗中找到并勾選 Microsoft ActiveX Data Objects 2.x Library,確定。
在工程表單中粘貼 Excel2MDB 函式代碼。
呼叫時,ExcelPath 為 xls 檔案的路徑和檔案名,用單引號括起來。SheetNm 為其中的表名,如 '$Sheet1'。AccessPath 為 mdb 檔案路徑及檔案名,AccessTable 為 Access 資料庫表名。
uj5u.com熱心網友回復:
注意,上述函式的匯入新資料時,完全洗掉原有資料。這是為了適用不同欄位結構的表。如果你的表結構都是相同的,可以將洗掉陳述句注掉,就可持續匯入新資料。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/43630.html
標籤:控件
上一篇:sql2000陳述句轉換
