当前位置: 首页 > 编程语言 > vb6 > 正文

vb神童教程(续)--为对象添加事件代码

时间:2008-12-15 本站专稿 小二黑

本文欢迎非商业用途的转载,但需要注明出自“编程入门网”及相应的网址链接。

一、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神童教程(续)”