本文歡迎非商業用途的轉載,但需要注明出自“編程入門網”及相應的網址鏈接。
一、form1的load事件代碼:
Private Sub Form_Load() Form1.MS1.ColWidth(0) = 600 Form1.MS1.ColWidth(1) = 1000 Form1.MS1.ColWidth(2) = 2300 Form1.MS1.ColWidth(3) = 4000 Form1.Text1.Text = "" Form1.Text2.Text = "" Form1.Text3.Text = "" Form1.Text4.Text = "" End Sub
主要是在系統初始化時設置MSHFlexGrid控件的列寬,並將文本框置空。
二、“添加記錄”按鈕(command1)的click事件代碼:
Private Sub Command1_Click()
Dim sc As Integer
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
'即網站名稱、網站地址和網站描述的內容必須填全了才打開數據庫連接寫入數據
'由於系統數據庫設計為“編號”字段采用的是Access的自動編號
'因此在添加記錄時不接收編號的數據,由Access自動加編號
MsgBox ("請輸入完整的網站信息")
Else
sc = MsgBox("確實要添加這條記錄嗎?", vbOKCancel, "提示信息")
If sc = 1 Then
'運行時如果用戶點擊的是MsgBox提示框的“確定”按鈕,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=E:\vb\Access_db.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from wzdz"
rs.Open strSQL, conn, 3, 3
rs.AddNew
rs!網站名稱 = Text1.Text
rs!網站地址 = Text2.Text
rs!網站描述 = Text3.Text
rs.Update
rs.Close
conn.Close
MsgBox ("添加記錄成功!")
Adodc1.Refresh
'刷新數據源,MSHFlexGrid控件會實時刷新顯示數據
End If
'以下四條語句的作用是在操作完成後將文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End If
End Sub
三、“修改記錄”按鈕(command2)的click事件代碼:
Private Sub Command2_Click()
If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'編號字段是Access的自動編號,為自然數
'因此對text4的內容進行校驗,如果不是數值或為0則跳出sub過程
MsgBox "記錄號是大於0的自然數,請輸入正確的編號!"
Exit Sub
End If
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
'對三個文本框的內容進行校驗,不接收空值
MsgBox "請輸入完整的網站信息!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("確實修改這條記錄嗎?", vbOKCancel, "提示信息")
If sc = 1 Then
'運行時如果用戶點擊的是MsgBox提示框的“確定”按鈕,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=E:\vb\Access_db.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from wzdz where 編號=" & Val(Text4.Text) & ""
rs.Open strSQL, conn, 3, 3
If rs!編號 = Val(Text4.Text) Then
'由於系統數據庫使用的是自動編號作為主鍵
'因此以編號字段的內容作為判斷的依據
'如果rs!編號 = Val(Text4.Text)說明數據庫中有此記錄,
'才會修改其它三個字段的內容
'否則給出“不存在此記錄”的提示信息並關閉數據連接
rs!網站名稱 = Text1.Text
rs!網站地址 = Text2.Text
rs!網站描述 = Text3.Text
rs.Update
rs.Close
conn.Close
MsgBox ("修改記錄成功!")
Adodc1.Refresh '刷新數據源,MSHFlexGrid控件會實時刷新顯示數據
Else
MsgBox ("不存在此記錄!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四條語句的作用是在操作完成後將文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
四、“刪除記錄”按鈕(command3)的click事件代碼:
Private Sub Command3_Click()
If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'編號字段是Access的自動編號,為自然數
'因此對text4的內容進行校驗,如果不是數值或為0則跳出sub過程
MsgBox "編號是大於0的自然數,請輸入正確的編號!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("確實要刪除這個記錄嗎?", vbOKCancel, "刪除確認!")
If sc = 1 Then
'運行時如果用戶點擊的是MsgBox提示框的“確定”按鈕,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=E:\vb\Access_db.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from wzdz where 編號=" & Val(Text4.Text) & ""
rs.Open strSQL, conn, 3, 3
If rs!編號 = Val(Text4.Text) Then
'由於系統數據庫使用的是自動編號作為主鍵
'因此以編號字段的內容作為判斷的依據
'如果rs!編號 = Val(Text4.Text)說明數據庫中有此記錄並進行刪除操作
'否則給“不存在此記錄”的提示信息並關閉數據連接
rs.Delete
rs.Close
conn.Close
MsgBox ("刪除記錄成功!")
Adodc1.Refresh '刷新數據源,MSHFlexGrid控件會實時刷新顯示數據
Else
MsgBox ("不存在此記錄!")
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四條語句的作用是在操作完成後將文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
五、“退出系統”按鈕(command4)的click事件代碼:
Private Sub Command4_Click()
Dim sc As Integer
sc = MsgBox("確實要退出系統嗎?", vbOKCancel, "提示信息")
If sc = 1 Then
'運行時如果用戶點擊的是MsgBox提示框的“確定”按鈕,返回值是1
End
End If
End Sub
六、添加完事件代碼之後,我們這個實例至此完成,運行一下吧!
查看全套“vb神童教程(續)”