⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_jbxx_yginf.frm

📁 一个比较完整的数据库编程技巧”洗浴管理系统“
💻 FRM
📖 第 1 页 / 共 3 页
字号:
         BackColor       =   &H00C0C0C0&
         Caption         =   "[&A]添加"
         Height          =   360
         Left            =   2955
         Style           =   1  'Graphical
         TabIndex        =   32
         Top             =   180
         Width           =   960
      End
      Begin VB.CommandButton ComSave 
         BackColor       =   &H00C0C0C0&
         Caption         =   "[&S]保存"
         Enabled         =   0   'False
         Height          =   360
         Left            =   5850
         Style           =   1  'Graphical
         TabIndex        =   31
         Top             =   180
         Width           =   960
      End
   End
End
Attribute VB_Name = "main_jbxx_yginf"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定义整数,表示字段编号和数组编号
Dim i As Integer
'定义数据集对象
Dim rs1 As New ADODB.Recordset
Dim txtSQL As String     '定义一个字符串变量
Public Sub ViewData()     '定义浏览数据的函数
  On Error Resume Next
  If Adodc1.Recordset.Fields("员工编号") <> "" Then Text1(0).Text = Trim(Adodc1.Recordset.Fields("员工编号"))
  If Adodc1.Recordset.Fields("员工姓名") <> "" Then Text1(1).Text = Trim(Adodc1.Recordset.Fields("员工姓名"))
  If Adodc1.Recordset.Fields("性别") <> "" Then Combo1.Text = Trim(Adodc1.Recordset.Fields("性别"))
  If Adodc1.Recordset.Fields("出生日期") <> "" Then DTP1.Value = Trim(Adodc1.Recordset.Fields("出生日期"))
  If Adodc1.Recordset.Fields("文化程度") <> "" Then Combo2.Text = Trim(Adodc1.Recordset.Fields("文化程度"))
  If Adodc1.Recordset.Fields("聘用日期") <> "" Then DTP2.Value = Trim(Adodc1.Recordset.Fields("聘用日期"))
  If Adodc1.Recordset.Fields("薪金") <> "" Then Text1(10).Text = Trim(Adodc1.Recordset.Fields("薪金"))
  For i = 5 To 9
    If Adodc1.Recordset.Fields(i) <> "" Then Text1(i).Text = Trim(Adodc1.Recordset.Fields(i))
  Next i
End Sub
Private Sub Form_Load()
'初始化性别及文化程度
  Combo1.AddItem ("男")
  Combo1.AddItem ("女")
  Combo1.ListIndex = 0
  Combo2.AddItem ("大专")
  Combo2.AddItem ("大学")
  Combo2.AddItem ("本科")
  Combo2.AddItem ("硕士")
  Combo2.AddItem ("其他")
  Combo2.ListIndex = 0
'初始化查询条件
  Combo3.AddItem ("like")
  Combo3.AddItem ("=")
  Combo3.AddItem (">=")
  Combo3.AddItem ("=<")
  Combo3.ListIndex = 0
  Combo4.AddItem ("员工编号")
  Combo4.AddItem ("员工姓名")
  Combo4.AddItem ("性别")
  Combo4.AddItem ("文化程度")
  Combo4.AddItem ("所属部门")
  Combo4.AddItem ("身份证号")
  Combo4.ListIndex = 1
  Call ViewData     '调用函数
  '设置控件无效
  For i = 5 To 9
    Text1(i).Enabled = False
  Next i
  Text1(1).Enabled = False
  Text1(10).Enabled = False
  Combo1.Enabled = False
  DTP1.Enabled = False
  Combo2.Enabled = False
  DTP2.Enabled = False
  '设置窗体标题栏内容
  Me.Caption = Me.Caption & "     操作员: " & frm_main.St1.Panels(3).Text
  DTP2.Value = Date
End Sub
Private Sub Form_Unload(Cancel As Integer)
  frm_main.Enabled = True     '设置frm_main窗体有效
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then DTP1.SetFocus     '回车Text1(1)获得焦点
  If KeyCode = vbKeyUp Then Text1(1).SetFocus
End Sub
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then Text1(5).SetFocus     '按回车键Text1(5)获得焦点
  If KeyCode = vbKeyUp Then DTP1.SetFocus
End Sub
Private Sub dtp1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then Combo2.SetFocus     '按回车键combo2获得焦点
  If KeyCode = vbKeyUp Then Combo1.SetFocus
End Sub
Private Sub dtp2_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyReturn Then Text1(10).SetFocus     '按回车键Text1(10)获得焦点
  If KeyCode = vbKeyUp Then Text1(9).SetFocus
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
 Select Case Index
  Case Is = Index
   If KeyCode = vbKeyReturn And Index = 1 Then Combo1.SetFocus     '按回车键Combo1获得焦点
   If KeyCode = vbKeyReturn And Index > 4 And Index < 9 Then Text1(Index + 1).SetFocus     '按回车键Text1(Index + 1)获得焦点
   If KeyCode = vbKeyReturn And Index = 9 Then DTP2.SetFocus     '按回车键DTP2获得焦点
   If KeyCode = vbKeyReturn And Index = 10 Then ComSave.SetFocus
   If KeyCode = vbKeyUp And Index > 5 And Index < 10 Then Text1(Index - 1).SetFocus     '按向上键Text1(Index - 1)获得焦点
   If KeyCode = vbKeyUp And Index = 5 Then Combo2.SetFocus     '按向上键combo2获得焦点    '
   If KeyCode = vbKeyUp And Index = 10 Then DTP2.SetFocus     '按向上键dtp2获得焦点
 End Select
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
 If Adodc1.Recordset.RecordCount <> 0 Then     '当记录不等于零时
  If SSTab1.Tab = 1 And ComAdd.Enabled = False Then
   MsgBox ("您正在处理数据,请取消数据处理,再执行本操作!")
   SSTab1.Tab = 0
  End If
 End If
End Sub
Private Sub Comfind_Click()     '查询员工信息
 Select Case Combo3.Text
   Case Is = "like"
     Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like +'%'+ '" + Text2.Text + "'+'%')"
     Adodc1.Refresh
   Case Is = "="
     Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " = '" + Text2.Text + "')"
     Adodc1.Refresh
   Case Is = ">"
     Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like '" + Text2.Text + "'+ '%')"
     Adodc1.Refresh
   Case Is = "<"
     Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like '%'+'" + Text2.Text + "')"
     Adodc1.Refresh
 End Select
 If Adodc1.Recordset.RecordCount > 0 Then Call ViewData     '调用函数
 SSTab1.Tab = 1
End Sub
Private Sub ComFirst_Click()     '移到第一条记录
  If Not Adodc1.Recordset.BOF Then
     Adodc1.Recordset.MoveFirst
     Call ViewData
  End If
End Sub
Private Sub ComPrevious_Click()     '移到上一条记录
  If Adodc1.Recordset.RecordCount <> 0 Then
     If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MovePrevious
     If Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirst
     Call ViewData
  End If
End Sub
Private Sub ComNext_Click()     '移到下一条记录
  If Adodc1.Recordset.RecordCount <> 0 Then
     If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext
     If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
     Call ViewData
  End If
 End Sub
Private Sub ComLast_Click()     '移到最后一条记录
  If Not Adodc1.Recordset.EOF Then
     Adodc1.Recordset.MoveLast
     Call ViewData
  End If
End Sub
Private Sub ComAdd_Click()
 Dim bh As Integer     '定义一个整型变量
 txtSQL = "select * from 员工信息表 order by 员工编号"
 Set rs1 = ESQL(txtSQL)     '执行SQL语句
 If rs1.RecordCount > 0 Then     '当记录大于零时
     If Not rs1.EOF Then rs1.MoveLast     '假如记录没到头,那么移到最后一条记录
     If rs1.Fields("员工编号") <> "" Then     '假如员工编号不等于空
        bh = Right(Trim(rs1.Fields("员工编号")), 4) + 1     '赋值给bh
        Text1(0).Text = "p" & Format(bh, "0000")     '赋值给text1(0).text
     End If
   Else
     Text1(0).Text = "p0001"     '给text1(0)赋初值
  End If
  '设置文本框有效,并清空文本框中的数据
  For i = 5 To 10
   Text1(i).Enabled = True
   Text1(i).Text = ""
  Next i
  '设置控件有效或无效
  Combo1.Enabled = True
  DTP1.Enabled = True
  Combo2.Enabled = True
  DTP2.Enabled = True
  Text1(1).Enabled = True
  ComSave.Enabled = True
  ComEsc.Enabled = True
  ComFirst.Enabled = False
  ComPrevious.Enabled = False
  ComNext.Enabled = False
  ComLast.Enabled = False
  ComAdd.Enabled = False
  ComModify.Enabled = False
  ComDelete.Enabled = False
  Text1(1).Text = ""     '清空文本框中的数据
  SSTab1.Tab = 0
  Text1(1).SetFocus
End Sub
Private Sub ComModify_Click()     '允许用户修改
 If Adodc1.Recordset.RecordCount <> 0 Then
  For i = 5 To 10
      Text1(i).Enabled = True
  Next i
  Text1(1).Enabled = True
  Combo1.Enabled = True
  DTP1.Enabled = True
  Combo2.Enabled = True
  DTP2.Enabled = True
  ComSave.Enabled = True
  ComEsc.Enabled = True
  ComFirst.Enabled = False
  ComPrevious.Enabled = False
  ComNext.Enabled = False
  ComLast.Enabled = False
  ComAdd.Enabled = False
  ComModify.Enabled = False
  ComDelete.Enabled = False
 Else
  MsgBox ("没有要修改的数据!")
 End If
End Sub
Private Sub ComDelete_Click()     '删除员工信息
 If Adodc1.Recordset.RecordCount > 0 Then
   a = MsgBox("您确实要删除这条数据吗?", vbYesNo)
   If a = vbYes Then
    Adodc1.Recordset.Delete
    Adodc1.Refresh
    If Adodc1.Recordset.RecordCount <> 0 Then Call ViewData
    ComSave.Enabled = False
    ComEsc.Enabled = False
    ComFirst.Enabled = True
    ComPrevious.Enabled = True
    ComNext.Enabled = True
    ComLast.Enabled = True
    ComAdd.Enabled = True
    ComModify.Enabled = True
    ComDelete.Enabled = True
   End If
  Else
   MsgBox ("没有要删除的数据!")
 End If
End Sub
Private Sub ComSave_Click()     '保存员工信息

If Text1(1).Text = "" Then
   MsgBox "员工姓名不能为空!"
   Text1(1).SetFocus
   Exit Sub
End If

If Text1(5).Text = "" Then
   MsgBox "所属部门不能为空!"
   Text1(5).SetFocus
   Exit Sub
End If

If Text1(6).Text = "" Then
   MsgBox "职务不能为空!"
   Text1(6).SetFocus
   Exit Sub
End If

 txtSQL = "select * from 员工信息表 where 员工编号='" & Trim(Text1(0).Text) & "'order by 员工编号"
 Set rs1 = ESQL(txtSQL)
 If rs1.RecordCount > 0 Then
   Dim a As String
   a = MsgBox("您确实要修改这条数据吗?", vbYesNo)
   If a = vbYes Then
   '修改员工信息
    For i = 5 To 9
      rs1.Fields(i) = Trim(Text1(i).Text)
      Text1(i).Enabled = False
    Next i
    rs1.Fields("员工编号") = Trim(Text1(0).Text)
    rs1.Fields("员工姓名") = Trim(Text1(1).Text)
    rs1.Fields("性别") = Combo1.Text
    rs1.Fields("出生日期") = Trim(DTP1.Value)
    rs1.Fields("文化程度") = Combo2.Text
    rs1.Fields("聘用日期") = Trim(DTP2.Value)
    rs1.Fields("薪金") = Val(Trim(Text1(10).Text))
    '更新数据库
    rs1.Update
    Adodc1.Refresh
   End If
  Else
   If Text1(1).Text <> "" And Combo1.Text <> "" Then
    '添加员工信息
    rs1.AddNew
    For i = 5 To 9
      rs1.Fields(i) = Trim(Text1(i).Text)
      Text1(i).Enabled = False
    Next i
    rs1.Fields("员工编号") = Trim(Text1(0).Text)
    rs1.Fields("员工姓名") = Trim(Text1(1).Text)
    rs1.Fields("性别") = Combo1.Text
    rs1.Fields("出生日期") = Trim(DTP1.Value)
    rs1.Fields("文化程度") = Combo2.Text
    rs1.Fields("聘用日期") = Trim(DTP2.Value)
    rs1.Fields("薪金") = Val(Trim(Text1(10).Text))
     '更新数据库
    rs1.Update
    Adodc1.Refresh
   Else
     MsgBox "请填写完整的信息"
   End If
 End If
 '设置控件有效或无效
 Text1(1).Enabled = False
 Text1(10).Enabled = False
 Combo1.Enabled = False
 DTP1.Enabled = False
 Combo2.Enabled = False
 DTP2.Enabled = False
 ComSave.Enabled = False
 ComEsc.Enabled = False
 ComFirst.Enabled = True
 ComPrevious.Enabled = True
 ComNext.Enabled = True
 ComLast.Enabled = True
 ComAdd.Enabled = True
 ComModify.Enabled = True
 ComDelete.Enabled = True
End Sub
Private Sub ComEsc_Click()                          '取消操作
 For i = 5 To 10
   Text1(i).Text = ""
   Text1(i).Enabled = False
 Next i
 '清空文本框内数据
 Text1(0).Text = ""
 Text1(1).Text = ""
 Text1(7).Text = ""
 '设置控件有效或无效
 ComSave.Enabled = False
 ComEsc.Enabled = False
 ComFirst.Enabled = True
 ComPrevious.Enabled = True
 ComNext.Enabled = True
 ComLast.Enabled = True
 ComAdd.Enabled = True
 ComModify.Enabled = True
 ComDelete.Enabled = True
End Sub
Private Sub ComExit_Click()
 frm_main.Enabled = True
 Unload Me
End Sub



Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then ComFind.SetFocus
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -