網路城邦
上一篇 回創作列表 下一篇   字體:
拿了ACE還不夠
2014/09/23 23:31:10瀏覽212|回應0|推薦7

 

出差前為了卡在一個坎兒,心裡很困惑。我的目的要用EXCEL 調用 ACCESS資料庫,照著書本上將程式寫下,一運行就提出錯誤,而且是令人很心虛的“系統錯誤”還有一系列號碼等等。依照錯誤提示上網查,網友都說是因為電腦配置太舊或太低,必須重裝電腦,讓我覺得很煩心。

出差回來,我原本想先試用老五的電腦,先試著排錯其他的地方,真的不行,只好重裝電腦;後來我還是再把書本拿起來,一行一行研究老師寫的程式,再想電腦提出錯誤時也曾提示不認識accdb這個格式,換句話說,這本2003年版的書上面寫的程式,只認識ACCESS2003的mdb格式,可能不認識ACCESS2007的accdb格式?於是我再度上網求教,這次我不用系統錯誤的提示找答案,而是針對microsoft. ject. oledb. 4.0提出問題,就五秒鐘吧,看到microsoft.ACE.oledb.12.0這個名詞,我就猜到版本升級之後,應該要用這個名為“引擎”的玩意兒。

 

Public Sub 連接數據庫()

  Dim mydata As String, mytable As String, k As Integer
  mydata = "C:\Documents and Settings\maymay\My Documents\第三章數據庫.accdb"
  mytable = "資料表"
  Dim myconnect As ADODB.Connection
  Set myconnect = New ADODB.Connection
  myconnect.ConnectionString = "provider=microsoft.ACE.OLEDB.12.0;data source=" _
                               & mydata
  myconnect.Open
 
  Dim myres As ADODB.Recordset
  Set myres = New ADODB.Recordset
  myres.Open mytable, myconnect, adOpenKeyset, adLockOptimistic
  k = myres.RecordCount
   
  MsgBox "與數據庫" & mydata & "連接成功!" & vbCrLf & vbCrLf _
          & "在數據庫中的" & mytable & "表中共有" & k & "條記錄", _
          vbInformation, "與數據庫連接"
         

  For i = 1 To k
   MsgBox "編號:" & myres.Fields(0) & "的職工信息:" & vbCrLf & vbCrLf _
      & "姓名:" & myres.Fields(1) & vbCrLf _
      & "性別:" & myres.Fields(2) & vbCrLf _
      & "部門:" & myres.Fields(3) & vbCrLf _
      & "工資總額:" & myres.Fields(8), vbInformation, "職工信息"
   myres.MoveNext
  Next i
         
  myres.Close
  myconnect.Close
    Set myres = Nothing
    Set myconnect = Nothing
 
  End Sub

 

接下來兩個實驗也成功,然而,就在我信心十足的當兒,又來一個不知道錯在什麼地方的坎兒,一跑就提錯。

看來,只拿了ACE還是不夠的。
 

( 知識學習科學百科 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=bonjour2007002&aid=17507546