?? mdiform1.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 + -