標題:
[發問]
Excel VBA + Access 的問題…
[打印本頁]
作者:
darrenlien
時間:
2014-8-22 16:26
標題:
Excel VBA + Access 的問題…
請問:
小弟欲使用Excel VBA + Access來撰寫程式,所以買了書來研究,但是令人氣餒的是,
我連執行書中的範例都出問題,書中是有提到若是安裝Office 64位元的(因為我是安裝
Office 2010 64位元版),要去下載 「Microsoft.Jet.OLEDB」的64位元版本安裝,我
也下載了並安裝了(
按我進入連結
),
但是,執行該程式依舊出錯,以下列出該程式的一部份(附件是程式的完整版);安裝上
述Microsoft.Jet.OLEDB的64位元版後,執行該程式的【新增記錄】,就出現下圖錯誤:
[attach]19001[/attach]
而查了一下網路上一些解決方法,將
.Provider = "Microsoft.Jet.OLEDB.4.0
複製代碼
改成
Provider = "Microsoft.ACE.OLEDB.12.0
複製代碼
後,上述圖片的錯誤是解決了,但是
卻換成以下的錯誤訊息:
[attach]19002[/attach]
網路上、論壇上也找不到相關的解決方法,請問這個問題要如何解決呢?
謝謝!!
註:
1、附件"CH21.rar"是該書所附的原始程式,我一個字都沒有改過。
2、附件"CH21_Modify.rar",是我將OLEDB4.0改成OLEDB.12.0的程式碼。
[attach]18999[/attach](原始程式)
[attach]19000[/attach](自行改過的程式碼)
Sub AddTransfer(Style As Variant, FromStore As Variant, ToStore As Variant, Qty As Integer)
' Page 21-6
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
MyConn = ThisWorkbook.Path & Application.PathSeparator & "transfers.mdb"
MyConn = "Driver=Microsoft Access Driver (*.mdb);DBQ=" & MyConn
'MyConn = "Driver=Microsoft Access Driver (*.accdb);DBQ=D:\CH21\Transfers.accdb"
' 開啟連線
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
'.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open MyConn
End With
' 定義記錄集
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
' 開啟資料表
rst.Open Source:="tblTransfer", ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
Options:=adCmdTable
' 新增一筆記錄
rst.AddNew
複製代碼
作者:
joey0415
時間:
2014-8-22 20:17
回復
1#
darrenlien
附上一個可以用的範例,自己試試看
[attach]19003[/attach]
作者:
darrenlien
時間:
2014-8-25 14:11
回復
2#
joey0415
首先先感謝 joeyj0415 大的熱心回覆,但是小弟因權限的關係,無法下載該附件,能不能上傳到類似像Mega的免費空間,
或是您直接跟我講程式碼哪邊要修改就行了!!
謝謝!!
作者:
小華
時間:
2014-8-25 23:03
小弟也想學 如何用Access當作資料庫,Excel當作輸入介面
現在用Execl當作資料庫有時候資料太多時讀取都會變慢
作者:
joey0415
時間:
2014-8-26 16:46
回復
3#
darrenlien
我的dropbox
https://dl.dropboxusercontent.com/u/40393708/VBA/Chapter5.zip
作者:
darrenlien
時間:
2014-8-27 09:59
回復
5#
joey0415
太感謝joey0415大大的幫忙,我已下載成功,準備研究一下您給的程式碼;謝謝!!再次感謝!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)