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

📄 项目源代码清单.doc

📁 学生信息管理系统详细设计说明书
💻 DOC
📖 第 1 页 / 共 4 页
字号:

目   录
I. 窗体源代码	1
1.1.1	Frm_Main 源代码清单如下:	1
1.1.2	FrmAdMg源代码清单如下:	2
1.1.3	FrmGetPwd源代码清单如下:	3
1.1.4	FrmLogin源代码清单如下:	3
1.1.5	Frmmg源代码清单如下:	3
1.1.6	FrmShow源代码清单如下:	3
II. 模块源代码	4
1.1.7	mdlMenu源代码清单如下:	4
1.1.8	MdlPublic源代码清单如下:	8
III. 类模块源代码	11
1.1.9	DbCtrl源代码清单如下:	11
IV. 用户控件源代码	16
1.1.10	ConDbAdMg源代码清单如下:	16
1.1.11	ConRs源代码清单如下:	27

窗体源代码
1.1.1 Frm_Main 源代码清单如下:

Option Explicit

Private Sub Form_Load()
    Init    
End Sub
Public Sub Init()
    Dim intBak As Integer
    For intBak = 0 To UBound(MdlItem)
        If lblMg.Count <= intBak Then Load lblMg(intBak)
        lblMg(intBak) = MdlItem(intBak).mdlName
        lblMg(intBak).Top = lblMg(0).Top + (lblMg(0).Height + 200) * intBak
        lblMg(intBak).Visible = True
    Next intBak
    frm_Main.Refresh
    lblMg_MouseDown 0, 0, 0, 0, 0
End Sub


Private Sub Form_Unload(Cancel As Integer)
    Cancel = True
End Sub



Private Sub lblExit_Click()
    End
End Sub

Public Sub lblMg_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim intBak As Integer
    For intBak = 0 To lblMg.Count - 1
        lblMg(intBak).Font.Size = 10.5
        lblMg(intBak).ForeColor = &HFFFFFF
    Next intBak
    lblMg(Index).Font.Size = 11
    lblMg(Index).ForeColor = &H1FFFF
    Call ShowMenu(Index, lstv1)
       

            
End Sub



Private Sub lstv1_DblClick()
    If lstv1.SelectedItem.Index = -1 Then Exit Sub
    Call RunMenu(Trim(lstv1.SelectedItem.Text))
End Sub

1.1.2 FrmAdMg源代码清单如下:

    ConDbAdMg1.Init dbCtrlAll, strSql, strTitle
    Me.Caption = strTitle
End Sub

1.1.3 FrmGetPwd源代码清单如下:

Public Sub Init(strSql As String, strTitle As String)
    ConDbAdMg1.Init dbCtrlAll, strSql, strTitle
    Me.Caption = strTitle
End Sub

1.1.4 FrmLogin源代码清单如下:

Public Sub Init(strSql As String, strTitle As String)
    ConDbAdMg1.Init dbCtrlAll, strSql, strTitle
    Me.Caption = strTitle
End Sub

1.1.5 Frmmg源代码清单如下:

Public Sub Init(operatBak As Operation, strSql As String, strTitle As String)
    ConRs1.Operat = operatBak
    ConRs1.Init dbCtrlAll, strSql
    Me.Height = ConRs1.Height + ConRs1.Top + 800
    ConRs1.title = strTitle
    Me.Caption = ConRs1.title
End Sub

1.1.6 FrmShow源代码清单如下:

Public Sub Init(operatBak As Operation, strSql As String, strTitle As String)
    ConRs1.Operat = operatBak
    ConRs1.Init dbCtrlAll, strSql
    Me.Height = ConRs1.Height + ConRs1.Top + 800
    ConRs1.title = strTitle
    Me.Caption = ConRs1.title
End Sub
V. 
模块源代码

1.1.7 mdlMenu源代码清单如下:

Public Type MdlItems
    mdlName As String
    OprateIco() As String
    OprateName() As String
    CreateTable() As String
    mdlCmd As String
    mdlTable As String
End Type
Public MdlItem() As MdlItems
Public intCurMenu   As Integer




    '
    
    '初始化主窗体菜单
    Public Sub InitMainMenu()
        Dim rs As Recordset
        Set rs = dbCtrlAll.RunSql("select * from module order by 模块排序")
        bak = rs.GetRows
        Set rs = Nothing
        ReDim MdlItem(UBound(bak, 2))
        Dim intBak As Integer
        For intBak = 0 To UBound(bak, 2)
            MdlItem(intBak).mdlName = bak(0, intBak)
            MdlItem(intBak).OprateName = Split(bak(1, intBak), "|")
            MdlItem(intBak).OprateIco = Split(bak(2, intBak), "|")
            MdlItem(intBak).mdlTable = bak(3, intBak)
            MdlItem(intBak).mdlCmd = bak(4, intBak)
            MdlItem(intBak).CreateTable = Split(bak(6, intBak), "|")
        Next intBak
    End Sub


'显示当前菜单项目
    Public Sub ShowMenu(intIndex As Integer, lstv1 As ListView)
        Dim intBak As Integer
        lstv1.ListItems.Clear
        For intBak = 0 To UBound(MdlItem(intIndex).OprateName)  '显示菜单操作项目
            lstv1.ListItems.Add , , MdlItem(intIndex).OprateName(intBak), Trim(MdlItem(intIndex).OprateIco(intBak))
        Next intBak
        intCurMenu = intIndex
    End Sub
'

'
'
'执行菜单操作
    Public Sub RunMenu(strCmd As String)
        On Error Resume Next
        Dim frmMg1 As frmMg
        Dim frmlogin1 As New frmLogin
        Dim frmBak As frm_Main
        Dim frmAdMg1 As frmAdMg
        If InStr(1, strCmd, "查询") > 0 Then
            Set frmMg1 = GetFrm("frmMg")
            If frmMg1 Is Nothing Then Set frmMg1 = New frmMg
            frmMg1.Init Search, "select " & MdlItem(intCurMenu).mdlCmd & " from " & MdlItem(intCurMenu).mdlTable, Trim(MdlItem(intCurMenu).mdlName) & "『" & strCmd & "』"
            frmMg1.Show vbModal
            Exit Sub
        End If
        
        If InStr(1, strCmd, "添加") > 0 Then
            Set frmMg1 = GetFrm("frmMg")
            If frmMg1 Is Nothing Then Set frmMg1 = New frmMg
            frmMg1.Init Add, "select " & MdlItem(intCurMenu).mdlCmd & " from " & MdlItem(intCurMenu).mdlTable, Trim(MdlItem(intCurMenu).mdlName) & "『" & strCmd & "』"
            frmMg1.Show vbModal
            Exit Sub
        End If

        If InStr(1, strCmd, "修改") > 0 Then
            If frmMg1 Is Nothing Then Set frmMg1 = New frmMg
            frmMg1.Init Modify, "select " & MdlItem(intCurMenu).mdlCmd & " from " & MdlItem(intCurMenu).mdlTable, Trim(MdlItem(intCurMenu).mdlName) & "『" & strCmd & "』"
            frmMg1.Show vbModal
            Exit Sub
        End If
        
        If InStr(1, strCmd, "删除") > 0 Then
            If frmMg1 Is Nothing Then Set frmMg1 = New frmMg
            frmMg1.Init Delete, "select " & MdlItem(intCurMenu).mdlCmd & " from " & MdlItem(intCurMenu).mdlTable, Trim(MdlItem(intCurMenu).mdlName) & "『" & strCmd & "』"
            frmMg1.Show vbModal
            Exit Sub
        End If
        
        If InStr(1, strCmd, "高级管理") > 0 Then
            If frmAdMg1 Is Nothing Then Set frmAdMg1 = New frmAdMg
            frmAdMg1.Init "select " & MdlItem(intCurMenu).mdlCmd & " from " & MdlItem(intCurMenu).mdlTable, Trim(MdlItem(intCurMenu).mdlName) & "『" & strCmd & "』"
            frmAdMg1.Show vbModal
            Exit Sub
        End If
        If InStr(1, strCmd, "生成") > 0 And InStr(1, strCmd, "表") > 0 Then '生成数据表
            If MsgBox("该操作会导致" & MdlItem(intCurMenu).mdlName & "表丢失!" & "重新生成新的数据表,是否继续操作?", vbYesNo, "警告") = vbYes Then
            
                If dbCtrlAll.RunSql("select * from " & MdlItem(intCurMenu).mdlTable) Is Nothing Then
                Else
                    dbCtrlAll.RunSql ("drop table " & MdlItem(intCurMenu).mdlTable)
                End If
                Dim intBak As Integer
                For intBak = 0 To UBound(MdlItem(intCurMenu).CreateTable)
                    dbCtrlAll.RunSql Replace(MdlItem(intCurMenu).CreateTable(intBak), dbCtrlAll.STR_SPLIT, "'")
                Next intBak
                MsgBox "操作完成,请检验!"
                Exit Sub
            End If
            Exit Sub
        End If
        
        
        If strCmd = "退出" Then
            End
        End If
            
                
        If strCmd = "注销" Then
            '显示登录窗体
            Set frmBak = GetFrm("frm_Main")
            If frmBak Is Nothing Then
            Else
                frmBak.Hide
            End If
            frmlogin1.Show vbModal
            Unload frmlogin1
            If AdminCur.IsLogin Then
            '初始化主窗体菜单
                Call InitMainMenu
                If frmBak Is Nothing Then
                Else
                    frmBak.Show
                    frmBak.Caption = App.ProductName & "  [管理员: " & AdminCur.UserName & "]"
                    frmBak.lblMg_MouseDown 0, 0, 0, 0, 0
                End If
                    
            Else
                End
            End If
        End If
        
        If InStr(1, strCmd, "执行SQL") > 0 Then
            Dim strGetSql As String
            strGetSql = InputBox("请输入要执行的SQL语句:", "执行SQL", "Select * from module")
            If strGetSql <> "" Then
                dbCtrlAll.RunSql strGetSql
            End If
            Exit Sub
        End If
        
        If InStr(1, strCmd, "重载模块") > 0 Then
           Set frmBak = GetFrm("frm_Main")
           Call InitMainMenu
           frmBak.Init
        End If
    
        
    End Sub
   '获得指定窗体
    Function GetFrm(strFrmCaption As String) As Form
    
        For i = 0 To Forms.Count - 1
            If Forms(i).Name = strFrmCaption Then
                Set GetFrm = Forms(i)
                Exit Function
            End If
        Next i
        Set GetFrm = Nothing
End Function

1.1.8 MdlPublic源代码清单如下:

Option Explicit
'
'┎──────────────────────────────────────────────┒
'┃                                              ┃
'┃  名  称: 学生信息管理系统基本模块 [九九科技项目开发第一小组]           ┃
'┃                                              ┃
'┠──────────────────────────────────────────────┨
'┃                                              ┃
'┃  包含模块:                                       ┃
'┃                                              ┃
'┃         过程:ShowErr(strErr)                 ──    显示错误信息                 ┃
'┃                                              ┃
'┃         过程:ShowOk(strOk)                   ──    显示成功或确定信息              ┃
'┃                                              ┃
'┃   公用数据:全局对象、常量、变量定义模块                                              ┃
'┃                                              ┃
'┃     过程:Main()                          ──    项目入口                          ┃
'┃                                              ┃
'┖──────────────────────────────────────────────┚
'

'公用数据
'

Public Const STR_TITLE = "学生信息管理系统"         '项目标题
Public Const STR_COMPANY = "湖南科技职业学院"   '开发团队

'
Public Type AdminInf
    UserName As String                          '当前管理员用户名
    Password As String                          '当前管理员密码
    Power As Integer                            '当前管理员操作权限
    IsLogin As Boolean                          '当前管理员登录状态
End Type

Public AdminCur As AdminInf
Public dbCtrlAll As New DbCtrl  '数据库操作对象
'
'


'   过程说明:      显示错误信息
'
'   调用方法:      CALL ShowErr(strErr)
'
'   参数说明:
'
'       strErr          ──    要显示的错误信息字符串'
'
'   具体代码:
    
    Public Sub ShowErr(strErr As String)
        If Err.Number <> 0 Then
            strErr = strErr & vbCrLf & vbCrLf & String(40, "-") & vbCrLf & "详 细 信 息: " & vbCrLf & vbCrLf & Err.Description
        End If
        Err.Clear
        MsgBox strErr, vbOKOnly + vbCritical, STR_TITLE
    End Sub
'
'


'   过程说明:      显示成功信息
'
'   调用方法:      CALL Show(strErr)
'
'   参数说明:
'
'       strOk           ──    要显示的成功信息字符串'
'

⌨️ 快捷键说明

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