Board logo

標題: [發問] 請問VB6如何連結新版的ACCESS呢? [打印本頁]

作者: algoji3ji3    時間: 2016-10-9 20:28     標題: 請問VB6如何連結新版的ACCESS呢?

請問各位大大VB6怎麼連結新版的ACCESS呀~
我在EXCEL VBA底下作業連線OK~
但是搬到VB6就不行了~
也試過更新成VB6 SP6~還是不行~

總是會出現「執行階段錯誤'-2147467259 (80004005)」

上網爬文了好久都只有針對副檔名是mdb的,

沒有針對「accdb」的~

請問各位大大有解決辦法嗎?

[attach]25512[/attach][attach]25513[/attach]
  1. Private Sub Command1_Click()
  2.     RF = Text1.Text
  3.     bb = Label1
  4.     Call PPTR
  5.    
  6.     Label1 = AD
  7. End Sub


  8. Sub PPTR()

  9. '1.連線代號
  10.     Dim myCon As ADODB.Connection '開資料庫
  11.     Dim mywq As ADODB.Recordset '開資料表

  12. '2.建立Connection物件
  13.     Set myCon = New ADODB.Connection
  14. '3.連結資料庫
  15.     '驅動程式Provider = Microsoft.ACE.OLEDB.12.0
  16.     '檔案位置Data Source=
  17.     myCon.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & _
  18.     "Data Source =C:\Users\algo\Desktop\PDR.accdb;" & _
  19.     "Jet OLEDB:Database Password=a123;"

  20.     myCon.CursorLocation = adUseClient

  21. '4.建立Recordset物件&連結資料表
  22.     '選取SELECT+欄位+FROM+資料表名稱+Where+欄位名稱
  23.    
  24.     RF = " SELECT top 1 " & " 編號, " & " 姓名, " & " 職務, " & " 編碼 " & _
  25.          " FROM PDA " & _
  26.          " WHERE 編碼 " & _
  27.          " LIKE  '" & P & "' "
  28.    
  29.     Set mywq = myCon.Execute(RF)
  30.    
  31.         AD = mywq.Fields("姓名")
  32.    
  33. '5.關閉連線
  34.     myCon.Close
  35.    
  36. '6.丟棄物件
  37.     Set mywq = Nothing
  38.     Set myCon = Nothing
  39. End Sub
複製代碼
[attach]25514[/attach]
作者: 小誌    時間: 2016-10-9 23:52

一段ASP的程式碼,師出同門請參考
重點是你開發程式的這台電腦是否有安裝2007以上版本的ACCESS?
  1. <%@Language=VBScript %>
  2. <%
  3. Dim adoCon
  4. Dim rsLogbook
  5. Dim strSQL
  6. Set adoCon = Server.CreateObject("ADODB.Connection")
  7. adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DatabaseName.mdb")
  8. Set rsLogbook = Server.CreateObject("ADODB.Recordset")
  9. strSQL = "SELECT TableName.FieldName FROM TableName;"
  10. rsLogbook.Open strSQL, adoCon
  11. Response.Write ("<br>")
  12. Response.Write (rsLogbook("FieldName"))
  13. rsLogbook.Close
  14. Set rsLogbook = Nothing
  15. Set adoCon = Nothing
  16. %>
複製代碼

作者: algoji3ji3    時間: 2016-10-10 00:47

回復 2# 小誌

版大您好~
我試過連線「mdb」,可以連線無誤~
目前是要連線「accdb」檔會有出問題~

安裝的是
vb6.0 sp6
Microsoft Access 2010
2007 Office system 驅動程式:資料連線元件
accessruntimeanddataconnectivity2007sp3-kb2526310-fullfile-zh-tw
AccessDatabaseEngine_X64

爬文能裝的都裝了....還是不行>"<特來求救>"<
作者: 小誌    時間: 2016-10-10 04:12

簡易範例,同樣用師出同門的ASP
剛試過
  1. Set conobject = Server.CreateObject("ADODB.Connection")
  2.          DBPath = Server.MapPath("mlebp-new.accdb")
  3.          conobject.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & DBPath
  4.         Set recobject=Server.CreateObject("ADODB.Recordset")
複製代碼

作者: lpk187    時間: 2016-10-10 09:40

回復 1# algoji3ji3


   多次測試,都指向 PDR.accdb 是個損壞的檔,雖然可以手動打開,但用VB用就是無法打開,建議你再做一個檔去測試
作者: lpk187    時間: 2016-10-10 10:08

回復 1# algoji3ji3

用這個檔去測看看
   
[attach]25516[/attach]




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