4. Quy trỡnh hoạt động của Nhà xuất ban trường Đại học Kinh tế Quốc dõn
3.3.4 Thiết kế bỏo cỏo
a. Cỏc nguyờn tắc khi thiết kế bỏo cỏo
Bao gồm tiờu đề.
Ghi rừ ngày giờ phỏt hành.
Cú cỏc phần ghi thụng tin chung.
Thụng tin phải được thể hiện ở dạng người dựng bỡnh thường khụng được tuỳ ý sửa chữa.
Thụng tin hiển thị phải hài hoà giữa cỏc trang.
Cung cấp cỏch di chuyển giữa cỏc ụ thật sự đơn giản.
Thời gian xuất bỏo cỏo phải được kiểm soỏt.
Dưới đõy là một số nguyờn tắc thiết kế bỏo cỏo dưới dạng biểu mẫu
Vấn đề Nguyờn tắc Vớ dụ
Page size Chuẩn là (8ẵ” x 11”) và (8ẵ” x14”)
Page
Orientation
Kiểu Portrait được ưa chuộng vỡ quen thuộc, nhưng nếu cú nhiều
cột thỡ phải dựng kiểu landscape Portrait
landscape
Page Headings
Ít nhất phải chứa tiờu đề bỏo cỏo, ngày thỏng, thời gian và số trang
JAN 4, 2004 Page 4of 8 Oversubscriptions By Course
Report Legends
Là chỳ thớch về chữ viết tắt, ký hiệu, màu sắc trong bỏo cỏo, cú thể trỡnh bày ở đầu và cuối
b. Một sụ bỏo cỏo mẫu của chương trỡnh
Bỏo cỏo danh sỏch tỏc giả
REPORT LEGEND SEATS – Number of seats in classroom
LIM – Course
Kết luận và kiến nghị
Đề tài :“Xõy dựng hệ thống thụng tin quản lý quy trỡnh xuất bản tại Nhà
xuất bản trường Đại học Kinh tế Quốc dõn”, được xõy dựng trờn ngụn ngữ
lập trỡnh VisualBase 6.0 và hệ quản trị cơ sở dữ liệu Access 2003. Phần mềm đó thực hiện được cỏc chức năng cơ bản của quỏ trỡnh quản lý quy trỡnh xuất bản và quy trỡnh lưu kho của trường đại học Kinh tế quốc dõn.
Qua quỏ trỡnh nghiờn cứu đề tài em đó cú những hiểu biết sõu sắc về hoạt động tuyển sinh tại chức của trường. Đồng thời tỡm hiểu sõu hơn về nghiệp vụ phỏt triển hệ thống thụng tin quản lý cũng như nõng cao kiến thức về lập trỡnh VisualBase và hệ quản trị cơ sở dữ liệu Access 2003. Em rất hy vọng phần mềm của em cú thể được ỏp dụng vào thực tế và giỳp ớch cho việc tin học quỏ trỡnh quản lý của Nhà xuất bản trường Đại học Kinh tế Quốc dõn nơi em đang thực tập
Do thời gian và kiến thức cũn hạn chế nờn phần mềm của em vẫn cũn nhiều mặt thiếu xút. Em rất mong nhận được sự đúng gúp ý kiến của thầy cụ và cỏc bạn để đề ỏn của em được hoàn thiện hơn.
Em xin chõn thành cảm ơn những giỳp đỡ nhiệt tỡnh của thầy giỏo Ks. Bựi Thế Ngũ đó giỳp đỡ em trong quỏ trỡnh thực hiện đề tài.
Danh mục tài liệu tham khảo
1. Tự học lập trỡnh visual basic 6.0 – Nhà xuất bản văn húa thụng tin
2. TS Trương Văn Tỳ – TS Trần Thị Song Minh, Giỏo trỡnh “ Hệ thống thụng tin quản lý”
3. PGS.TS Hàn Viết Thuận, Giỏo trỡnh “Cấu trỳc dữ liệu và giải thuật” 4. Phựng Tiến Hải, Nghiờn cứu thiết kế một số phần mềm phục vụ cụng
tỏc tin học hoỏ quản lý tại trường ĐH KTQD, Bộ GDĐT trường ĐH KTQD
5. Microsoft visual basic lập trỡnh cơ sở dữ liệu 6.0 – Nhà xuất bản lao động – xó hội
Phụ lục
Một vài đoạn mó nguồn quan trọng trong quỏ trỡnh xử lý dữ liệu của phần mềm quản lý quy trỡnh xuất bản và vật tư:
Đoạn code trong giao diện xuất vật tư: Private Sub cmdAdd_Click()
If comMaCB.Text = "" Or comMaHD.Text = "" Or comMaVT = "" Or txtSL.Text = "" Then
MsgBox "Bạn phải nhập đầy đủ các thông tin", , "Thông báo" Exit Sub
End If
Dim str As String
Set rs = New ADODB.Recordset
str = "Select * From MonXuat Where MaHD='" & comMaHD.Text & "' and MaVT='" & comMaVT.Text & "'"
rs.Open str, Conn, adOpenDynamic, adLockOptimistic If rs.EOF = False Then
If MsgBox("Bạn đã xuất vặt t này rồi. Bạn muốn sửa lại ?", vbOKCancel, "Thông báo") = vbNo Then
rs.Close Exit Sub Else
Conn.Execute "Delete * From MonXuat Where MaHD='" & comMaHD.Text & "' and MaVT='" & comMaVT.Text & "'"
With rs .AddNew
.fields("MaHD").Value = comMaHD.Text .fields("MaVT").Value = comMaVT.Text
.fields("SoLuong").Value = CLng(txtSL.Text) .fields("MaCB").Value = comMaCB.Text .Update End With Call showgird End If Else With rs .AddNew .fields("MaHD").Value = comMaHD.Text .fields("MaVT").Value = comMaVT.Text .fields("SoLuong").Value = CLng(txtSL.Text) .fields("MaCB").Value = comMaCB.Text .Update End With Call showgird End If rs.Close End Sub
Private Sub cmdCapNhat_Click()
If MsgBox("Bạn muốn kết thúc việc xuất vật t cho cuốn sách này ?", vbOKCancel, "Thông báo") = vbNo Then
Exit Sub Else
Dim str As String, str1 As String, sl As Long, mavt As String Set rs = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
str = "Select * From MonXuat Where MaHD='" & comMaHD.Text & "'"
rs.Open str, Conn, adOpenDynamic, adLockOptimistic Do While rs.EOF = False
mavt = rs.fields("MaVT").Value
str1 = "Select * From KhoVT Where MaVT='" & mavt & "'" rs1.Open str1, Conn, adOpenDynamic, adLockOptimistic sl = rs1.fields("SoLuong").Value - rs.fields("SoLuong").Value If sl < 0 Then
MsgBox "Lợng vật t có mã là :'" & mavt & "' trong kho không đủ" rs.Close rs1.Close Exit Sub Else With rs1 .fields("SoLuong").Value = sl .Update End With End If rs1.Close rs.MoveNext Loop rs.Close End If 'clearAll Me
Command3.Enabled = True Call lockcontrol
End Sub
Private Sub cmdFirst_Click()
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MoveFirst Call hien Else Exit Sub End If End Sub
Private Sub hien()
comMaVT.Text = Adodc1.Recordset.fields("MaVT").Value txtSL.Text = Adodc1.Recordset.fields("SoLuong").Value 'txtDonGia.Text = Adodc1.Recordset.fields("DonGia").Value End Sub
Private Sub cmdLast_Click()
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveLast Call hien Else Exit Sub End If End Sub
comMaVT.Text = "" txtSL.Text = "" End Sub
Private Sub cmdNext_Click()
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext
Else Exit Sub End If
If Adodc1.Recordset.EOF = False Then Call hien
End If End Sub
Private Sub cmdNhap_Click() Frame2.Enabled = True comMaVT.Locked = False comMaVT.Text = "" cmdCapNhat.Enabled = True cmdNhapLai.Enabled = True End Sub
Private Sub cmdNhapLai_Click()
If MsgBox("Bạn thực sự muốn nhập lại toàn bộ vật t đã xuất cho cuốn sách này ?", vbOKCancel, "Thông báo") = vbOK Then
Exit Sub Else
Conn.Execute "Delete * from MonXuat Where MaHD='" & comMaHD.Text & "'"
End If
Call showgird End Sub
Private Sub cmdPrevious_Click()
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MovePrevious Else
Exit Sub End If
If Adodc1.Recordset.BOF = False Then Call hien
End If End Sub
Private Sub cmdThoat_Click() Unload Me
End Sub
Private Sub comMaCB_Change() Dim str As String
Set rs = New ADODB.Recordset If comMaCB.Text <> "" Then
str = "Select * from CanBo Where MaCB='" & comMaCB.Text & "'" rs.Open str, Conn
If rs.EOF = False Then
txtTenCB.Text = rs.fields("Hoten").Value End If
rs.Close End If End Sub
Private Sub comMaCB_Click() Dim str As String
Set rs = New ADODB.Recordset If comMaCB.Text <> "" Then
str = "Select * from CanBo Where MaCB='" & comMaCB.Text & "'" rs.Open str, Conn
If rs.EOF = False Then
txtTenCB.Text = rs.fields("Hoten").Value End If
rs.Close End If End Sub
Private Sub comMaHD_Change() Dim str As String
Set rs = New ADODB.Recordset
str = "Select * From MonXuat Where MaHD='" & comMaHD.Text & "'"
rs.Open str, Conn
If rs.EOF = False Then
If MsgBox("Bạn đã xuất vật t cho cuốn sách này rồi.Bạn muốn xuất thêm ?", vbOKCancel, "Thông báo") = vbNo Then
Exit Sub rs.Close End If End If rs.Close Call showgird Call Showdata comMaCB.Locked = False cmdNhap.Enabled = True End Sub
Private Sub comMaHD_Click() Dim str As String
Set rs = New ADODB.Recordset
str = "Select * From MonXuat Where MaHD='" & comMaHD.Text & "'"
rs.Open str, Conn
If rs.EOF = False Then
If MsgBox("Bạn đã xuất vật t cho cuốn sách này rồi.Bạn muốn xuất thêm ?", vbOKCancel, "Thông báo") = vbNo Then
Exit Sub rs.Close End If
End If rs.Close Call showgird Call Showdata comMaCB.Locked = False cmdNhap.Enabled = True End Sub
Private Sub Command3_Click() If comMaHD.Text = "" Then
MsgBox "Bạn phải nhập mã hợp đăng ký xuất bản trớc", , "Thông báo" Exit Sub
End If
Dim str As String, a As String a = "01"
Set rs = New ADODB.Recordset
str = "SELECT DMVT.TenVT, DMVT.LoaiVT, DMVT.DonVi, HopDong.TenSach, HopDong.LanXB, KhoSach.SoTrang, KhoSach.SoLuong, MonXuat.SoLuong"
str = str + " FROM (DMVT INNER JOIN (HopDong INNER JOIN MonXuat ON HopDong.MaHD = MonXuat.MaHD) ON DMVT.MaVT = MonXuat.MaVT) INNER JOIN KhoSach ON HopDong.MaHD = KhoSach.SoHHD"
str = str + " Where HopDong.MaHD='" & comMaHD.Text & "'" rs.Open str, Conn
If rs.EOF = True Then
Exit Sub End If
rpt1.ReportFileName = App.Path + "/Reports/XuatKho.rpt" rpt1.SQLQuery = str 'rpt1.Action = 1 'rpt1.SetTablePrivateData 0, 3, rs rpt1.Destination = crptToWindow rpt1.Action = 1 End Sub
Private Sub comMaVT_Change() Call showdataVT
End Sub
Private Sub comMaVT_Click() Call showdataVT
End Sub
Private Sub Form_Load() Command3.Enabled = False ControlXP1.SetupControlXPUni
showDataOnCombo comMaHD, "Select MaHD From HopDong Where Duyet='Yes'"
showDataOnCombo comMaCB, "Select MaCB From CanBo" showDataOnCombo comMaVT, "Select MaVT From DMVT" Call lockcontrol
Adodc1.CommandType = adCmdUnknown Frame2.Enabled = False
End Sub
Private Sub showgird()
Adodc1.RecordSource = "Select * from MonXuat Where MaHD='" & comMaHD.Text & "'"
Adodc1.Refresh End Sub
Private Sub lockcontrol() comMaVT.Locked = True comMaCB.Locked = True txtMaSach.Locked = True txtTenCB.Locked = True txtTenSach.Locked = True txtSoLuong.Locked = True txtSoTrang.Locked = True txtKho.Locked = True txtTenVT.Locked = True txtLoaiVT.Locked = True txtDonVi.Locked = True cmdCapNhat.Enabled = False cmdCapNhat.Enabled = False cmdNhapLai.Enabled = False cmdNhap.Enabled = False End Sub
Private Sub Showdata()
Dim str As String
Set rs = New ADODB.Recordset
str = "Select * from HopDong Where MaHD='" & comMaHD.Text & "'"
rs.Open str, Conn, adOpenDynamic, adLockOptimistic If rs.EOF = False Then
txtMaSach.Text = rs.fields("MaSach").Value txtTenSach.Text = rs.fields("TenSach").Value ' txtLanXB.Text = rs.fields("LanXB").Value 'txtTenTG.Text = rs.fields("HoTen").Value txtKho.Text = rs.fields("KhoIn").Value txtSoLuong.Text = rs.fields("SoLuong").Value txtSoTrang.Text = rs.fields("SoTrang").Value ' txtMaTG.Text = rs.fields("MaTG").Value End If rs.Close Else clearAll Me End If End Sub
Private Sub showdataVT() Dim str As String
If comMaVT.Text <> "" Then
str = "Select * from DMVT Where MaVT='" & comMaVT.Text & "'"
rs.Open str, Conn If rs.EOF = False Then
txtTenVT.Text = rs.fields("TenVT").Value txtLoaiVT.Text = rs.fields("LoaiVT").Value txtDonVi.Text = rs.fields("DonVi").Value Else txtTenVT.Text = "" txtLoaiVT.Text = "" txtDonVi.Text = "" End If rs.Close Else txtTenVT.Text = "" txtLoaiVT.Text = "" txtDonVi.Text = "" End If End Sub