Form Name frm_tracuudiem_CD_DH_SV
2 Text box Họ tên Name txthoten
3 Text box Lần thi Name txtlan
4 Check box CK, CS Name Checkcdcq
Caption CK, CS
5 Check box CL Name Checkcdlt
Caption CL
6 Check box ĐK, ĐS
Name Checkdhcq
Caption ĐK, ĐS
7 Check box ĐL Name Checkdhlt
Caption ĐL
8 Check box Năm học Name checknam
Caption Năm học
9 Check box Kỳ Name checkky
Caption Kỳ
10 Check box Môn học Name checkmon
Caption Môn học
170 trang |
Chia sẻ: Tiểu Khải Minh | Ngày: 28/02/2024 | Lượt xem: 30 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài tập Phân tích và thiết kế hệ thống thông tin quản lý (Phần 2), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bky) & "' and namhoc='" & Trim(cbnamhoc) & "' " &
" and malop='" & Trim(txttenlop) & "' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
admahssv.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" &
name & ""
admahssv.CommandType = adCmdUnknown
admahssv.RecordSource = "select * from hoclopcddh where (Malop='" &
Trim(txttenlop) & "')" & " and (namhoc='" & Trim(cbnamhoc) & "')" & " and (ky='"
& Trim(cbky) & "')"
admahssv.Refresh
dcbmahssv.DataField = "Masinhvien"
Set dcbmahssv.DataSource = admahssv
Set dcbmahssv.RowSource = admahssv
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
258 Phạm Hùng Phú - Nguyễn Văn Thẩm
dcbmahssv.ListField = "Masinhvien"
dcbmahssv.Refresh
End Sub
„Thủ tục click của combox lần
Private Sub cblan_Click()
dk = " (namhoc='" & Trim(cbnamhoc) & "')"
dk = dk & " and (ky='" & Trim(cbky) & "')"
dk = dk & " and (malop='" & Trim(txttenlop) & "')"
dk = dk & " and (mamon='" & Trim(txttenmon) & "')"
dk = dk & " and (lanthi='" & Trim(cblan) & "')"
If opsua.Value = True Then
LVitem.Enabled = True
LVitem.Visible = True
cdketthucsua.Enabled = True
Display_Listview
End If
If opxoa.Value = True Then
LVitem.Enabled = True
LVitem.Visible = True
Display_Listview
End If
End Sub
„Thủ tục click của nút hủy
Private Sub cdhuy_Click()
SET_NULLR
cdluu.Enabled = False
cdhuy.Enabled = False
End Sub
„Thủ tục click nút kết thúc sửa
Private Sub cdketthucsua_Click()
Un_Lock_TextC
cdluu.Visible = False
cdhuy.Visible = False
cdketthucsua.Enabled = False
LVitem.Enabled = False
End Sub
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 259
„Thủ tục lưu trữ
Private Sub cdluu_Click()
Luu_Du_Lieu
cdluu.Enabled = False
cdhuy.Enabled = False
Display_Listview
End Sub
„Thủ tục click của check box Cao đẳng chính quy
Private Sub Checkcdcq_Click()
If Checkcdcq.Value = 1 Then
SET_NULL
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or
left(tenlop,2)='CK'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDCQ' "
End If
End Sub
„Thủ tục click của check box Cao đẳng liên thông
Private Sub Checkcdlt_Click()
If Checkcdlt.Value = 1 Then
SET_NULL
'cdthem.Enabled = True
Checkcdcq.Value = 0
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
260 Phạm Hùng Phú - Nguyễn Văn Thẩm
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDLT' "
End If
End Sub
„Thủ tục click của check box Đại học chính quy
Private Sub Checkdhcq_Click()
If Checkdhcq.Value = 1 Then
SET_NULL
Checkcdlt.Value = 0
Checkcdcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or
left(tenlop,2)='ĐS'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 261
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHCQ' "
End If
End Sub
„Thủ tục click của check box Đại học liên thông
Private Sub Checkdhlt_Click()
If Checkdhlt.Value = 1 Then
SET_NULL
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkcdcq.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHLT' "
End If
End Sub
„Thủ tục click của Combox Mã sinh viên
Private Sub dcbmahssv_Click(Area As Integer)
cdluu.Enabled = True
cdhuy.Enabled = True
txtdieml1.Text = ""
txtdieml2.Text = ""
txtdiemthi.Text = ""
Dim rs2 As New ADODB.Recordset
Dim str2
str2 = "select * from SVCDDH where (Masinhvien='" & Trim(dcbmahssv) & "')"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
262 Phạm Hùng Phú - Nguyễn Văn Thẩm
rs2.Open str2, CN, adOpenKeyset, adLockOptimistic, adCmdText
txthoten = rs2!Hoten
'txtdieml1.Enabled = True
Dim rs As New ADODB.Recordset
Dim str
str = "select*from DiemLT where (Masinhvien='" & Trim(dcbmahssv) &
"')" & " and (mamon='" & Trim(txttenmon) & "')" & " and (namhoc='" &
Trim(cbnamhoc) & "')" & " and (ky='" & Trim(cbky) & "')" & " and (lanthi='" &
Trim(cblan) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
Dim rs1 As New ADODB.Recordset
Dim str1
str1 = "select*from DiemLT where (Masinhvien='" & Trim(dcbmahssv) &
"')" & " and (mamon='" & Trim(txttenmon) & "')" & " and (namhoc='" &
Trim(cbnamhoc) & "')" & " and (ky='" & Trim(cbky) & "')" & " and (lanthi='" &
Trim("1") & "')"
rs1.Open str1, CN, adOpenKeyset, adLockOptimistic, adCmdText
Dim rsmon As New ADODB.Recordset
Dim strmon
strmon = "select*from Monhoccddh where (Mamon='" & Trim(txttenmon) & "')"
rsmon.Open strmon, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rsmon!sodvht <= 3 Then
If cblan.Text = 1 Then
If rs.RecordCount >= 1 Then
MsgBox "Có các điểm lần 1 rồi !", vbOKOnly + vbExclamation,
"Thông báo"
Else
txtdieml1.Enabled = True
End If
Else
If (rs1.RecordCount >= 1) And (rs1!diemktl1 >= 5) And (rs1!diemthi >=
5) Then
MsgBox "Có các điểm lần 1 lớn hơn bằng 5 rồi !", vbOKOnly +
vbExclamation, "Thông báo"
Else
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 263
If (rs.RecordCount >= 1) And (rs!diemktl1 >= 5) And (rs!diemthi
>= 5) Then
MsgBox "Có điểm lần 2 lớn hơn 5 rồi !", vbOKOnly +
vbExclamation, "Thông báo"
Else
txtdieml1.Enabled = True
End If
End If
End If
Else
If cblan.Text = 1 Then
If rs.RecordCount >= 1 Then
MsgBox "Có các điểm lần 1 rồi !", vbOKOnly + vbExclamation,
"Thông báo"
Else
txtdieml1.Enabled = True
End If
Else
If (rs1.RecordCount >= 1) And (rs1!diemktl1 >= 5) And (rs1!diemktl2
>= 5) And (rs1!diemthi >= 5) Then
MsgBox "Có các điểm lần 1 lớn hơn bằng 5 rồi !", vbOKOnly +
vbExclamation, "Thông báo"
Else
If (rs.RecordCount >= 1) And (rs!diemktl1 >= 5) And (rs!diemktl2
>= 5) And (rs!diemthi >= 5) Then
MsgBox "Có điểm lần 2 lớn hơn 5 rồi !", vbOKOnly +
vbExclamation, "Thông báo"
Else
txtdieml1.Enabled = True
End If
End If
End If
End If
End Sub
„Thủ tục click của Combox Mã lớp
Private Sub Dcbmalop_Click(Area As Integer)
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
264 Phạm Hùng Phú - Nguyễn Văn Thẩm
Dim rs As New ADODB.Recordset
Dim str
str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
txttenlop = rs!malop
End Sub
„Thủ tục click của Combox Môn học
Private Sub dcbmonhoc_Click(Area As Integer)
Dim rs As New ADODB.Recordset
Dim str
str = "select * from monhoccddh where (tenmon='" &
Trim(dcbmonhoc) & "')"
If Checkcdcq.Value = 1 Then
str = str & " and (left(mamon,4)='CDCQ')"
End If
If Checkcdlt.Value = 1 Then
str = str & " and (left(mamon,4)='CDLT')"
End If
If Checkdhcq.Value = 1 Then
str = str & " and (left(mamon,4)='DHCQ')"
End If
If Checkdhlt.Value = 1 Then
str = str & " and (left(mamon,4)='DHLT')"
End If
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
txttenmon = rs!mamon
End Sub
„Thủ tục nạp Form
Private Sub Form_Load()
Open_mdb
LVitem.Visible = False
SET_NULL
Lock_Text
End Sub
„Thủ tục click vào một phần tử của ListView
Private Sub lvitem_ItemClick(ByVal Item As MSComctlLib.ListItem)
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 265
Dim rs As New ADODB.Recordset
Dim str
dcbmahssv = Item.Text
txthoten = Item.SubItems(1)
str = "select*from DiemLT where (Masinhvien='" & Trim(dcbmahssv) &
"')" & " and (mamon='" & Trim(txttenmon) & "')" & " and (namhoc='" &
Trim(cbnamhoc) & "')" & " and (ky='" & Trim(cbky) & "')" & " and (lanthi='" &
Trim(cblan) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If opsua.Value = True Then
Lock_Text
cdluu.Enabled = True
cdhuy.Enabled = True
cdluu.Visible = True
cdhuy.Visible = True
cdketthucsua.Visible = True
If rs.EOF = False Then
txtdieml1 = rs!diemktl1
txtdieml1.Enabled = True
If rs!diemktl2 = -1 Then
txtdieml2 = " "
Else
txtdieml2 = rs!diemktl2
txtdieml2.Enabled = True
End If
txtdiemthi = rs!diemthi
txtdiemthi.Enabled = True
End If
End If
If opxoa.Value = True Then
Lock_Text
cdxoa.Enabled = True
cdxoa.Visible = True
If rs.EOF = False Then
txtdieml1 = Format(rs!diemktl1, "0.0")
If rs!diemktl2 = -1 Then
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
266 Phạm Hùng Phú - Nguyễn Văn Thẩm
txtdieml2 = " "
Else
txtdieml2 = Format(rs!diemktl2, "0.0")
End If
txtdiemthi = rs!diemthi
End If
End If
rs.Close
End Sub
„Thủ tục click của nút xóa
Private Sub cdxoa_Click()
Xoa_Du_Lieu
End Sub
„Thủ tục sửa dữ liệu
Private Sub Sua_Du_Lieu()
Un_Lock_Text
cbnamhoc.SetFocus
End Sub
„Thủ tục click thiết lập giá trị của các control thành rỗng
Private Sub SET_NULL()
dcbmonhoc.Text = ""
cbky.Text = ""
txthoten.Text = ""
dcbmahssv.Text = ""
cbnamhoc.Text = ""
cblan.Text = ""
txtdieml1.Text = ""
txtdieml2.Text = ""
txtdiemthi.Text = ""
End Sub
„Thủ tục hiện dữ liệu trên Listview
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim str
Dim mitem As ListItem
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 267
LVitem.ListItems.Clear
str = "select * from 111 where " & dk & "order by Masinhvien asc"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF = False Then
While Not rs.EOF
Set mitem = LVitem.ListItems.Add(, , rs!Masinhvien)
mitem.SubItems(1) = rs!Hoten
mitem.SubItems(2) = Format(rs!diemktl1, "0.0")
If rs!diemktl2 = -1 Then
mitem.SubItems(3) = " "
Else
mitem.SubItems(3) = Format(rs!diemktl2, "0.0")
End If
mitem.SubItems(4) = Format(rs!diemthi, "0.0")
rs.MoveNext
Wend
End If
End Sub
„Thủ tục làm mất hiệu lực của các đối tượng
Private Sub Lock_Text()
cbnamhoc.Enabled = False
cbky.Enabled = False
dcbmonhoc.Enabled = False
Dcbmalop.Enabled = False
dcbmahssv.Enabled = False
cblan.Enabled = False
txtdieml1.Enabled = False
txtdieml2.Enabled = False
txtdiemthi.Enabled = False
cdluu.Visible = False
cdhuy.Visible = False
cdxoa.Visible = False
cdketthucsua.Visible = False
lblop.Visible = False
txttenlop.Visible = False
lbmon.Visible = False
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
268 Phạm Hùng Phú - Nguyễn Văn Thẩm
txttenmon.Visible = False
End Sub
„Thủ tục làm các đối tượng có hiệu lực
Private Sub Un_Lock_Text()
cbnamhoc.Enabled = True
cbky.Enabled = True
dcbmonhoc.Enabled = True
Dcbmalop.Enabled = True
dcbmahssv.Enabled = True
cblan.Enabled = True
cbnamhoc.SetFocus
End Sub
„Thủ tục làm các đối tượng có hiệu lực
Private Sub Un_Lock_TextC()
cbnamhoc.Enabled = True
cbky.Enabled = True
dcbmonhoc.Enabled = True
Dcbmalop.Enabled = True
cblan.Enabled = True
Dcbmalop.SetFocus
End Sub
„Thủ tục lưu thông tin vào cơ sở dữ liệu
Private Sub Luu_Du_Lieu()
Dim rs As New ADODB.Recordset
Dim str
If Trim(dcbmonhoc) = "" Then
MsgBox "Chú ý: Mã môn không được trống", vbOKOnly +
vbExclamation, "Thông báo"
Me.MousePointer = 0
Exit Sub
End If
If Trim(dcbmahssv) = "" Then
MsgBox "Chú ý: Mã sinh viên không được trống", vbOKOnly +
vbExclamation, "Thông báo"
Me.MousePointer = 0
Exit Sub
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 269
End If
str = "select*from DiemLT where (Masinhvien='" & Trim(dcbmahssv)
& "')" & " and (mamon='" & Trim(txttenmon) & "')" & " and (namhoc='" &
Trim(cbnamhoc) & "')" & " and (ky='" & Trim(cbky) & "')" & " and (lanthi='" &
Trim(cblan) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
Dim rsmon As New ADODB.Recordset
Dim strmon
strmon = "select*from Monhoccddh where (Mamon='" &
Trim(txttenmon) & "')"
rsmon.Open strmon, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF = True Then
rs.AddNew
rs!Masinhvien = Trim(dcbmahssv)
rs!mamon = Trim(txttenmon)
rs!Namhoc = Trim(cbnamhoc)
rs!Ky = Trim(cbky)
rs!lanthi = Val(cblan)
rs!diemktl1 = Val(txtdieml1)
If rsmon!sodvht <= 3 Then
rs!diemktl2 = -1
Else
rs!diemktl2 = Val(txtdieml2)
End If
rs!diemthi = Val(txtdiemthi)
rs.Update
rs.Close
Else
'sua lai
rs!Masinhvien = Trim(dcbmahssv)
rs!mamon = Trim(txttenmon)
rs!Namhoc = Trim(cbnamhoc)
rs!Ky = Trim(cbky)
rs!lanthi = Val(cblan)
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
270 Phạm Hùng Phú - Nguyễn Văn Thẩm
rs!diemktl1 = Val(txtdieml1)
rs!diemktl2 = Val(txtdieml2)
rs!diemthi = Val(txtdiemthi)
rs.Update
End If
Me.MousePointer = 0
If opsua.Value = True Then
MsgBox "Dữ liệu bạn vừa sửa đã được lưu!", vbOKOnly +
vbInformation, "Thông báo"
Display_Listview
Else
MsgBox "Dữ liệu bạn vừa thêm đã được lưu !", vbOKOnly +
vbInformation, "Thông báo"
End If
End Sub
„Thủ tục xóa dữ liệu
Private Sub Xoa_Du_Lieu()
Dim str
Dim response
If Trim(dcbmahssv) = "" Then
Exit Sub
End If
response = MsgBox("Bạn có chắc chắn muốn xóa điểm của môn học
của sinh viên này không?", vbYesNo + vbQuestion, "Thông báo")
If response = vbNo Then
Exit Sub
Else
str = "delete from DiemLT where (Masinhvien='" & Trim(dcbmahssv)
& "')" & " and (mamon='" & Trim(txttenmon) & "')" & " and (namhoc='" &
Trim(cbnamhoc) & "')" & " and (ky='" & Trim(cbky) & "')" & " and (lanthi='" &
Trim(cblan) & "')"
CN.Execute (str)
End If
SET_NULLR
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 271
Display_Listview
End Sub
„Thủ tục giải phóng Form
Private Sub Form_Unload(Cancel As Integer)
Unload Me
close_mdb
End Sub
„Thủ tục click của nút sửa
Private Sub opsua_Click()
Un_Lock_Text
cdxoa.Visible = False
cdhuy.Visible = False
cdluu.Visible = False
cdketthucsua.Visible = False
End Sub
„Thủ tục click của nút thêm
Private Sub opthem_Click()
cdluu.Enabled = True
cdhuy.Enabled = True
cdluu.Visible = True
cdhuy.Visible = True
cdketthucsua.Visible = True
LVitem.Visible = True
Un_Lock_Text
End Sub
„Thủ tục click của nút xóa
Private Sub opxoa_Click()
Un_Lock_Text
cdhuy.Visible = False
cdluu.Visible = False
cdketthucsua.Visible = False
LVitem.Enabled = True
LVitem.Visible = True
End Sub
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
272 Phạm Hùng Phú - Nguyễn Văn Thẩm
„Thủ tục click của text box điểm lần 1
Private Sub txtdieml1_Click()
Dim rsmon As New ADODB.Recordset
Dim strmon
strmon = "select*from Monhoccddh where (Mamon='" &
Trim(txttenmon) & "')"
rsmon.Open strmon, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rsmon!sodvht <= 3 Then
txtdieml2.Enabled = False
txtdiemthi.Enabled = True
Else
txtdieml2.Enabled = True
End If
End Sub
Thủ tục click của text box điểm lần 2
Private Sub txtdieml2_Click()
txtdiemthi.Enabled = True
End Sub
3) Chức năng tra cứu điểm môn học lý thuyết trình
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 273
Thiết kế các control (đối tượng) trên form
STT Tên đối tượng Thuộc tính Giá trị
1 Form Name frm_tracuudiem_CD_DH_SV
2 Text box Họ tên Name txthoten
3 Text box Lần thi Name txtlan
4 Check box CK, CS
Name Checkcdcq
Caption CK, CS
5 Check box CL
Name Checkcdlt
Caption CL
6 Check box ĐK, ĐS
Name Checkdhcq
Caption ĐK, ĐS
7 Check box ĐL
Name Checkdhlt
Caption ĐL
8 Check box Năm học
Name checknam
Caption Năm học
9 Check box Kỳ
Name checkky
Caption Kỳ
10 Check box Môn học
Name checkmon
Caption Môn học
11 Check box Lần thi
Name Checklan
Caption Lần thi
12 Combox Tên lớp Name Dcbmalop
13 Combox Năm học Name cbnamhoc
14 Combox Kỳ Name cbky
15 Combox Tên môn Name dcbmonhoc
16 Combox Mã sinh viên Name dcbmahssv
17 Option Mã sinh viên
Name op_masv
Caption Mã sinh viên
18
Option Họ tên sinh
viên
Name op_hoten
Caption Họ và tên sinh viên
19 Command Tìm kiếm
Name cdtimkiem
Picture Icon
20 Grid Điểm Name LVitem
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
274 Phạm Hùng Phú - Nguyễn Văn Thẩm
Mã nguồn các thủ tục
Option Explicit
Private flag As String
Private flag1 As String
Public t As Integer
„Thủ tục Click của nút Combox năm học
Private Sub cbnamhoc_Click()
If checknamhoc.Value = 1 Then
Checklan.Enabled = True
txtlan.Enabled = False
Else
End If
End Sub
„Thủ tục Click của nút tìm kiếm
Private Sub cdtimkiem_Click()
Dim rs As New ADODB.Recordset
Dim str
Dim mitem As ListItem
Dim kt As Boolean
kt = False
If op_masv.Value = True Then
If Trim(dcbmahssv) = "" Then
MsgBox "Hãy chọn mã sinh viên ", vbOKOnly + vbExclamation,
"Thông báo"
Else
str = "select * from tracuudiemmh_CD_DH where Masinhvien='" &
Trim(dcbmahssv) & "'"
kt = True
End If
End If
If op_hoten.Value = True Then
If Trim(txthoten) = "" Then
MsgBox "Hãy nhập họ tên!", vbOKOnly + vbExclamation, "Thông
báo"
Else
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 275
str = "select*from tracuudiemmh_CD_DH where trim(hoten)='" &
Trim(txthoten) & "'"
kt = True
End If
End If
If checkky.Value = 1 And Checkmon.Value = 1 And checknamhoc.Value =
1 And Checklan.Value = 1 Then
str = str & " and ky = '" & Trim(cbky) & "' and tenmon = '" &
Trim(dcbmonhoc) & "'" & " and namhoc = '" & Trim(cbnamhoc) & "'" & " and
lanthi = '" & Trim(txtlan) & "'"
kt = True
Else
If (checknamhoc.Value = 1) Then
str = str & " and namhoc = '" & Trim(cbnamhoc) & "'"
kt = True
End If
If checkky.Value = 1 Then
str = str & " and ky = '" & Trim(cbky) & "'" & " and namhoc =
'" & Trim(cbnamhoc) & "'"
kt = True
End If
If Checklan.Value = 1 Then
str = str & " and ky = '" & Trim(cbky) & "'" & " and namhoc =
'" & Trim(cbnamhoc) & "'" & " and lanthi = '" & Trim(txtlan) & "'"
kt = True
End If
If Checkmon.Value = 1 Then
str = str & " and tenmon = '" & Trim(dcbmonhoc) & "'"
kt = True
End If
End If
If kt = True Then
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
LVitem.ListItems.Clear
If rs.EOF = False Then
While Not rs.EOF
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
276 Phạm Hùng Phú - Nguyễn Văn Thẩm
Set mitem = LVitem.ListItems.Add(, , rs!Namhoc)
mitem.SubItems(1) = rs!Ky
mitem.SubItems(2) = rs!Tenmon
mitem.SubItems(3) = rs!lanthi
mitem.SubItems(4) = Format(rs!diemktl1, "0.0")
If rs!diemktl2 = -1 Then
mitem.SubItems(5) = " "
Else
mitem.SubItems(5) = Format(rs!diemktl2, "0.0")
End If
mitem.SubItems(6) = Format(rs!diemthi, "0.0")
If rs!sodvht <= 3 Then
mitem.SubItems(7) = Format(rs!diemktl1 * rs!trongso1 + rs!diemthi *
(1 - rs!trongso1), "0.0")
Else
mitem.SubItems(7) = Format(rs!diemktl1 * rs!trongso1 + rs!diemktl2
* rs!trongso2 + rs!diemthi * (1 - rs!trongso1 - rs!trongso2), "0.0")
End If
rs.MoveNext
Wend
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông
báo"
End If
End If
End Sub
„Thủ tục Click của check box Cao đẳng chính quy
Private Sub Checkcdcq_Click()
If Checkcdcq.Value = 1 Then
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 277
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or
left(tenlop,2)='CK'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
End If
End Sub
„Thủ tục Click của check box Cao đẳng liên thông
Private Sub Checkcdlt_Click()
If Checkcdlt.Value = 1 Then
Checkcdcq.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
End If
End Sub
„Thủ tục Click của check box Đại học chính quy
Private Sub Checkdhcq_Click()
If Checkdhcq.Value = 1 Then
Checkcdlt.Value = 0
Checkcdcq.Value = 0
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
278 Phạm Hùng Phú - Nguyễn Văn Thẩm
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or
left(tenlop,2)='ĐS'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
End If
End Sub
„Thủ tục Click của check box Cao đẳng liên thông
Private Sub Checkdhlt_Click()
If Checkdhlt.Value = 1 Then
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkcdcq.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='§L' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
End If
End Sub
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 279
„Thủ tục Click của check box kỳ
Private Sub checkky_Click()
If checkky.Value = 1 Then
cbky.Enabled = True
Else
cbky.Enabled = False
cbky.Text = ""
End If
End Sub
„Thủ tục Click của check box lần thi
Private Sub Checklan_Click()
If Checklan.Value = 1 Then
txtlan.Enabled = True
Else
txtlan.Enabled = False
End If
End Sub
„Thủ tục Click của check box môn
Private Sub Checkmon_Click()
If Checkmon.Value = 1 Then
dcbmonhoc.Enabled = True
Dim name As String
name = App.Path & "\quanlydiem.mdb"
If Checkdhlt.Value = 1 Then
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from MonhocCDDH where
(mid(tenmon,1,9)'Thực hành' and mid(tenmon,1,8)'Thực tập')" & " and " & "
left(mamon,4)='DHLT' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
280 Phạm Hùng Phú - Nguyễn Văn Thẩm
dcbmonhoc.Refresh
End If
If Checkdhcq.Value = 1 Then
Admon.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from MonhocCDDH where
(mid(tenmon,1,9)'Thực hành' and mid(tenmon,1,8)'Thực tập')" & " and " & "
left(mamon,4)='DHCQ' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End If
If Checkcdlt.Value = 1 Then
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from MonhocCDDH where
(mid(tenmon,1,9)'Thực hành' and mid(tenmon,1,8)'Thực tập')" & " and " & "
left(mamon,4)='CDLT' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End If
If Checkcdcq.Value = 1 Then
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 281
Admon.RecordSource = "select * from MonhocCDDH where
(mid(tenmon,1,9)'Thực hành' and mid(tenmon,1,8)'Thực tập')" & " and " & "
left(mamon,4)='CDCQ' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End If
Else
dcbmonhoc.Enabled = False
dcbmonhoc.Text = " "
Checklan.Enabled = False
txtlan.Text = ""
End If
End Sub
„Thủ tục Click của check box năm học
Private Sub checknamhoc_Click()
If checknamhoc.Value = 1 Then
cbnamhoc.Enabled = True
checkky.Enabled = True
Else
cbnamhoc.Enabled = False
checkky.Enabled = False
cbnamhoc.Text = ""
Checklan.Enabled = False
checkky.Value = 0
Checklan.Value = 0
End If
End Sub
„Thủ tục Click của combox mã sinh viên
Private Sub dcbmahssv_Click(Area As Integer)
cdtimkiem.Enabled = True
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
282 Phạm Hùng Phú - Nguyễn Văn Thẩm
checknamhoc.Enabled = True
Checkmon.Enabled = True
End Sub
„Thủ tục Click của com box mã lớp
Private Sub Dcbmalop_Click(Area As Integer)
op_masv.Enabled = True
op_hoten.Enabled = True
Dim rs As New ADODB.Recordset
Dim str
str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
txtmalop = rs!malop
Dim rs1 As New ADODB.Recordset
Dim str1
Dim name As String
name = App.Path & "\quanlydiem.mdb"
admahssv.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
admahssv.CommandType = adCmdUnknown
admahssv.RecordSource = "select * from hoclopcddh where (Malop='" &
Trim(txtmalop) & "')"
admahssv.Refresh
dcbmahssv.DataField = "Masinhvien"
Set dcbmahssv.DataSource = admahssv
Set dcbmahssv.RowSource = admahssv
dcbmahssv.ListField = "Masinhvien"
dcbmahssv.Refresh
End Sub
„Thủ tục Click của com box môn học
Private Sub dcbmonhoc_Click(Area As Integer)
Checklan.Enabled = True
End Sub
„Thủ tục nạp form
Private Sub Form_Load()
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 283
Open_mdb
Lock_Text
End Sub
„Thủ tục hiện dữ liệu lên ListView
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim str
Dim mitem As ListItem
LVitem.ListItems.Clear
str = "select * from tracuudiemmh_CD_DH"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF = False Then
While Not rs.EOF
Set mitem = LVitem.ListItems.Add(, , rs!Namhoc)
mitem.SubItems(1) = rs!Ky
mitem.SubItems(2) = rs!Tenmon
mitem.SubItems(3) = rs!lanthi
mitem.SubItems(4) = Format(rs!diemktl1, "0.0")
If rs!diemktl2 = -1 Then
mitem.SubItems(5) = " "
Else
mitem.SubItems(5) = Format(rs!diemktl2, "0.0")
End If
mitem.SubItems(6) = Format(rs!diemthi, "0.0")
If rs!sodvht <= 3 Then
mitem.SubItems(7) = Format(rs!diemktl1 * rs!trongso1 + rs!diemthi *
(1 - rs!trongso1), "0.0")
Else
mitem.SubItems(7) = Format(rs!diemktl1 * rs!trongso1 + rs!diemktl2
* rs!trongso2 + rs!diemthi * (1 - rs!trongso1 - rs!trongso2), "0.0")
End If
rs.MoveNext
Wend
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
284 Phạm Hùng Phú - Nguyễn Văn Thẩm
End If
End Sub
„Thủ tục làm mất hiệu lực của các đối tượng
Private Sub Lock_Text()
cbky.Enabled = False
dcbmonhoc.Enabled = False
dcbmahssv.Enabled = False
cbnamhoc.Enabled = False
txthoten.Enabled = False
op_masv.Enabled = False
op_hoten.Enabled = False
checknamhoc.Enabled = False
checkky.Enabled = False
Checkmon.Enabled = False
Checklan.Enabled = False
txtlan.Enabled = False
End Sub
End Sub
„Thủ tục làm cho giá trị của các Text box thành rỗng
Private Sub Null_Text()
cbky.Text = " "
dcbmonhoc.Text = " "
dcbmahssv.Text = " "
txthoten.Text = " "
End Sub
„Thủ tục giải phóng form
Private Sub Form_Unload(Cancel As Integer)
close_mdb
End Sub
End Sub
„Thủ tục click của Option họ tên
Private Sub op_hoten_Click()
dcbmahssv.Enabled = False
txthoten.Enabled = True
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 285
cbnamhoc.Enabled = False
Checkmon.Enabled = True
End Sub
„Thủ tục click của Option mã lớp
Private Sub op_masv_Click()
dcbmahssv.Enabled = True
txthoten.Enabled = False
txthoten.Text = ""
End Sub
„Thủ tục click của Option năm học
Private Sub op_namhoc_Click()
cbnamhoc.Enabled = True
End Sub
„Thủ tục click của text box họ tên
Private Sub txthoten_Click()
cdtimkiem.Enabled = True
checknamhoc.Enabled = True
Checkmon.Enabled = True
End Sub
4) Chức năng in hồ sơ kiểm tra quá trình
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
286 Phạm Hùng Phú - Nguyễn Văn Thẩm
Thiết kế các control (đối tượng) trên form
STT Tên đối tượng Thuộc tính Giá trị
1 Check box CK, CS
Name Checkcdcq
Caption CK, CS
2 Check box CL
Name Checkcdlt
Caption CL
3 Check box ĐK, ĐS
Name Checkdhcq
Caption ĐK, ĐS
4 Check box ĐL
Name Checkdhlt
Caption ĐL
5 Combox Tên lớp Name Dcbmalop
6 Combox Năm học Name cbnamhoc
7 Combox Kỳ Name cbky
8 Combox Tên môn Name dcbmonhoc
9 Option Mẫu 1-2
Name op_m12
Caption Danh sách sinh viên kiểm tra
quá trình (Mẫu M1-2)
10 Option Mẫu 1-3
Name op_m13
Caption Biên bản chấm điểm kiểm tra
quá trình (Mẫu M1-3)
11 Command In ấn
Name cdin
Picture Icon
Mã nguồn các thủ tục
Option Explicit
Dim dkmon As String
„Thủ tục click của Combox kỳ
Private Sub cbky_Click()
dcbmonhoc.Enabled = True
Dim name As String
name = App.Path & "\quanlydiem.mdb"
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 287
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from mon_lop_ky_namhoc where
(mid(tenmon,1,9)'Thực hành' and mid(tenmon,1,8)'Thực tập" and " & dkmon
& " and ky='" & Trim(cbky) & "' and namhoc='" & Trim(cbnamhoc) & "' " & " and
malop='" & Trim(txttenlop) & "' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End Sub
„Thủ tục click của Combox năm học
Private Sub cbnamhoc_Click()
cbky.Enabled = True
End Sub
„Thủ tục click của nút in
Private Sub cd_in_Click()
Dim str As String
Dim rs As New ADODB.Recordset
str = " select * from thongtinsvcddh1 where trim(tenlop)= '" &
Trim(Dcbmalop.BoundText) & "'"
str = str & " and ky='" & Trim(cbky) & "'"
str = str & " and namhoc='" & Trim(cbnamhoc) & "'"
str = str & " and tenmon='" & Trim(dcbmonhoc) & "'"
If op_m12.Value = True Then
op_m13.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m12.Data1.RecordSource = str
rpr_m12.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
End If
End If
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
288 Phạm Hùng Phú - Nguyễn Văn Thẩm
If op_m13.Value = True Then
op_m12.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m13.Data1.RecordSource = str
rpr_m13.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
End If
End If
End Sub
„Thủ tục click của Check box Cao đẳng chính quy
Private Sub Checkcdcq_Click()
If Checkcdcq.Value = 1 Then
Dcbmalop.Enabled = True
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or
left(tenlop,2)='CK'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDCQ' "
End If
End Sub
„Thủ tục click của Check box Cao đẳng liên thông
Private Sub Checkcdlt_Click()
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 289
If Checkcdlt.Value = 1 Then
Dcbmalop.Enabled = True
Checkcdcq.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDLT' "
End If
End Sub
„Thủ tục click của Check box Đại học chính quy
Private Sub Checkdhcq_Click()
If Checkdhcq.Value = 1 Then
Dcbmalop.Enabled = True
Checkcdlt.Value = 0
Checkcdcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or
left(tenlop,2)='ĐS'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
290 Phạm Hùng Phú - Nguyễn Văn Thẩm
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHCQ' "
End If
End Sub
„Thủ tục click của Check box Đại học liên thông
Private Sub Checkdhlt_Click()
If Checkdhlt.Value = 1 Then
Dcbmalop.Enabled = True
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkcdcq.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHLT' "
End If
End Sub
„Thủ tục click của Combox mã lớp
Private Sub Dcbmalop_Click(Area As Integer)
cbnamhoc.Enabled = True
Dim rs As New ADODB.Recordset
Dim str
str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 291
txttenlop = rs!malop
End Sub
„Thủ tục click của Combox môn học
Private Sub dcbmonhoc_Click(Area As Integer)
op_m12.Enabled = True
op_m13.Enabled = True
End Sub
„Thủ tục khởi tạo form
Private Sub Form_Initialize()
cbky.Enabled = False
dcbmonhoc.Enabled = False
dcbmonhoc.Text = ""
Dcbmalop.Enabled = False
cd_in.Enabled = False
cbnamhoc.Enabled = False
End Sub
„Thủ tục nạp form
Private Sub Form_Load()
Open_mdb
End Sub
„Thủ tục giải phóng form
Private Sub Form_Unload(Cancel As Integer)
close_mdb
End Sub
„Thủ tục click của Option in mẫu 12
Private Sub op_m12_Click()
cd_in.Enabled = True
End Sub
„Thủ tục click của Option in mẫu 13
Private Sub op_m13_Click()
cd_in.Enabled = True
End Sub
5) Chức năng in phiếu báo điểm đánh giá học phần
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
292 Phạm Hùng Phú - Nguyễn Văn Thẩm
Thiết kế các control (đối tượng) trên form
STT Tên đối tượng Thuộc tính Giá trị
1 Check box CK, CS
Name Checkcdcq
Caption CK, CS
2 Check box CL
Name Checkcdlt
Caption CL
3 Check box ĐK, ĐS
Name Checkdhcq
Caption ĐK, ĐS
5 Combox Tên lớp Name Dcbmalop
6 Combox Năm học Name cbnamhoc
7 Combox Kỳ Name cbky
8 Combox Tên môn Name dcbmonhoc
9 Option Mẫu 1_12
Name op_m16
Caption Phiếu báo điểm học phần lý
thuyết
10 Option Mẫu 16
Name op_m17
Caption Phiếu báo điểm học phần thự
hành
11 Command In ấn Name Cdin
12 Check box lân 1
Name Checklan1
Caption Lân 1
13 Check box thi lại
Name Checkthilai
Caption Thi lại
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 293
Option Explicit
Dim dkmon As String
„Thủ tục click của combox kỳ
Private Sub cbky_Click()
dcbmonhoc.Enabled = True
Dim name As String
name = App.Path & "\quanlydiem.mdb"
If op_m16.Value = True Then
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from mon_lop_ky_namhoc where
(mid(tenmon,1,9)'Thùc hành' and mid(tenmon,1,8)'Thực tập')" & " and " &
dkmon & " and ky='" & Trim(cbky) & "' and namhoc='" & Trim(cbnamhoc) & "' " &
" and malop='" & Trim(txttenlop) & "' "
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End If
If op_m17.Value = True Then
Admon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
Admon.CommandType = adCmdUnknown
Admon.RecordSource = "select * from mon_lop_ky_namhoc where
(mid(tenmon,1,9)='Thực hành' or mid(tenmon,1,8)='Thực tập')" & " and " & dkmon
& " and ky='" & Trim(cbky) & "' and namhoc='" & Trim(cbnamhoc) & "' " & " and
malop='" & Trim(txttenlop) & "' "
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
294 Phạm Hùng Phú - Nguyễn Văn Thẩm
Admon.Refresh
dcbmonhoc.DataField = "tenmon"
Set dcbmonhoc.DataSource = Admon
Set dcbmonhoc.RowSource = Admon
dcbmonhoc.ListField = "tenmon"
dcbmonhoc.Refresh
End If
End Sub
„Thủ tục click của combox năm học
Private Sub cbnamhoc_Click()
cbky.Enabled = True
End Sub
„Thủ tục click của nút in
Private Sub cd_in_Click()
Dim str As String
Dim rs As New ADODB.Recordset
If Checklan1.Value = 1 Then
If op_m16.Value = True Then
str = " select * from m112a where trim(tenlop)= '" &
Trim(Dcbmalop.BoundText) & "'"
str = str & " and ky='" & Trim(cbky) & "'"
str = str & " and namhoc='" & Trim(cbnamhoc) & "'"
str = str & " and tenmon='" & Trim(dcbmonhoc) & "'"
str = str & " order by Masinhvien asc"
op_m17.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m112a.Data1.RecordSource = str
rpr_m112a.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 295
End If
End If
If op_m17.Value = True Then
str = " select * from m116al1_2 where trim(tenlop)= '" &
Trim(Dcbmalop.BoundText) & "'"
str = str & " and ky='" & Trim(cbky) & "'"
str = str & " and namhoc='" & Trim(cbnamhoc) & "'"
str = str & " and tenmon='" & Trim(dcbmonhoc) & "'"
str = str & " order by Masinhvien asc"
op_m16.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m116a2.Data1.RecordSource = str
rpr_m116a2.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
End If
End If
End If
If Checkthilai.Value = 1 Then
str = " select * from m112al2 where trim(tenlop)= '" &
Trim(Dcbmalop.BoundText) & "'"
str = str & " and ky='" & Trim(cbky) & "'"
str = str & " and namhoc='" & Trim(cbnamhoc) & "'"
str = str & " and tenmon='" & Trim(dcbmonhoc) & "'"
str = str & " order by Masinhvien asc"
If op_m16.Value = True Then
op_m17.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m112al2.Data1.RecordSource = str
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
296 Phạm Hùng Phú - Nguyễn Văn Thẩm
rpr_m112al2.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
End If
End If
If op_m17.Value = True Then
op_m16.Value = False
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
If rs.RecordCount > 1 Then
rpr_m17_TL.Data1.RecordSource = str
rpr_m17_TL.Show
Else
MsgBox "Không tìm thấy !", vbOKOnly + vbExclamation, "Thông báo"
End If
End If
End If
End Sub
„Thủ tục click của check box cao đẳng chính quy
Private Sub Checkcdcq_Click()
If Checkcdcq.Value = 1 Then
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CS' or
left(tenlop,2)='CK'"
adlop.Refresh
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 297
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDCQ' "
End If
End Sub
„Thủ tục click của check box cao đẳng liên thông
Private Sub Checkcdlt_Click()
If Checkcdlt.Value = 1 Then
'Dcbmalop.Enabled = True
Checkcdcq.Value = 0
Checkdhcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='CL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='CDLT' "
End If
End Sub
„Thủ tục click của check box đại học chính quy
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
298 Phạm Hùng Phú - Nguyễn Văn Thẩm
Private Sub Checkdhcq_Click()
If Checkdhcq.Value = 1 Then
'Dcbmalop.Enabled = True
Checkcdlt.Value = 0
Checkcdcq.Value = 0
Checkdhlt.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐK' or
left(tenlop,2)='ĐS'"
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHCQ' "
End If
End Sub
„Thủ tục click của check box đại học liên thông
Private Sub Checkdhlt_Click()
If Checkdhlt.Value = 1 Then
Checkcdlt.Value = 0
Checkdhcq.Value = 0
Checkcdcq.Value = 0
Dim name As String
name = App.Path & "\quanlydiem.mdb"
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 299
adlop.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist
Security Info=False;Data Source=" & name & ""
adlop.CommandType = adCmdUnknown
adlop.RecordSource = "select * from lop where left(tenlop,2)='ĐL' "
adlop.Refresh
Dcbmalop.DataField = "tenlop"
Set Dcbmalop.DataSource = adlop
Set Dcbmalop.RowSource = adlop
Dcbmalop.ListField = "tenlop"
Dcbmalop.Refresh
dkmon = " left(mamon,4)='DHLT' "
End If
End Sub
„Thủ tục click của check box lần 1
Private Sub Checklan1_Click()
If Checklan1.Value = 1 Then
Checkthilai.Value = 0
cd_in.Enabled = True
End If
End Sub
„Thủ tục click của check box thi lại
Private Sub Checkthilai_Click()
If Checkthilai.Value = 1 Then
Checklan1.Value = 0
cd_in.Enabled = True
End If
End Sub
„Thủ tục click của combox mã lớp
Private Sub Dcbmalop_Click(Area As Integer)
cbnamhoc.Enabled = True
Dim rs As New ADODB.Recordset
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
300 Phạm Hùng Phú - Nguyễn Văn Thẩm
Dim str
str = "select * from lop where (tenlop='" & Trim(Dcbmalop) & "')"
rs.Open str, CN, adOpenKeyset, adLockOptimistic, adCmdText
txttenlop = rs!malop
End Sub
„Thủ tục click của combox môn học
Private Sub dcbmonhoc_Click(Area As Integer)
Checklan1.Enabled = True
Checkthilai.Enabled = True
End Sub
„Thủ tục khởi tạo form
Private Sub Form_Initialize()
cbky.Enabled = False
dcbmonhoc.Enabled = False
dcbmonhoc.Text = ""
Dcbmalop.Enabled = False
cd_in.Enabled = False
Checklan1.Enabled = False
Checkthilai.Enabled = False
cbnamhoc.Enabled = False
End Sub
„Thủ tục load form
Private Sub Form_Load()
Open_mdb
End Sub
„Thủ tục giải phóng form
Private Sub Form_Unload(Cancel As Integer)
close_mdb
End Sub
„Thủ tục click của option in mẫu 1_12
Private Sub op_m16_Click()
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
Phạm Hùng Phú - Nguyễn Văn Thẩm 301
Dim name As String
name = App.Path & "\quanlydiem.mdb"
If op_m16.Value = True Then
Dcbmalop.Enabled = True
Checkthilai.Value = 0
Checklan1.Value = 0
op_m17.Value = False
Checklan1.Enabled = False
Checkthilai.Enabled = False
End If
„Thủ tục click của check box cao đẳng chính quy
End Sub
„Thủ tục click của option in mẫu 16
Private Sub op_m17_Click()
Dim name As String
name = App.Path & "\quanlydiem.mdb"
If op_m17.Value = True Then
Dcbmalop.Enabled = True
Checkthilai.Value = 0
Checklan1.Value = 0
op_m16.Value = False
Checklan1.Enabled = False
Checkthilai.Enabled = False
End If
End Sub
Bài tập Phân tích và thiết kế hệ thống thông tin quản lý
302 Phạm Hùng Phú - Nguyễn Văn Thẩm
TÀI LIỆU THAM KHẢO
[1]. Phạm Hùng Phú. Phân tích thiết kế hệ thống thông tin quản lý. Giáo trình nội
bộ. 2010.
[2]. Đinh Xuân Lâm. Phân tích thiết kế hệ thống trong lập trình. NXB thống kê.
2005.
[3]. Nguyễn Văn Ba. Phân tích thiết kế hệ thống thông tin. Nhà xuất bản Đại học
quốc gia Hà Nội. 2003.
[4]. Thạc Bình Cường. Phân tích thiết kế hệ thống thông tin. Nhà xuất bản Khoa
học và Kỹ thuật. 2002.
[5]. Jeffref D Ulman. Nguyên lý các hệ cơ sở dữ liệu. Tập 1,2. Biên dich
Trần Đức Quang. NXB Thống kê. 2002.
[6]. Ngô Trung Việt. Phân tích thiết kế tin học hệ thống trong quản lý - kinh doanh
- nghiệp vụ. Nhà xuất bản Giao thông vận tải. 2000.
DCNCC R222(AGH)
F222 = Ø
Các file đính kèm theo tài liệu này:
- bai_tap_phan_tich_va_thiet_ke_he_thong_thong_tin_quan_ly_pha.pdf