Board logo

標題: [發問] 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]
而查了一下網路上一些解決方法,將
  1. .Provider = "Microsoft.Jet.OLEDB.4.0
複製代碼
改成
  1. 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](自行改過的程式碼)
  1. Sub AddTransfer(Style As Variant, FromStore As Variant, ToStore As Variant, Qty As Integer)
  2.     ' Page 21-6
  3.     Dim cnn As ADODB.Connection
  4.     Dim rst As ADODB.Recordset
  5.    
  6.     MyConn = ThisWorkbook.Path & Application.PathSeparator & "transfers.mdb"
  7.     MyConn = "Driver=Microsoft Access Driver (*.mdb);DBQ=" & MyConn
  8.     'MyConn = "Driver=Microsoft Access Driver (*.accdb);DBQ=D:\CH21\Transfers.accdb"
  9.    
  10.     ' 開啟連線
  11.     Set cnn = New ADODB.Connection
  12.     With cnn
  13.         .Provider = "Microsoft.ACE.OLEDB.12.0"
  14.         '.Provider = "Microsoft.Jet.OLEDB.4.0"
  15.         .Open MyConn
  16.     End With
  17.    
  18.     ' 定義記錄集
  19.     Set rst = New ADODB.Recordset
  20.     rst.CursorLocation = adUseServer
  21.    
  22.     ' 開啟資料表
  23.     rst.Open Source:="tblTransfer", ActiveConnection:=cnn, _
  24.                       CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
  25.                       Options:=adCmdTable
  26.    
  27.     ' 新增一筆記錄
  28.     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/)