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

📄 b家庭成员信息.frm

📁 人事管理系统:包括员工公资的管理,考勤的管理,还有各种考核等功能
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    End If
    LblNotes.Caption = stuNo & "号学生成员信息"
    '查询数据
    rs.MoveFirst
    rs.Find ("成员姓名='" & memberName & "'")
    '显示数据
    txtItem(0).Text = Trim(rs.Fields("成员姓名"))
    txtItem(1).Text = Trim(rs.Fields("职务"))
    txtItem(2).Text = Trim(rs.Fields("所在单位"))
    txtItem(3).Text = Trim(rs.Fields("联系方式"))
    CboSelect.Text = Trim(rs.Fields("关系"))
    '控件可用性
    For Index = 0 To 3
        txtItem(Index).Enabled = False
    Next Index
    CboSelect.Enabled = False
End Sub
Private Function CheckData() As Boolean
'检查数据的合法性
    Dim rst As ADODB.Recordset
    '检查数据非空性
    If Trim(txtItem(0).Text) = "" Then
        MsgBox ("成员名称不能空;")
        CheckData = False
        Exit Function
    End If
    '检查唯一性
    SQL = " select 成员姓名 from 家庭成员信息表 where " & "学号='"
    SQL = SQL & Left(Trim(CboStu.Text), 8) & "' and 成员姓名='" & Trim(txtItem(0).Text) & "'"
    Set rst = SelectSQL(SQL, msg)
    If flag = "Add" And rst.RecordCount > 0 Then
        MsgBox ("该成员已经存在,重复添加!")
        rst.Close
        CheckData = False
        Exit Function
    End If
    CheckData = True '合法
End Function
Private Sub LoadData()
    Dim strItem As String
    '得到学生的家庭成员信息
    SQL = " select * from 家庭成员信息表"
    SQL = SQL & " where 学号='" & Left(Trim(CboStu.Text), 8) & "'  order by 成员ID"
    Set rs = Nothing
    Set rs = SelectSQL(SQL, msg)
    ListStu.Clear
    If rs.RecordCount > 0 Then
        Do While (Not rs.EOF) And (Not rs.BOF)
        strItem = Trim(rs.Fields(2)) & ":" & Trim(rs.Fields(3))
        ListStu.AddItem (strItem)
        rs.MoveNext
        Loop
        rs.MoveFirst
        ListStu.ListIndex = 0
    Else
        MsgBox ("目前没有成员信息!")
        '控件可用性
        CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False
        CmdCancel.Enabled = False: CmdSave.Enabled = False
        Exit Sub
    End If
    Call FixData '在文本框中显示详细信息
    '控件可用性
    CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
    CmdCancel.Enabled = False: CmdSave.Enabled = False
End Sub
Private Sub CboStu_Click()
    Call LoadData  '重新装载数据
End Sub

Private Sub CmdAdd_Click()
'可用性,清空数据
    For Index = 0 To 3
        txtItem(Index).Text = ""
        txtItem(Index).Enabled = True
    Next Index
    CboSelect.Enabled = True
    CboSelect.ListIndex = 0
    ListStu.Enabled = False
    CboStu.Enabled = False
    '设置标志flag
    flag = "Add"
    '添加、修改、删除按钮不可用,取消、保存按钮可用
    CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
    CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub CmdModify_Click()
'修改操作
    If rs.RecordCount > 0 Then
        '可用性
        For Index = 0 To 3
            txtItem(Index).Enabled = True
        Next Index
        CboSelect.Enabled = True
        ListStu.Enabled = False
        CboStu.Enabled = False
        '设置标志flag
        flag = "Modify"
        '添加、修改、删除按钮不可用,取消、保存按钮可用
        CmdCancel.Enabled = True: CmdSave.Enabled = True
        CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
    Else
        MsgBox ("没有可以修改的数据!")
    End If
End Sub
Private Sub CmdDelete_Click()
'删除操作
    On Error GoTo ErrMsg
    If txtItem(0).Text = "" Then
        MsgBox ("选择需要删除的成员信息!")
        Exit Sub
    End If
    If rs.RecordCount > 0 Then
        msg = MsgBox("删除该条记录吗?", vbYesNo)
        If msg = vbYes Then
            rs.Delete
            Call LoadData '重新装载数据
            '清空文本框,重新设置下拉框
            For Index = 0 To 3
                txtItem(Index).Text = ""
                txtItem(Index).Enabled = False
            Next Index
            CboSelect.Enabled = False
            CboSelect.ListIndex = 0
            ListStu.Enabled = True
            CboStu.Enabled = True
            '按钮可用性处理
            CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True
            CmdSave.Enabled = False: CmdCancel.Enabled = False
            MsgBox ("成功删除的数据!")
        End If
    Else
        MsgBox ("没有可删除的数据!")
    End If
    Exit Sub
ErrMsg:
    MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Sub cmdCancel_Click()
'取消操作
    Call FixData '设置数据
    ListStu.Enabled = True
    CboStu.Enabled = True
    '修改、删除、添加按钮可用,保存和取消按钮不可用
    CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub setData()
    rs.Fields("成员姓名") = Trim(txtItem(0).Text)
    rs.Fields("职务") = Trim(txtItem(1).Text)
    rs.Fields("所在单位") = Trim(txtItem(2).Text)
    rs.Fields("联系方式") = Trim(txtItem(3).Text)
    rs.Fields("关系") = Trim(CboSelect.Text)
    rs.Fields("学号") = Left(Trim(CboStu.Text), 8)
End Sub
Private Sub CmdSave_Click()
    On Error GoTo ErrMsg
    If Not CheckData Then Exit Sub '如果数据不合法退出
    If flag = "Modify" Then '如果是修改数据
        msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)
        If msg = vbYes Then
            Call setData '赋值
        Else
            Exit Sub
        End If
    ElseIf flag = "Add" Then '如果是添加新数据
        rs.AddNew
        Call setData
    End If
    '更新数据
    rs.Update
    Call LoadData '重新装载数据
    '控件清空和可用性
    For Index = 0 To 3
        txtItem(Index).Text = ""
        txtItem(Index).Enabled = False
    Next Index
    CboSelect.Enabled = False
    CboSelect.ListIndex = 0
    ListStu.Enabled = True
    CboStu.Enabled = True
    CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
    If flag = "Add" Then
        MsgBox ("成功添加数据!")
    Else
        MsgBox ("成功更新数据!")
    End If
    Exit Sub
ErrMsg:
    MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Sub CmdExit_Click()
'退出操作
    学生档案管理.Enabled = True
    rs.Close
    B学生查询.Enabled = True
    Unload Me
End Sub
Private Sub Form_Load()
    Dim strItem As String
    '得到班号
    strClassNo = B学生查询.strQuery
    '初始化下拉框
    CboSelect.AddItem "父子"
    CboSelect.AddItem "母子"
    CboSelect.AddItem "兄弟"
    CboSelect.AddItem "姐弟"
    CboSelect.AddItem "其他"
    CboSelect.ListIndex = 0
    '初始化学生下拉框
    SQL = " select 学号,姓名 from 学生基本信息表"
    SQL = SQL & " where 班号='" & strClassNo & "'  order by 学号"
    Set rs = Nothing
    Set rs = SelectSQL(SQL, msg)
    CboStu.Clear
    If rs.RecordCount > 0 Then
        Do While (Not rs.EOF) And (Not rs.BOF)
            strItem = rs.Fields(0) & " " & rs.Fields(1)
            CboStu.AddItem (strItem)
            rs.MoveNext
        Loop
        rs.MoveFirst
        CboStu.ListIndex = 0
    Else
        MsgBox ("目前没有学生信息!")
        '控件可用性
        CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
        CmdCancel.Enabled = False: CmdSave.Enabled = False
        Exit Sub
    End If
    Call LoadData '装载家庭成员数据
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
    学生档案管理.Enabled = True
    B学生查询.Enabled = True
    Unload Me
End Sub
Private Sub ListStu_Click()
    Call FixData
End Sub

⌨️ 快捷键说明

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