日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VB實現(xiàn)Access數(shù)據(jù)庫的數(shù)據(jù)操作

 新貓 2014-08-07

 在VB中連接Access數(shù)據(jù)庫并對數(shù)據(jù)進行操作。本例子使用的數(shù)據(jù)庫是Access2007,實現(xiàn)了對Access數(shù)據(jù)庫數(shù)據(jù)的查詢,添加,刪除,修改。

要連接access數(shù)據(jù)庫有兩種方法用ADODC或ADO。

方法一: (ADODC)
此方法首先須引用Projects-Components-Microsoft ADO Data Controls 6.0 (OLEDB).
之后在表單設(shè)置ADODC控件。然后Form_Load()輸入以下代碼:

Private Sub Form_Load()
ADODC1.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;Persist security info= False; Data source=" & App.Path & "數(shù)據(jù)庫名稱.mdb"

ADODC1.CommandType = adCmdText
ADODC1.RecordSource = "select * from 表格名稱"
ADODC1.Refresh
End Sub


下面主要介紹方法二:(ADO)

注:此方法在使用中應記得首先須引用工程-引用-Microsoft ActiveX Data Objects 2.6 Library

連接access2007的字符串:
沒有密碼:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Persist Security Info=False;  
有密碼:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;

 

實例:

在Form中設(shè)置3個Textbox和5個CommandButton
分別為

Textbox=Date(txtdate),Items(txtitems),Price(txtprice).

CommandButton = 新增(cmdadd),儲存(cmdsave),刪除(cmddelete),
取消新增(cmdcancel),編輯(cmdedit).

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mode as string

Private Sub Form_Load()
cn.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Persist security info= False; Data source=" & App.Path & "daily.accdb"
cn.Open
rs.CursorLocation = adUseClient
rs.Open "select * from Daily", cn, adOpenKeyset, adLockPessimistic (Daily為Access 資料表名)

For i = 0 To rs.Fields.Count - 1
List1.AddItem rs.Fields(i).Name
Next i
End Sub

以下自作函數(shù)以便文本欄顯示資料表資料
Sub LoadControls()
If rs.BOF = False And rs.EOF = False Then
txtdate = rs.Fields("Date")
txtitems = rs.Fields("Items")
txtprice = rs.Fields("Price")
End If
End Sub

以下為新增按鈕代碼
Private Sub cmdadd_Click()
mode = "add"
txtdate.Text = CStr(Date) (顯示系統(tǒng)今天日期)
txtitems.SetFocus
txtitems = ""
txtprice = ""
End Sub

以下為編輯按鈕代碼
Private Sub cmdedit_Click()
mode = "edit"
Call LoadControls
txtdate.SetFocus
End Sub

以下為刪除按鈕代碼
Private Sub cmddelete_Click()
If rs.EOF = False Then
X = MsgBox("Do you want to delete this record", vbExclamation + vbYesNo)
If X = vbYes Then
rs.Delete
rs.Requery
Call LoadControls
Else
Exit Sub
End If
End If
End Sub

以下為儲存按鈕代碼
Private Sub cmdsave_Click()
If mode = "add" Then
rs.AddNew
rs.Fields("Date") = txtdate
rs.Fields("Items") = txtitems
rs.Fields("Price") = txtprice
rs.Update
MsgBox "Successfully Save Data", vbInformation + vbOKOnly
rs.Requery
txtdate.SetFocus
Call LoadControls
Exit Sub
End If
End Sub

If mode = "edit" Then
rs.Fields("Date") = txtdate
rs.Fields("Items") = txtitems
rs.Fields("Price") = txtprice
rs.Update
MsgBox "Successfully Save Data", vbInformation + vbOKOnly
rs.Requery
txtdate.SetFocus
Call LoadControls
Exit Sub
End If

以下為取消新增按鈕代碼
Private Sub Cmdcancel_Click()
Call LoadControls
End Sub
-------------------------------
查詢:
在form加上1個Textbox,1個commmandbutton和1個Listbox
Textbox=txtfind
CommandButton=cmdsearch
ListBox=List1

以下為取消查詢按鈕代碼,可查詢?nèi)掌?,文字和?shù)字.
Private Sub cmdsearch_Click()
Select Case rs.Fields(List1.ListIndex).Name
Case "Items"
SQL = "select * from Table Name where Items=" & "'" & txtfind.Text & "'"
Case "Price"
SQL = "select * from Table Name where Price=" & txtfind.Text
Case "Date"
SQL = "select * from Table Name where Date = #" & txtfind.Text & "#"
End Select

If rs.State = adStateOpen Then rs.Close
rs.Open SQL, cn, adOpenStatic, adLockOptimistic
End Sub


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多