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

📄 mdiform1.frm

📁 学生选课vb‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序?】蝪b‘源程序
💻 FRM
字号:
VERSION 5.00
Begin VB.MDIForm MDIMainfrm 
   BackColor       =   &H8000000C&
   Caption         =   "选课系统"
   ClientHeight    =   3195
   ClientLeft      =   165
   ClientTop       =   735
   ClientWidth     =   4680
   LinkTopic       =   "MDIForm1"
   StartUpPosition =   3  '窗口缺省
   Begin VB.Menu filemenu 
      Caption         =   "文件"
      Begin VB.Menu logoutmenu 
         Caption         =   "注销"
      End
      Begin VB.Menu exitmenu 
         Caption         =   "退出"
      End
   End
   Begin VB.Menu actionmenu 
      Caption         =   "操作"
      Begin VB.Menu personinfomenu 
         Caption         =   "查看个人信息"
      End
      Begin VB.Menu resultmenu 
         Caption         =   "查看选课情况"
      End
      Begin VB.Menu changepwdmenu 
         Caption         =   "修改密码"
      End
      Begin VB.Menu Reportmenu 
         Caption         =   "生成报告"
      End
      Begin VB.Menu coursemenu 
         Caption         =   "选修课程报表"
      End
      Begin VB.Menu subjectrpmenu 
         Caption         =   "单科选课报告"
      End
   End
   Begin VB.Menu aboutmenu 
      Caption         =   "关于"
   End
End
Attribute VB_Name = "MDIMainfrm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub aboutmenu_Click()
    '显示关于窗体
    Frmabout.Show vbModal, Me
End Sub
 '修改密码

Private Sub changepwdmenu_Click()
    '显示修改密码窗体
    Changepwdfrm.Show vbModal, Me
End Sub

Private Sub GenerateReport_Click()

End Sub

'显示选课情况

Private Sub resultmenu_Click()
     Resultfrm.Show
End Sub
'生成所有选修课基本信息的报表
Private Sub coursemenu_Click()
     Dim sqlstr As Sring
     
     sqlstr = "SELECT 课程.课程编号,课程.课程名称,课程.任课教师,课程.教师职称,课程.学分,课程.总学时 FROM 课程"
     '生成所有选修课程基本信息的报表


Call GenerateReport(sqlstr, "选修课报表")
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)
   '非通过菜单退出时,关闭数据库
  courseDB.Close
End Sub

   '生成单科选修课程选课情况的报表
Private Sub subjectrpmenu_Click()
  Dim sql As String
  Dim courseID, rpTitle As String
  Dim courseRD As Recordset
  '选择要生成报表的科目
  courseID = InputBox("请输入课程编号")
  sql = "select  课程编号,课程名称 from 课程 where 课程编号='" & courseID & "'"
  Set courseRD = courseDB.OpenRecordset(sql, dbOpenSnapshot, ReadOnly)
  If courseRD.RecordCount = 0 Then
  If MsgBox("您输入的课程编号有误", vbRetryCancel) = vbRetry Then
  Call subjectrpmenu_Click
  Else
  Exit Sub
 End If
Else
  sql = "SELECT 课程.课程名称,学生信息.姓名,学生信息.性别,学生信息.学号,_学生信息.专业,学生信息.年级"
  sql = sql & "FROM 学生信息 INNER JOIN(课程INNER JOIN 学号课程 ON 课程.课程编号=学号课程.课程编号)ON 学生信息.学号=学号课程.学号"
  sql = sql & "WHERE 学号课程.课程编号='" & courseRD.Fields("课程编号") & "'"
  rpTitle = courseRD.Fields("课程名称") & "选课报表"

  '生成单科选修课程选课情况的报表
Call GenerateReport(sql, rpTitle)
End If
 

'关闭记录集

courseRD.Close

End Sub

'注销
Private Sub logoutmenu_Click()
  ID = ""
  userName = ""
  Unload MDIMainfrm
  Introfrm.Show
End Sub

'退出

Private Sub exitmenu_Click()
'退出,关闭数据库
 courseDB.Close
 Set courseDB = Nothing
 End
End Sub

'初始化窗体
Private Sub MDIform_Load()
'根据登录用户不同,赋予不同的功能
If admin Then
   MDIMainfrm.personinfomenu.Enabled = False
Else
   With MDIMainfrm
        .coursemenu.Enabled = False
        .subjectrpmenu.Enabled = False
        .resultmenu.Enabled = False
        .Reportmenu.Enabled = False
   End With
   Mainfrm.MSFlexGirdl.ToolTipText = "双击鼠标填写选课表单"
End If
   MDIMainfrm.WindowState = vbMaximized
   Mainfrm.WindowState = vbMaximized
   Mainfrm.Show

   If admin = False Then
         '学生登录显示个人信息以供确认
        Infofrm.Show vbModal, Me
   End If
End Sub
 
'        显示个人信息
Private Sub personinfomenu_Click()
    Infofrm.Show vbModal, Me
End Sub

'    生成word格式报告
Private Sub GenerateReport(sqlstr As String, rpTitle As String)
Dim app As New Word.Application  '定义Word.Application
Dim doc As Word.Document     '定义Word.Document
Dim sel As Word.Selection   '定义Word.Selection
Dim tbl As Word.Table      '定义Word.Table
Dim RD As Recordset       '定义记录集
Dim i, j As Integer     '定义循环指标
app .Visible = True    '显示Application
app.Documents.Add     '添加文档
docname = app.ActiveDocument.Name  '获取文档名
Set doc = app.Document(docname) '赋当前文档给doc变量
Set courseinfo = courseDB.OpenRecordset(sqlstr, dbOpenSnapshot, ReadOnly) '打开记录集

Set sel = app.Selection
    '设定word文档字体等属性
    With sel
       .Font.Name = "宋体"
       .Font.Size = 30
       .Font.Bold = True
       .ParagraphFormat.Alignment = wdAlignParagraphCenter
       .InsertAfter rpTitle
       .InsertParagraphAfter
       .InsertParagraphAfter
       .EndOf
    End With
   
    sel.Font.Size = 10
    If courseinfo.RecordCount > 0 Then
    courseinfo.MoveLast   '遍历记录集

    '在word中创建表格
    Set tbl = sel.Tables.Add(sel.Range, courseinfo.RecordCount + 1, courseinfo.Fields.Count)
    tbl.AutoFormat (36)
    tbl.AllowAutoFit = True
    tbl.Cilumns.AutoFit

    '将选课数据写入到word文档中
    With tbl
       courseinfo.MoveFirst
       For j = 1 To .Columns.Count
           .Cell(1, j).Range.Font.Bold = True
           .Cell(1, j).Range.Text = courseinfo.Fields(j - 1).Name
       Next j
       For i = 2 To .Rows.Count
         For j = 1 To .Columns.Count
           .Cell(i, j).Range.Text = courseinfo.Fields(j - 1).Value
         Next j
         courseinfo.MoveNext
       Next i
End With
Else

   sel.Document.Range.InsertAfter "没有记录"
   
End If
  

sel.GoToNext (wdGoToTable)
sel.Document.Range.InsertParagraphAfter
sel.Document.Range.InsertAfter Date

 '关闭记录集
  courseinfo.Close
End Sub



⌨️ 快捷键说明

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