Các form chính của chơng trình quản lý th viện

Một phần của tài liệu Xây dựng phần mềm Quản Lý Thư Viện trên ngôn ngữ VISUAL BASIC (Trang 40)

4.3.1. Form cửa sổ chính

Cửa sổ chính bao gồm các menu chức năng:

-Hệ thống -Quản lý -Tra cứu -Thống kê -Trợ giúp 4.3.2. Form Login

Trớc khi có thể làm việc đợc với chơng trình “Quản lý th viện” thì ngời sử dụng phải nhập mật khẩu và tên truy cập. Chơng trình kiểm tra xem mật khẩu đa vào có đúng không. Nếu đúng thì bạn mới có quyền làm việc với chơng trình, còn nếu sai thì bạn phải nhập lại mật khẩu, nhập mật khẩu sai 3 lần thì không còn quyền truy cập nữa, hệ thống tự động đóng lại.

4.3.3. Form quản lý độc giả

Chức năng quản lý độc giả cho phép thêm, sửa, xóa thông tin độc giả. Để in thẻ cho độc giả nào thì chọn độc giả đó rồi click “In Thẻ”, khi đó thẻ đợc in ra nh sau: (ví dụ in thẻ cho Nguyễn Xuân Trờng)

4.3.4. Form quản lý chủng loại

Form quản lý chủng loại thực hiện các công việc nh thêm, sửa, xóa các chủng loại sách nhập vào th viện. Khi muốn thực hiện công việc nào thì nhấn vào một nút có tên tơng ứng trên form.

4.3.5. Form quản lý nhà xuất bản

Tơng tự quản lý chủng loại, form quản lý nhà xuất bản thực hiện các công việc tơng ứng với các nút trên form. Cần công việc nào thì nhấn vào nút có tên tơng ứng. Form quản lý chủng loại đợc gọi từ menu “Quản lý” hoặc click chuột phải lên màn hình nền chơng trình.

4.3.6. Form quản lý tác giả.

From “quản lý tác giả giúp th viện quản lý tác giả một cách đơn giản theo nh các nút đợc thiết kế trên form. Mỗi nút là một chức năng t- ơng ứng.

4.3.7. Form quản lý sách

Form này cho phép cập nhật thông tin về độc giả. Các phím chức năng đã hiện đày đủ chức năng của form. Khi muốn hủy bỏ thao tác thì click “Reset”.

4.3.8. Form cập nhập chi tiết sách

Khi trong danh mục sách nhập đợc cập nhập, nếu th viện tiến hành cập nhập sách vào th viện thì click nút “cập nhập” trên form “Quản lý sách”, khi đó xuất hiện “cập nhập chi tiết sách”. Form này cho phép nhập những lần nhập sách về vào kho sách.

4.3.9. Form quản lý mợn trả

Khi độc giả nào muốn mợn tài liệu trong th viện. Độc giả đó có thể xem trớc phích tra cứu đợc dán tại nơi thuận tiện cho bạn đọc xem. Nếu không thì có thể tra cứu nhờ chức năng tra cứu. Bạn đọc mợn tài liệu nào thì cho biết mã tài liệu hoặc tên tài liệu cần mợn, số thẻ bạn đọc. Các

thông tin trên khi nhập vào thì click nút “Mợn”, Hệ thống đa ra form “quản lý mợn tài liệu th viện” nh sau:

Ta tiến hành xác lập thông tin mơn rồi click nút “Xác nhận mợn”, hệ thống kiểm tra thông tin có hợp lệ hay không. Nếu hợp lệ thì máy sẽ in ra một phiếu mợn cho độc giả:

4.3.10. Form tra cứu độc giả

Khi có nhu cầu tra cứu độc giả thì gọi chức năng tra cứu độc giả. Form tra cứu độc giả theo tên cho phép tìm ra những ngời có tên bạn nhập vào hoặc có tên tơng tự giống tên bạn nhập.

4.3.11. Form tra cứu tài liệu

Khi có nhu cầu tra cứu tài liệu thì gọi chức năng tra cứu tài liệu từ menu “Tra cứu”. Bạn có thể tra cứu theo một trong bốn thông tin trong bốn ô nhập liệu trên.

4.3.12. Form thống kê mợn trả

Khi có nhu cầu thống kê hồ sơ mợn trả ta gọi chức năng “Thống kê mợn trả” trong menu “Thống kê” hoặc click chuột phải trên màn hình nền của chơng trình chọn “Quản lý thống kê”. bạn có thể kết hợp cả số thẻ và mã tài liệu hoặc thống kê riêng rẽ.

4.3.13. Form thống kê hồ sơ độc giả

Để thuận lợi cho việc theo dõi độc giả của th viện, chức năng thống kê độc giả cho phép ta làm ấy một cách thuận tiện. Cần thống kê theo chí nào ta chọn rồi click “Thống Kê”. nếu có kết quả tìm đợc thì nút “In” đợc hiện ra cho phép in danh sách kết quả ra máy in.

4.3.14. Form báo cáo mợn trả tài liệu th viện

Mỗi năm th viện cần báo cáo một lần. Chọn chức năng “báo cáo m- ợn trả” trong menu “Thống kê”. Mạc định năm cần báo cáo là năm hiện tại. cần báo cáo năm nào thì nhập vào năm đó rồi click Ok, khi đó hệ thống sẽ ra danh sách báo cáo:

Chơng 5 (adsbygoogle = window.adsbygoogle || []).push({});

Nhận xét đánh giá

5.1. kết luận đánh giá và phơng hớng phát triển5.1.1. Các kết quả đạt đợc 5.1.1. Các kết quả đạt đợc

+ Hệ thống đáp ứng, hỗ trợ đựơc phần nào công việc cuả th viện, giảm bớt các chức năng hoạt động thủ công. Những công việc có thể dùng đợc máy tính tra cứu, thống kê, tính toán đã đợc hoàn thiện và áp dụng hoàn toàn vào trong quản lý tự động, vừa tăng tính hiệu quả nhanh chóng và đem lại các giá trị thông tin ít bị sai lệch.

+ Hệ thống cho phép cập nhập các thông tin mới, cho phép tự động phân loại các danh mục có của th viện. Quá trình sửa, xóa thông tin sẽ đ- ợc thực hiện theo yêu cầu của ngời dùng.

+ Hệ thống thiết kế logic nên khi có một sự thay đổi trong th viện toàn bộ các chức năng liên quan sẽ tự động điều chỉnh một cách phù hợp để duy trì tính liên tục của hệ thống.

+ Các luồng thông tin lu chuyển trong hệ thống đợc kiểm soát chặt chẽ bởi các công cụ đợc kiểm tra và tìm kiếm.

+Dữ liệu đợc thiết kế trong hệ thống đã đợc chuẩn hóa nên không gian lu giữ thông tin trong máy tính đợc tối u và có thể truy xuất dữ liệu đợc đầy đủ và thuận tiện.

+ Đối với mọi đối tợng ngời sử dụng, các thao tác thuận tiện, dễ dàng và trình bày màn hình hợp với các giao diện chuẩn nh WINDOWS.

+ Có chức năng mật khẩu nhằm phân quyền sử dụng cho các đối t- ợng ngời dùng khác nhau nh độc giả và thủ th.

5.1.2. Đánh giá

Chơng trình đợc xây dựng và thiết kế trên hệ quản trị cơ sở ACCESS và ngôn ngữ lập trình VISUAL BASIC hiện đại và đa năng. Có đợc những đặc tính, u điểm nổi bật sau:

- Trực quan dễ sử dụng.

- Đáp ứng đợc nhu cầu quản lý của ngời sử dụng, xác định rõ quyền hạn của ngời sử dụng.

- Hỗ trợ đắc lực cho ngời quản lý, hay các nhân viên trong quá trình làm việc, nhập dữ liệu đợc thực hiện một cách nhanh chóng, dễ dàng nhờ sự tự động kiểm tra dữ liệu vào.

- Việc tra cứu tài liệu đợc nhanh chóng và thuận tiện đáp ứng nhu cầu độc giả.

- Các thống kê báo cáo đợc kết xuất nhanh chóng kịp thời giúp cho việc quản lý nắm giữ các thông tin của th viện. luận văn đã phân tích, thiết kế hầu nh đầy đủ cơ sở dữ liệu của hệ thống quản lý th viện, tuy nhiên một số vấn đề vẫn cha đợc đa vào phân tích. Với sự hàn chế về thời gian cùng với kiến thức và khả năng lập trình, ch- ơng trình không tránh khỏi những thiếu sót. Cụ thể hạn chế nhận thấy của chơng trình là:

- Cha đa hệ thống quản lý mã vạch quốc tế vào để quản lý tài liệu.

- Cha giải quyết đợc hết những vấn đề nảy sinh trong quá trình quản lý.

- Chơng trình cha chạy đợc trên mạng.

5.1.3. Phơng hớng phát triển chơng trình

- Phát triển chơng trình chạy trên mạng máy tính, đây là hớng phát triển đầu tiên của chơng trình, vì trong thực tế cơ sở dữ liệu trên mạng có ý nghĩa lớn hơn nhiều trên các máy đơn lẻ.

- Từ đó cung cấp thêm chức năng tra cứu tài liệu thông tin qua web. Chức năng này cho phép độc giả tra cứu dữ liệu từ xa, sử dụng các phần mềm để truy cập vào các trang web của th viện.

- Quản lý các đơn đặt hàng và hóa đơn mua tài liệu của th viện.

- Chuẩn hóa chơng trình theo chuẩn quốc tế nhằm liên kết các trung tâm th viện để chia sẻ các nguồn lực tài nguyên của nhau.

Qua thời gian thực tập tại Th Viện Hà Nội, em đã đợc trang bị thêm nhiều kiến thức thực tế phong phú và bổ ích, đó là cơ sở cho em hoàn thành bài báo cáo của mình. Em rất mong nhận đợc sự đóng góp ý kiến của các thầy, cô giáo và bạn bè để chơng trình đợc tiếp tục hoàn thiện, đáp ứng một cách tốt nhất cho công tác Quản Lý Th Viện.

Em xin chân thành cảm ơn!

Phụ lục 1. modul quản lý độc giả

Dim Rs As DAO.Recordset Private Sub cmdInThe_Click() With frmTheBanDoc

.Label4.Caption = frmQuanLyDocGia.txtHoTen.Text .Label5.Caption = frmQuanLyDocGia.txtNgaySinh.Text .Label8.Caption = frmQuanLyDocGia.txtNgayLamThe.Text .Label9.Caption = frmQuanLyDocGia.txtGiaTriDen.Text If frmQuanLyDocGia.optDuocMuon.Value = True Then .Label10.Caption = "Thẻ Đọc+Mợn" Else .Label10.Caption = "Thẻ Đọc" End If End With frmTheBanDoc.Show frmTheBanDoc.PrintForm Unload frmTheBanDoc

MsgBox "Dã in thẻ bạn đọc", vbOKOnly + vbInformation, "Thông báo" (adsbygoogle = window.adsbygoogle || []).push({});

End Sub

Private Sub cmdMoveFirst_Click() Rs.MoveFirst

Call HienThi End Sub

Private Sub cmdMoveLast_Click() Rs.MoveLast

Call HienThi End Sub

Private Sub cmdMoveNext_Click() Rs.MoveNext

If Not Rs.EOF Then Call HienThi Else Rs.MoveLast Call HienThi End If End Sub

Private Sub cmdMovePrevious_Click() Rs.MovePrevious

If Not Rs.BOF Then Call HienThi

Else

Rs.MoveFirst Call HienThi End If

End Sub

Private Sub cmdSua_Click() On Error GoTo Loi

Rs.Edit If chbSinhVien.Value = 1 Then Rs(12).Value = True Else Rs(12).Value = False End If ' rs(0) = Me.txtSoThe.Text Rs(1) = Trim(Me.txtHoTen.Text) Rs(2) = Me.txtNgaySinh.Text Rs(3) = Me.cboGioiTinh.Text Rs(4) = Me.txtDiaChi.Text Rs(5) = Me.txtTrinhDo.Text Rs(6) = Me.txtChuyenNganh.Text Rs(7) = Me.txtHocHam.Text Rs(8) = Me.txtHocVi.Text Rs(9) = Me.txtNoiCongTac.Text Rs(10) = Me.txtNgayLamThe.Text Rs(11) = Me.txtGiaTriDen.Text If optDuocMuon.Value = True Then Rs(13).Value = True

Else

Rs(13).Value = False End If

Rs.Update

MsgBox "Dã sửa thành công", vbOKOnly + vbInformation, "Thông báo"

Call HienThi: Exit Sub Loi:

MsgBox "Không Thể sửa thông tin đợc vì thông tin nhập vào không hợp lệ!", vbOKOnly + vbInformation, "Sửa thông tin"

End Sub

Private Sub cmdTimKiem_Click()

Dim L 'Khai bao bien xem co quyet dinh tim tiep hay khong? Dim YN ' Khai bao bien hoi xem chon cach tim nao?

cmdThem.Caption = "Thêm &Mới"

Call cmdThem_Click

cmdThem.Caption = "Thêm &Mới"

YN = MsgBox("Bạn tìm theo số thẻ phải không?" & Chr(10) & "Nhấn 'No' dể tìm theo 'Họ và tên'", vbYesNo + vbQuestion +

vbDefaultButton1, "Thông báo") If YN = vbYes Then Me.txtSoThe.SetFocus cmdTimKiem.Caption = "Tìm" cmdTimKiem.Default = True Exit Sub Else Me.txtHoTen.SetFocus cmdTimKiem.Caption = "Tìm" cmdTimKiem.Default = True End If Else

cmdThem.Caption = "Thêm &Mới"

If Me.txtSoThe.Text = "" And Me.txtHoTen.Text = "" Then cmdTimKiem.Caption = "Tìm &Kiếm" (adsbygoogle = window.adsbygoogle || []).push({});

'Call cmdTimKiem_Click

cmdThem.Caption = "Thêm &Mới" Else If Me.txtSoThe.Text <> "" Then cmdTimKiem.Caption = "Tìm &Kiếm" If Rs.RecordCount = 0 Then Call HienThi Else Rs.MoveFirst

Do While Not Rs.EOF

If LCase(Rs(0)) = LCase(Trim(Me.txtSoThe.Text)) Then

Call HienThi

MsgBox "Dã tìm thấy", vbOKOnly + vbInformation, "Thông báo"

cmdTimKiem.Default = False cmdTimKiem.Caption = "Tìm &Kiếm" Exit Do End If Rs.MoveNext Loop If Rs.EOF Then

MsgBox "Không tìm thấy độc giả nào có số thẻ là : " & txtSoThe.Text, vbOKOnly + vbInformation, "Thông báo"

cmdTimKiem.Caption = "Tìm &Kiếm" Rs.MoveFirst

End If End If Else

Rs.MoveFirst

Do While Not Rs.EOF

If LCase(Rs(1)) = LCase(Trim(Me.txtHoTen.Text)) Then

Call HienThi

L = MsgBox("Dã tìm thấy. Bạn có tìm tiếp không??", vbYesNo + vbQuestion, "Thông báo")

cmdTimKiem.Caption = "Tìm &Kiếm" cmdTimKiem.Default = False If L = 7 Then Exit Do End If End If Rs.MoveNext Loop If Rs.EOF Then cmdTimKiem.Caption = "Tìm &Kiếm"

MsgBox "Không tìm thấy", vbOKOnly + vbInformation, "Thông báo" Rs.MoveFirst End If End If End If End If End Sub

Private Sub cmdTTMuonTra_Click() frmChiTietMuonTraCuaDocGia.Show End Sub

Private Sub cmdXoa_Click() Dim YN Dim KT Dim txtST If Rs.RecordCount <> 0 Then 'Dim strSQL As String Dim RsMT As Recordset

Set RsMT = db.OpenRecordset("tblMuonTra", dbOpenDynaset) txtST = Me.txtSoThe.Text

' strSQL = "select * from tblMuonTra where SoThe=txtst"

YN = MsgBox("Bạn có chắc chắn xoá bạn đọc này không? ", vbQuestion + vbYesNo, "Thông báo")

If YN = vbYes Then

If RsMT.RecordCount = 0 Then KT = True

Else

RsMT.MoveFirst

Do While Not RsMT.EOF

If RsMT(0) = txtST And RsMT(11).Value = True Then KT = True Else: KT = False End If RsMT.MoveNext Loop End If If KT = False Then

MsgBox "Bạn đọc đang mợn sách, không thể xoá", vbOKOnly + vbInformation, "Thông báo"

Else (adsbygoogle = window.adsbygoogle || []).push({});

Rs.Delete

MsgBox "Dã xoá rồi", vbOKOnly + vbInformation, "Thông báo"

Rs.MoveNext Call HienThi End If

End If

Else: MsgBox "Danh Sách Bạn Dọc Rỗng", vbOKOnly + vbInformation, "Thông báo"

End If End Sub

Private Sub Form_Load()

Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = Screen.Height * 0.1

Set Rs = db.OpenRecordset("tbldocgia", dbOpenDynaset) cboGioiTinh.AddItem "Nam" cboGioiTinh.AddItem "Nữ" optDuocMuon.Value = True Call HienThi End Sub Sub HienThi() If Rs.RecordCount = 0 Then

MsgBox "Danh sách bạn đọc rỗng", vbOKOnly + vbInformation, "Thông báo"

cmdMoveFirst.Visible = False cmdMoveLast.Visible = False cmdMovePrevious.Visible = False cmdMoveNext.Visible = False cboGioiTinh.Text = "" Me.txtSoThe.Text = "" Me.txtHoTen.Text = "" Me.txtNgaySinh.Text = "" Me.txtDiaChi.Text = "" Me.txtTrinhDo.Text = "" Me.txtChuyenNganh.Text = "" Me.txtNoiCongTac.Text = "" Me.txtNgayLamThe.Text = "" Me.txtHocHam.Text = "" Me.txtHocVi.Text = "" Me.txtGiaTriDen.Text = "" chbSinhVien.Value = 0 Else

If Rs.EOF Then Rs.MoveLast

If Rs(3) = "Nam" Or Rs(3) = "nam" Then cboGioiTinh.Text = "Nam"

ElseIf Rs(3) = "Nu" Or Rs(3) = "nu" Or Rs(3) = "Nữ" Or Rs(3) = "nữ" Then

cboGioiTinh.Text = "Nữ"

Else: cboGioiTinh.Text = "Không xác định" End If

If Rs(12).Value = True Then chbSinhVien.Value = 1 Else chbSinhVien.Value = 0 End If Me.txtSoThe.Text = Rs(0) Me.txtHoTen.Text = Rs(1) Me.txtNgaySinh.Text = Rs(2) Me.txtDiaChi.Text = Rs(4) Me.txtTrinhDo.Text = Rs(5) Me.txtChuyenNganh.Text = Rs(6) Me.txtNoiCongTac.Text = Rs(9) Me.txtNgayLamThe.Text = Rs(10) Me.txtHocHam.Text = Rs(7) Me.txtHocVi.Text = Rs(8) Me.txtGiaTriDen.Text = Rs(11) If Rs(13).Value = True Then optDuocMuon.Value = True Else

optChiDoc.Value = True End If cmdMoveFirst.Visible = True cmdMoveLast.Visible = True cmdMovePrevious.Visible = True cmdMoveNext.Visible = True End If End Sub

Private Sub txtHoTen_GotFocus()

If KiemTraTextRong(txtSoThe.Text) And Me.cmdThem.Caption = "Ghi Lại" Then

MsgBox "Bạn cha nhập số thẻ", vbOKOnly + vbInformation txtSoThe.Text = ""

txtSoThe.SetFocus Exit Sub

End If

If cmdThem.Caption = "Ghi Lại" Then If KiemTraTonTaiThe Then

MsgBox "Số thẻ đã tồn tại", vbOKOnly + vbInformation txtSoThe.Text = ""

txtSoThe.SetFocus End If

End If End Sub

Private Function KiemTraTonTaiThe() As Boolean KiemTraTonTaiThe = False

Dim RsDG8 As DAO.Recordset

Set RsDG8 = db.OpenRecordset("Select * from tbldocgia where sothe='" & txtSoThe.Text & "'") (adsbygoogle = window.adsbygoogle || []).push({});

If RsDG8.RecordCount > 0 Then KiemTraTonTaiThe = True RsDG8.Close

Set RsDG8 = Nothing End Function

2. modul quản lý sách

Dim RsSN As DAO.Recordset ' Khai bao bien de tro toi bang tblSachNhap

Dim RsCL As DAO.Recordset Dim RsNXB As DAO.Recordset

Dim RsMT As DAO.Recordset Dim YNTK

Private Sub cmdCapNhap_Click() Unload Me

frmCapNhapChiTietSach.Show End Sub

Private Sub cmdChiTietSach_Click() Unload Me

frmChiTietSach.Show End Sub

Private Sub cmdGhiSua_Click() Dim RsCL1 As DAO.Recordset Dim RsNXB1 As DAO.Recordset Dim YN

Dim strSQL As String

strSQL = "Select * from tblchungloai where machungloai='" & cboMaLoai.Text & "'"

Set RsCL1 = db.OpenRecordset(strSQL)

Set RsNXB1 = db.OpenRecordset("Select * from tblnhaxuatban where manhaxuatban='" & cboMaNXB.Text & "'")

If RsCL1.RecordCount > 0 And RsNXB1.RecordCount > 0 Then YN = MsgBox("Bạn có chắc chắn sửa không?", vbQuestion + vbYesNo + vbDefaultButton1) If YN = 6 Then RsSN.Edit RsSN(1) = Trim(txtTenSach.Text) RsSN(2) = cboMaLoai.Text RsSN(3) = cboMaTacGia.Text RsSN(4) = cboMaNXB.Text RsSN(8) = txtNgonNgu.Text RsSN(7) = txtSoTrang.Text RsSN(9) = txtGhiChu.Text RsSN.Update

MsgBox "Đã sửa rồi", vbOKOnly + vbInformation, "Thông báo" End If

Else: MsgBox "Không thể ghi lại thay đổi do: 'Mã NXB' Hay 'Mã Chủng Loại' Không Tồn Tại", vbOKOnly + vbInformation, "Thông báo" End If

RsCL1.Close

Set RsCL1 = Nothing RsNXB1.Close

Set RsNXB1 = Nothing End Sub

Private Sub cmdHuySach_Click() If txtMaSach.Text = "" Then

MsgBox "Bạn hủy mã sách nào?", vbOKOnly + vbQuestion txtMaSach.SetFocus Exit Sub End If Dim RsSN121 As DAO.Recordset Set RsSN121 = db.OpenRecordset("tblSachNhap") If RsSN121.RecordCount > 0 Then

Do While Not RsSN121.EOF

If LCase(RsSN121(0)) = LCase(Trim(txtMaSach.Text)) Then RsSN121.Close Set RsSN121 = Nothing frmHuySach.Show Exit Sub End If RsSN121.MoveNext Loop If RsSN121.EOF Then RsSN121.Close Set RsSN121 = Nothing

MsgBox "Không có mã sách " & "'" & txtMaSach.Text & "'", vbOKOnly + vbInformation txtMaSach.Text = "" txtMaSach.SetFocus Exit Sub End If End If End Sub

Private Sub cmdMovePrevious_Click() RsSN.MovePrevious

If RsSN.BOF Then RsSN.MoveFirst Call HienThi Else: Call HienThi End If

End Sub

Private Sub cmdThoat_Click() Dim YN (adsbygoogle = window.adsbygoogle || []).push({});

YN = MsgBox("Bạn có chắc chắn thoát?", vbYesNo + vbQuestion + vbDefaultButton1, "Thông báo")

If YN = 6 Then Unload Me 'frmMain.Show End If

End Sub

Private Sub cmdTimKiem_Click()

If cmdTimKiem.Caption = "Tìm &Kiếm" Then

Một phần của tài liệu Xây dựng phần mềm Quản Lý Thư Viện trên ngôn ngữ VISUAL BASIC (Trang 40)