Board logo

標題: [發問] 編譯錯誤-ADODB.Connection [打印本頁]

作者: yifan2599    時間: 2016-9-4 21:33     標題: 編譯錯誤-ADODB.Connection

請問有人知道為什麼嗎?

是哪個環節沒設定好?

[attach]25129[/attach]

[attach]25130[/attach]
作者: lpk187    時間: 2016-9-4 23:22

回復 1# yifan2599


    引用錯誤!
要下面這個, x.x 版本自選

Microsoft ActiveX Data Objects x.x Library
作者: lpk187    時間: 2016-9-4 23:34

回復 1# yifan2599

一個模型塊讓你試,不用引用項目
    Dim myCon As Object, myRs As Object
    Dim arr, i%, SQL$
    arr = Sheets("工作表3").Range("A2:B74")
    Dim myCon As ADODB.Connection '連結資料庫
    Dim myRs As ADODB.Recordset '連結資料表
    Set myCon = New ADODB.Connection
    myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Db.accdb;"
    For i = 1 To UBound(arr) ''開始匯入到資料庫
        SQL = "INSERT INTO " & "部門" & "(單位代號,單位名稱)" & _
        " VALUES('" & arr(i, 2) & "','" & arr(i, 1) & "')"
        Set myRs = myCon.Execute(SQL)
    Next
    myCon.Close '關閉 myCon
    Set myRs = Nothing '設定 myRS 為 Nothing
    Set myCon = Nothing '設定 myCon 為 Nothing
作者: lpk187    時間: 2016-9-5 00:43

本帖最後由 lpk187 於 2016-9-5 00:45 編輯

回復 1# yifan2599


    對不起!!3樓的代碼是要引用才對,下則才不用引用項目
  1. Public Sub ex()
  2. Dim i%, arr
  3. Dim myCon As Object, myRs As Object, SQL$
  4.     arr = Sheets("工作表3").Range("A2:B74")
  5.     Set myCon = CreateObject("ADODB.Connection")
  6.     Set myRs = CreateObject("ADODB.Recordset")
  7.     myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Db.accdb;"
  8.     For i = 1 To UBound(arr) ''開始匯入到資料庫
  9.         SQL = "INSERT INTO " & "部門" & "(單位代號,單位名稱)" & _
  10.         " VALUES('" & arr(i, 2) & "','" & arr(i, 1) & "')"
  11.         Set myRs = myCon.Execute(SQL)
  12.     Next
  13.         Set myRs = Nothing
  14.     myCon.Close
  15.     Set myCon = Nothing

  16. End Sub
複製代碼

作者: Changbanana    時間: 2017-3-27 13:44

回復 4# lpk187


想請教您若資料庫有設定密碼
  1.   myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Db.accdb;"
複製代碼
改成
  1.   myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Db.accdb;"& "Jet OLEDB:Database Password=abcd;"
複製代碼
但是這樣依舊會出現錯誤如畫面
[attach]26898[/attach]

想請教是哪邊出問題,麻煩您了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)