SOGO論壇

標題: 有沒有人會用VB連接ACCESS [列印本頁]

作者: joe780405    時間: 2010-10-25 21:11:59     標題: 有沒有人會用VB連接ACCESS

如提
小弟我最近要寫一個程式
他要利用VB所寫的介面
連到ACCESS資料庫
並且能夠對資料庫詢問且拿去資料
作者: songyy2001    時間: 2010-11-22 04:18:36

提示: 作者被禁止發言或禁止訪問或刪除帳號,本文內容已被系統自動屏蔽。
作者: mm117777    時間: 2012-6-23 11:06:25

VB連接Access最簡單的方法是用data control

然後在connect屬性選access/access2000(access 2000/xp資料庫用,需要安裝vb service pack 4 或以上,否則連結access 2000/xp資料庫需要設定jet engine,詳情不在此述。)

之後再設定database屬性為資料庫的檔案路徑,
最後設定recordsource屬性為資料庫的table名稱或sql 語法
至此所有基本的設定已完成,應可以連結access了。

Private Sub Command1_Click() '示範用,非必要
Print Data1.Recordset.Fields(0).Name
Do
      Print Data1.Recordset.Fields(0).Value
      Data1.Recordset.MoveNext
Loop Until Data1.Recordset.EOF = True
End Sub

備註:根據我所知,Recordset是資料庫中的一行,Field就是料庫中的一格。


作者: suyumin82    時間: 2012-7-27 22:31:57

以下是小弟寫的 function

'這個是將 connection 傳入, 和你的 Access 的檔案為子傳入,
Public Function MY_DB(ByRef conn As ADODB.Connection, strFile As String) As String
    Dim strProvider As String
    Dim strDatasource As String
    Dim strConn As String
   
    Set conn = New ADODB.Connection
   
'    Close Connection
    If conn.State = adStateOpen Then conn.Close
   
'    Set Provider and Connection
    strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;"
    strDatasource = "Data Source=" & strFile & ";Persist Security Info=False"
    strConn = strProvider & strDatasource
   
    conn.ConnectionTimeout = 10
    conn.Open (strConn)
   
End Function

'這個是將 你已完成的 connection 傳入, 和你的 RecordSet 跟 SQL 字串傳入,
Public Function MY_DATA(ByRef RecSet As ADODB.Recordset, conn As ADODB.Connection, strSQL As String) As String
   
    If RecSet.State = adStateOpen Then RecSet.Close
    Set RecSet = Nothing
   
    Set RecSet = New ADODB.Recordset
    RecSet.Open strSQL, conn, adOpenStatic, adLockOptimistic
   
End Function

完成後, 再依照2樓的說法, 因該就可以了.




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM