vb神童教程(续)--为对象添加事件代码2008-12-15 本站专稿 小二黑本文欢迎非商业用途的转载,但需要注明出自“编程入门网”及相应的网址链接。一、form1的load事件代码:
Private Sub Form_Load()Form1.MS1.ColWidth(0) = 600Form1.MS1.ColWidth(1) = 1000Form1.MS1.ColWidth(2) = 2300Form1.MS1.ColWidth(3) = 4000Form1.Text1.Text = ""Form1.Text2.Text = ""Form1.Text3.Text = ""Form1.Text4.Text = ""End Sub
主要是在系统初始化时设置MSHFlexGrid控件的列宽,并将文本框置空。二、“添加记录”按钮(command1)的click事件代码:
Private Sub Command1_Click()Dim sc As IntegerIf Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then "即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 "由于系统数据库设计为“编号”字段采用的是Access的自动编号 "因此在添加记录时不接收编号的数据,由Access自动加编号 MsgBox ("请输入完整的网站信息")Else sc = MsgBox("确实要添加这条记录吗?", vbOKCancel, "提示信息")If sc = 1 Then"运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1Dim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim Str1 As StringDim Str2 As StringDim Str3 As StringStr1 = "Provider=Microsoft.Jet.OLEDB.4.0;"Str2 = "Data Source=E:vbAccess_db.mdb;"Str3 = "Jet OLEDB:Database Password="conn.Open Str1 & Str2 & Str3strSQL = "select * from wzdz"rs.Open strSQL, conn, 3, 3rs.AddNewrs!网站名称 = Text1.Textrs!网站地址 = Text2.Textrs!网站描述 = Text3.Textrs.Updaters.Closeconn.CloseMsgBox ("添加记录成功!")Adodc1.Refresh "刷新数据源,MSHFlexGrid控件会实时刷新显示数据 End If "以下四条语句的作用是在操作完成后将文本框置空Text1.Text = "" Text2.Text = ""Text3.Text = ""Text4.Text = ""End IfEnd 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 SubEnd IfIf Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then"对三个文本框的内容进行校验,不接收空值MsgBox "请输入完整的网站信息!"Exit SubEnd IfDim sc As Integersc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")If sc = 1 Then "运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1Dim 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:vbAccess_db.mdb;" Str3 = "Jet OLEDB:Database Password=" conn.Open Str1 & Str2 & Str3strSQL = "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.Textrs!网站地址 = Text2.Textrs!网站描述 = Text3.Textrs.Updaters.Closeconn.CloseMsgBox ("修改记录成功!")Adodc1.Refresh "刷新数据源,MSHFlexGrid控件会实时刷新显示数据Else MsgBox ("不存在此记录!")Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""rs.Closeconn.CloseExit SubEnd IfEnd 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 SubEnd IfDim sc As Integersc = MsgBox("确实要删除这个记录吗?", vbOKCancel, "删除确认!")If sc = 1 Then"运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1Dim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim Str1 As StringDim Str2 As StringDim Str3 As StringStr1 = "Provider=Microsoft.Jet.OLEDB.4.0;"Str2 = "Data Source=E:vbAccess_db.mdb;"Str3 = "Jet OLEDB:Database Password="conn.Open Str1 & Str2 & Str3strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""rs.Open strSQL, conn, 3, 3If rs!编号 = Val(Text4.Text) Then"由于系统数据库使用的是自动编号作为主键"因此以编号字段的内容作为判断的依据"如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作"否则给“不存在此记录”的提示信息并关闭数据连接 rs.Deleters.Closeconn.CloseMsgBox ("删除记录成功!")Adodc1.Refresh "刷新数据源,MSHFlexGrid控件会实时刷新显示数据ElseMsgBox ("不存在此记录!")Text4.Text = ""rs.Closeconn.CloseExit SubEnd IfEnd If"以下四条语句的作用是在操作完成后将文本框置空Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""End Sub
五、“退出系统”按钮(command4)的click事件代码:
Private Sub Command4_Click()Dim sc As Integersc = MsgBox("确实要退出系统吗?", vbOKCancel, "提示信息")If sc = 1 Then"运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1EndEnd IfEnd Sub
六、添加完事件代码之后,我们这个实例至此完成,运行一下吧!