lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản tviện
LP IKTV 4- NHÓM 5 1
I. KHẢO T, PHÂN TÍCH YÊU CU I TN
I.1 Tình nh thực tế
Hiện nay, trên thế gii ng như Việt Nam công ngh thông tin đã tr thành công nghệ
mũi nhọn, nó là ngành khoa học kỹ thut không ththiếu trong việc áp dụng vào các tổ chức,
các hoạt động xã hội như: quản lý hthống thư vin sách, kinh tế, thông tin, kinh doanh, và mọi
hoạt động trong lĩnh vực nghiên cứu
nưc ta hin nay, việc áp dụng vi nh hóa trong qun lý tại các quan, xí nghiệp, t
chức đang rất phbiến và tr nên cấp thiết, bởi ngành ngh nào ng đòi hỏi con ngưi phải x
lý khối lưng công việc khổng lồ, và nhng kiến thức, nhng suy nghĩ, nhng đào tạo chuyên
u. Một vấn đề cấp thiết đặt ra trong quản lý là làm thế nào để chuẩn hóa cách x lý dữ liệu
những trường học lớn mà trong đó việc quản lý một hthống thư viện vi hàng ngàn đầu sách
và quản lý việc mượn trsách của hàng ngàn sinh viên là vô cùng phức tạp, chính vì thế nm
chúng tôi chọn đề tài Phân tích thiết kế h thống quản lí thư viện ch.
I.2 Phân tích yêu cầu
I.2.1 Yêu cầu của nời s dng
Mỗi độc gich đưc mưn một số sách nhất định trong một khoảng thi gian nhất định.
Khi độc gi cần tra cứu tài liệu thì đòi hỏi:
- Việc truy cập dữ liệu phi được thực hiện một cách nhanh chóng, chính xác. Các thao tác phải
thuận li, đơn gin, dễ bảo trì, thđiu chnh, có tính m, có khnăng kiểm tra tính đúng
đắn của dữ liu, phát hiện và x lý lỗi, hthống phải khnăng lưu trữ.
- Giao diện gia ngưi ng và máy phải được thiết kế khoa học, thân thiện, đẹp, gọn và có
tính thống nhất vphương pháp làm việc, cách trình bày.
- Hệ thống có khnăng trợ giúp, giải đáp thắc mắc của ngưi ng khi sử dụng. Như vậy h
thống không ch đáp ứng cho người ng thông thạo vtin học mà còn đáp ng đưc vi
những người ng ít hiu biết vtin học.
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 2
- Hệ thống phải có khnăng thc hiện chế độ hội thoại ở mức độ nào đó nhằm cung cấp nhanh
và chuẩn xác các yêu cầu bất thường của nhà quản lý, đảm bảo nhanh cho người ng khai
thác tối đa các chc năng mà hthống cung cấp. I.2.2 Yêu cầu của ni quản lý:
- Giúp độc gi tiện li và tự tin hơn trong việc m kiếm, tra cứu vi nhiều chc năng bổ sung.
- Đảm bảo việc tìm kiếm là chính xác và đầy đủ, độc gi không sợ bị m sót một tài liệu nào
đó.
- Việc mượn trtài liệu tr nên dễ dàng hơn, bỏ bớt đưc các khâu viết phiếu, tra cứu th công
chậm chạp như trước kia .
- Giúp tiết kiệm đưc nhiều thi gian hơn cho cả độc gi và ngưi quản lý trong các hoạt động
mang tính th tục.
- Nâng cao tnh độ tin học của cán bộ quản lý ng như độc giả, giúp độc gi làm quen vi qui
trình mượn tài liệu t các thư viện tn thế gii.
- Giúp độc gi có th mượn được nhiều tài liệu vi nội dung phong phú hơn, do có thư vin liên
kết.
- Giúp độc gi xây dựng thói quen ch động khi tìm kiếm tư liệu.
- Giúp ngưi đọc ch động hơn thông qua hthống t đánh giá, bầu chọn của độc giả. Ngưi
đọc có thtrực tiếp tham gia vào việc đánh giá nội dung của i liu.
- Việc quản lý quá tnh mưn trsách tr nên dễ dàng hơn, người quản lý ch cần sử dụng một
máy nh kết nối vào sở dữ liệu là có thlấy ra các thông tin cần thiết. Ngoài ra ng
ththực hiện các hoạt động điều tra vnhu cầu, ý kiến độc gimột cách tiện lợi hơn.
T đó nắm bắt đưc xu hướng chung của độc giả, nâng cao hiệu qucủa thư viện.
- Từ các tiện lợi trên, độc gi (ch yếu là sinh viên và cán bộ giáo viên) sẽ xây dựng được thói
quen sử dụng thư viện, cảm thấy thích thú vi sử dụng thư vin, do đó nâng cao được trình độ
chuyên môn, năng lực nghiên cứu nói chung.
I.3 Sơ đồ phân cấp chức năng
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 3
Mô tả chức năng
- Quản lý mượn- trả: hthống cho phép quản lý việc mượn trsách của độc giả, việc độc gi
mang sách vhay đọc tại chỗ, thi gian độc gisẽ trsách.
- Quản lý tài liệu: hthống cho phép quản lý toàn bộ thông tin của tất cả sách của thư vin, cho
phép thêm, xóa, thay đổi thông tin của sách.
- Quản lý độc gi: hthống cho phép quản lý thông tin cá nhân của từng độc giả, thêm, xóa,
sửa thông tin của độc giả.
II. PN TÍCH VÀ THIT K
II.1 Xây dựng mô hình Use Case
II.1.1 Xác định tác nhân và vai trò của tác nhân
- Với bài toán quản lý thư viện, các chc năng chính của hthống quản lý thư viện đưc thực
hiện bởi th thư và bạn đọc của thư viện đó. Như vậy, chúng ta có hai tác nhân là thủ t và
bạn đọc, trong đó bạn đọc không phân biệt là sinh viên, học sinh hay giáo viên.
- Tác nhân bạn đọc, anh ta cần các chc năng liên quan đến m kiếm tài liệu, xem thông tin
nhân, đăng mượn và trả sách.
- Còn tác nhân th thư sẽ thực hiện cập nht các thông tin liên quan đến bạn đọc và các thông
tin vi liệu, thực hiện các giao dịch mượn và trả sách. Dựa vào đó, ta đã xác định được một
QL Thư Vi
n
QL
Đ
c gi
Mã
đ
c gi
Tên
Ngh
nghi
p
QL tài
li
u
Th
lo
i
NXB
c gi
Thêm
Xoá
Đ
c t
i ch
QL Mư
n/Tr
Mang v
S
ng
Th
i gian
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 4
số use case như: tìm kiếm i liu, cập nhật, cập nhật bạn đọc, cập nhật i liu, quản lý mượn
ch, quản lý trsách,xem thông tin cá nhân.
- Để cập nhật đưc thông tin, th thư phải thông qua việc đăng nhập hthống. Hay nói cách
khác, sự kiện đăng nhập hthống sẽ là điều kiện cho use case cập nhật. Vậy ta sẽ cần thêm
use case cập nhật để cập nht hthống. II.1.2 Mô hình Use Case tổng quát
Hthống quản lý thư vin của trường đại học bao gồm các đối tượng là độc gi, th thư
và sách tạp chí.
Chức năng chính của hthống là cập nhật sách,độc givà x lý mưn trả.
Các đối tượng dữ liệu qun lý: Sách, độc givà mượn trả.
Việc phân tích và thiêt kế hthống qun lý khá đơn giản nên áp dụng phân ch thiết kế
hướng cấu tc là phù hợp.
Dựa tn yêu cầu của đề bài, biểu đồ use case tổng quát sẽ được xây dựng như sau:
II.1.3 Mô hình Use Case chi tiết
Phân rã các use case mc cao: người phát triển tiến hành phân các use case tổng quát
thành các use case cụ thhơn sử dụng quan hextend”. Các use case con (mc thp) đưc la
chọn bằng cách thêm vào use case cha một chức năng cụ thnào đó và thường đưc m rộng
dựa trên cơ s sự chuyển tiếp và phân các chức năng của hthống.
Use case cập nht s được pn rã tnh cp nhật bạn đc và cp nhật tài liu.
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 5
Tiếp tục pn rã sơ đ use case cho đến khi gp use case t : Use case cập nht
bạn đọc và cập nhật i liệu đều có th tiếp tc phân thành các use case con là thêm bạn đọc,
thay đổi thông tin bạn đọc và xóa bạn đọc hay thêm tài liệu, thay đổi thông tin tài liệu và xóa
tài liệu. Các use case này đã là nút lá vì nó biểu diễn một chc năng cụ th của hthng trong
đó có tương tác giữa tác nhân th thư và hthống
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 6
Phân rã use case Quản lý mượn trsách
Use case qun lý mượn trsách được thc hiện bởi th thư và có thđưc phân rã thành
hai use case nhlà Quản lý mượn và Quản lý tr
II.2 Thiết kế cơ sở dữ liệu
A. Xác định các thực th
1. Thc th tblTAILIEU:
Cha tác thông tin chi tiết vtài liu trong thvin.
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 7
Các thuộc tính:Matailieu, Tentailieu.
2. Thc thtblTACGIA:
Cha thông tin vc gi
Các thuộc tính: THELOAI, HOTEN, NamSinh
3. Thc th tblSACH:
Cha thông tin vnhà xuất bản sách.
Các thuộc tính:MA SACH, MASOSACH, TENSACH, TACGIA,NHAXB,
NAMXB, LANXB, KEMTHEO, KHOGIAY, SOTRANG…….
4. Thc thtblMuon-Tra:
Cha các thông tin cá nhân của độc gi vviệc mượn-trả.
Các thuộc tính: MASACH, MABD, NGAYMUON, NGAYTRA, GHICHU.
5. Thc th tblBANDOC:
Dùng ghi nhận các thông tincủa độc giả.
Các thuộc tính: MABD, HOTEN, NGAYSINH, GIOITINH, DIACHI,
NGAYLAMTHE...
B. Mô tả thực th
1. Thc th tblTaiLieu (Tài liu)
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
Matailieu
Mã tài liệu
Text
10 kí tự
B
Tentailieu
Tên i liu
Text
255 kí tự
B
2. Thc th tblTacGia (Tác gi)
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
THELOAI
Thloại
Text
10 kí tự
B
HOTEN
Hn tác gi
Text
255 kí tự
B
Namsinh
Năm sinh
Date/Time
3. Thc th tblSACH (Sách)
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 8
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
MASACH
Mã sách
Text
10 kí tự
B
TENSACH
Tên sách
Text
255 kí tự
B
NHAXB
Nhà xuất bản
Text
255 kí tự
B
NAMXB
Năm xuất bản
Number
Integer
B
LANXB
Lần xuất bản
Text
255 kí tự
B
KEMTHEO
Kèm theo CD
Text
255 kí tự
B
KHOGIAY
Khgiấy
Text
255 kí tự
B
SOTRANG
Số trang
Text
255 kí tự
B
4. Thc th tblMUON-TRA (Mượn-trả)
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
MASACH
Mã ssách
Text
10 kí tự
B
MABD
Mã bạn đọc
Text
10 n tự
B
NGAYMUON
Ngày mượn
Date
255 kí tự
B
NGAYTRA
Ngày trả
Date
255 kí tự
B
GHICHU
Chú thích thêm
Text
255 kí tự
B
5. Thc th tblBANDOC (bạn đọc)
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
MABD
Mã bạn đọc
Text
255 kí tự
B
HOTEN
Hn
Text
255 kí tự
B
NGAYSINH
Ngày sinh
Date
B
GIOITINH
Gii nh
Yes/no
B
DIACHI
Đa ch
Text
255 kí tự
B
NGAYLAMTHE
Ngày làm th
Date
B
NGAYHETHANTHE
Ngày hết hạn th
Date
B
6. Thc th tbladmin
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 9
Tên thuộc nh
Din giải
Kiu d
liu
Miền giá
tr
Loại d
liu
USER
Tên ngưi ng đăng nhập
Text
255 kí tự
B
PASSWORD
Mật khẩu
Text
20 n tự
B
HOTEN
Hn
Text
255 kí tự
B
CAUHOIBIMAT
Câu hỏi mật
Text
255 kí tự
K
TRALOI
Trả lời câu hỏi mật
Text
255 kí tự
K
EMAIL
Hộp thư đin tử
Text
255 kí tự
B
Ghi chú:
Loại d liu:
B: Bắt buộc
K: Không bắt buộc Các
ràng buộc d liu
1. tblTAILIEU:
- MATAILIEU: Không để trống, không tng và không có khoảng trắng.
- TENTAILIEU: Không để trống.
2. tblTACGIA:
- THELOAI: Không để trống, không trùng và không có khoảng trắng.
- HOTEN: Không để trống.
- NAMSINH: <<năm hiện hành.
3. tblSACH:
- MASACH: Không để trống, không trùng và không có khoảng trắng - TENSACH: Không
để trống, không trùng và không có khoảng trắng - TACGIA: Không để trống.
- CHUDE: Không để trống.
- NAMXB:<= Năm hiện hành.
- NHAXB: Không để trống.
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 10
- LANXB: Không để trống.
4. tblMUON-TRA:
- MASACH: Phải tồn tại trong thc th tblSACH.
- MABD: Phải tồn tại trong thực th tblBANDOC.
- NGAYMUON: Ngày hiện hành.
- NGAYTRA:>= Ngày hiện hành.
- GHICHU: Mang v-đọc tại thư viện
5. tblBANDOC:
- MABD: Không để trống, không trùng và không có khoảng trắng.
- HOTEN: Không đưc để trống.
- NGAYSINH: << năm hin hành.
- GIOTINH: Yes=nam,No= n.
- DIACHI: Không để trống.
- NGAYLAMTHE: Ngày hiện hành.
- NGAYHETHANTHE: >= Ngày hiện hành
6. tbladmin:
- USER: Không để trống, không trùng, không khoản trắng, gồm 20 ch số
- PASSWORD: Không để trống, không khoảng trắng, gồm 20 chữ số
- HOTEN: Không để trống, không tng, không khoản trắng, gồm 255 ch số
- CAUHOIBIMAT: Theo mu
- TRALOI: Theo mu
- EMAIL: Không để trống, không khoảng trắng.
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 11
III XÂY DNG
III.1 Lựa chọn ngôn ngữ và CSDL
III.1.1 Lựa chọn ngôn ngữ
Microsoft Access là một hquản tr sở dữ liu, khai thác và quản tr cợ sở dữ liệu.
Trong h sở dữ liệu có 3 kh năng chính: định nghĩa dữ liệu, khai thác và quản trị dữ
liu.
Là một hquản trị sở dữ liệu, các khnăng của Access được mô tả:
- Lưu trữ dữ liệu trong sở dữ liệu
- Cho phép người dung sử dụng ngôn ng hỏi đáp SQL
- Có nhiều chc năng trong môi trưng đa ngưi sử dụng thông qua mật khẩu, đồng thi
chức năng gán quyền sử dụng cho mỗi cá nhân hay nhóm riêng biệt. Điều quan trọng nhất
là nó đảm bảo các ràng buộc tròn vẹn dữ liệu ngay cả khi đưc phân n trên mạng và
chế khác cho phép nhất quán khi truy cập trong môi trường đa người sử dụng.
Là một chương trình chạy tn nền windows nên giao diện rất quen thuộc, nhiều chc năng
tr giúp thiết kế đơn giản, nhanh, đẹp…..
Cho phép chia sẽ hay kết nối dữ liệu gia cácng dụng khác nhau như Word, Excel hay
phần mềm liên kết nhúng đối tượng OLE.
Chương trình không đòi hỏi cấu hình máy ln, giá thành đầu để có đưc phần mềm khá
phù hp.
III.1.2 Cơ sd liu:
- Fom login
Option Compare Database
Private Sub Form_Load()
Call grong
txtten.SetFocus
tao.Enabled = True End
Sub
Private Sub lamlai_Click()
Call grong txtten.SetFocus
End Sub
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 12
Private Sub tao_Click()
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb Set rs =
DB.OpenRecordset("tadmin")
rs.MoveFirst Do While (rs.EOF =
False)
If (rs.Fields("user") = txtten.Value) Then
MsgBox "Ten dang ky da co"
Exit Sub End
If
rs.MoveNext
Loop
rs.AddNew
If (txtpass.Value = txtpass2.Value) Then
rs.Fields("user") = txtten.Value rs.Fields("pass")
= txtpass.Value rs.Fields("hoten") =
txthoten.Value rs.Fields("cauhoibimat") =
txtbimat.Value rs.Fields("traloi") =
txttraloi.Value rs.Fields("txtemail") =
txtemail.Value rs.Update rs.Close
DB.Close
MsgBox "Da dang ky thanh cong!"
Call grong
Else
MsgBox "Ban khong the dang nhap. Kiem tra Ten dang nhap va Mat khau!",
vbInformation + vbOKOnly, "thongbao"
End If
End Sub
Private Sub grong()
txtten = Null txtpass
= Null txtpass2 =
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 13
Null txthoten = Null
txtbimat = Null
txttraloi = Null
txtemail = Null
Exit Sub
End Sub
Private Sub THOAT_Click()
DoCmd.Close
DoCmd.OpenForm ("f_login")
End Sub
- Form BANDOC
Option Compare Database Private
Sub next_Click() vetruoc.Enabled
= True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao"
Else
DoCmd.GoToRecord , , acNext
End If
End Sub
Private Sub Form_Load()
'Call grong
'CONGMS.Enabled = True
'trums.Enabled = True
HUY.Enabled = False
End Sub
Private Sub HUY_Click()
'Call grong
DoCmd.RunCommand acCmdUndo
DoCmd.CancelEvent
'CONGMS.Enabled = True
'trums.Enabled = True MASACH.SetFocus
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 14
HUY.Enabled = False
End Sub
Private Sub luu_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.RunCommand acCmdRefresh
STT = DMax("STT", "tbl_bandoc") + 1
'CONGMS.Enabled = True
'CONGMS.SetFocus
End Sub
Private Sub them_Click()
DoCmd.GoToRecord , , acNewRec
'CONGMS.SetFocus
HUY.Enabled = True
End Sub
Private Sub THOAT_Click()
DoCmd.Close
'DoCmd.OpenForm "f_main"
End Sub
Private Sub vetruoc_Click()
If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled
= False
Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled
= True
End If
End Sub
Private Sub xoa_Click()
If MsgBox("Ban co muon xoa khong ?", vbYesNo + vbQuestion, "Thong bao") =
vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.RunCommand acCmdRefresh
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 15
HUY.Enabled = False
End If
End Sub
- Form MAIN
Option Compare Database
Private Sub cmbandoc_Click()
DoCmd.OpenForm "f_bandoc"
End Sub
Private Sub cmmuontra_Click()
DoCmd.OpenForm "f_muon_tra"
End Sub
Private Sub ICONSACH_Click()
DoCmd.OpenForm ("f_sach")
End Sub
Private Sub nhaptacgia_Click()
DoCmd.OpenForm "f_tailieu_tacgia"
End Sub
Private Sub timkiem_Click()
DoCmd.OpenForm "f_timkiem"
End Sub
Private Sub THOAT_Click()
If MsgBox("Ban co that su muon thoat chuong trinh ?", vbOKCancel + vbInformation,
"Thong bao") = vbOK Then
DoCmd.Close
End If
End Sub
- Form THONGTINSACH
Option Compare Database
Dim DB As Database
Dim RC As Recordset
Private Sub Ctl__Click()
MASACH = DMax("MASACH", "tbl_SACH") + 1
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 16
End Sub
Private Sub Form_Load()
'Call grong
End Sub
Private Sub luu_Click()
Dim S As String
Set DB = CurrentDb
Set RC = DB.OpenRecordset("tbl_SACH")
If IsNull(MASACH) Then
Call grong
MASACH.SetFocus
Exit Sub
End If
RC.AddNew
RC("MASACH") = Form![f_thongtinsach]![MASACH]
RC.Update
RC.Close
Call grong
' End If
End Sub
Private Sub nhaplai_Click()
Call grong
End Sub
Private Sub THOAT_Click() DoCmd.Close
DoCmd.OpenForm "f_main"
End Sub
Private Sub grong()
'MASACH = Null
TENSACH = Null
CHUDE = Null
TACGIA = Null
NHAXB = Null
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 17
NAMXB = Null
LANXB = Null
KHOGIAY = Null
SOLUONG = Null GIA
= Null
SOTRANG = Null
THELOAI = Null
KEMTHEO = Null
'NGAYNHAP = Null MASACH.SetFocus
End Sub
- Form SACH
Option Compare Database Private
Sub next_Click() vetruoc.Enabled
= True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao"
Else
DoCmd.GoToRecord , , acNext
End If
End Sub
Private Sub Form_Load()
'Call grong
'CONGMS.Enabled = True
'trums.Enabled = True
HUY.Enabled = False
End Sub
Private Sub HUY_Click()
'Call grong
DoCmd.RunCommand acCmdUndo
DoCmd.CancelEvent
'CONGMS.Enabled = True
'trums.Enabled = True
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 18
MASACH.SetFocus
HUY.Enabled = False
End Sub
Private Sub luu_Click()
'MASOSACH = Right(MASOSACH, 4)
'MASOSACH = DMax(Right(MASOSACH, 4)) + 1
DoCmd.RunCommand acCmdSaveRecord
DoCmd.RunCommand acCmdRefresh
STT = DMax("STT", "tbl_sach") + 1
'CONGMS.Enabled = True
'CONGMS.SetFocus
End Sub
Private Sub them_Click()
DoCmd.GoToRecord , , acNewRec
TENSACH.SetFocus
'MASOSACH = Right(MASOSACH, 4)
'MASOSACH = DMax(Right(MASOSACH, 4)) + 1
'CONGMS.SetFocus
HUY.Enabled = True
End Sub
Private Sub THOAT_Click()
DoCmd.Close
DoCmd.OpenForm "f_main"
End Sub
Private Sub vetruoc_Click()
If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled
= False
Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled
= True
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 19
End If
End Sub
Private Sub xoa_Click()
If MsgBox("Ban co muon xoa khong ?", vbYesNo + vbQuestion, "Thong bao") =
vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
End If
End Sub
- Form MUON-TRA
Option Compare Database Private
Sub next_Click() vetruoc.Enabled
= True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao"
Else
DoCmd.GoToRecord , , acNext
End If
End Sub
Private Sub Form_Load()
HUY.Enabled = False
End Sub
Private Sub HUY_Click()
DoCmd.RunCommand acCmdUndo
DoCmd.CancelEvent CONGMS.Enabled
= True trums.Enabled = True
MASACH.SetFocus
HUY.Enabled = False
End Sub
Private Sub luu_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.RunCommand acCmdRefresh
lO MoARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin Quản lý thư viện
LP IKTV 4- NHÓM 5 20
STT = DMax("STT", "tbl_MUON_TRA") + 1
CONGMS.Enabled = True
CONGMS.SetFocus
End Sub
Private Sub them_Click()
DoCmd.GoToRecord , , acNewRec
CONGMS.SetFocus
HUY.Enabled = True
End Sub
Private Sub trums_Click()
MASACH = DMax("MASACH", "tbl_MUON_TRA") - 1 trums.Enabled
= False
CONGMS.Enabled = True
End Sub
Private Sub CONGMS_Click()
DoCmd.GoToRecord , , acNewRec
MASACH = DMax("MASACH", "tbl_MUON_TRA") + 1
MASACH.SetFocus CONGMS.Enabled
= False trums.Enabled = True
HUY.Enabled = True
End Sub
Private Sub THOAT_Click()
DoCmd.Close
DoCmd.OpenForm "f_main"
End Sub
Private Sub vetruoc_Click()
If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled
= False
Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled
= True

Preview text:

lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
I. KHẢO SÁT, PHÂN TÍCH YÊU CẦU BÀI TOÁN
I.1 Tình hình thực tế
Hiện nay, trên thế giới cũng như ở Việt Nam công nghệ thông tin đã trở thành công nghệ
mũi nhọn, nó là ngành khoa học kỹ thuật không thể thiếu trong việc áp dụng vào các tổ chức,
các hoạt động xã hội như: quản lý hệ thống thư viện sách, kinh tế, thông tin, kinh doanh, và mọi
hoạt động trong lĩnh vực nghiên cứu…
Ở nước ta hiện nay, việc áp dụng vi tính hóa trong quản lý tại các cơ quan, xí nghiệp, tổ
chức đang rất phổ biến và trở nên cấp thiết, bởi ngành nghề nào cũng đòi hỏi con người phải xử
lý khối lượng công việc khổng lồ, và những kiến thức, những suy nghĩ, những đào tạo chuyên
sâu. Một vấn đề cấp thiết đặt ra trong quản lý là làm thế nào để chuẩn hóa cách xử lý dữ liệu ở
những trường học lớn mà trong đó việc quản lý một hệ thống thư viện với hàng ngàn đầu sách
và quản lý việc mượn – trả sách của hàng ngàn sinh viên là vô cùng phức tạp, chính vì thế nhóm
chúng tôi chọn đề tài “Phân tích thiết kế hệ thống quản lí thư viện sách”.
I.2 Phân tích yêu cầu
I.2.1 Yêu cầu của người sử dụng
Mỗi độc giả chỉ được mượn một số sách nhất định trong một khoảng thời gian nhất định.
Khi độc giả cần tra cứu tài liệu thì đòi hỏi:
- Việc truy cập dữ liệu phải được thực hiện một cách nhanh chóng, chính xác. Các thao tác phải
thuận lợi, đơn giản, dễ bảo trì, có thể điều chỉnh, có tính mở, có khả năng kiểm tra tính đúng
đắn của dữ liệu, phát hiện và xử lý lỗi, hệ thống phải có khả năng lưu trữ.
- Giao diện giữa người dùng và máy phải được thiết kế khoa học, thân thiện, đẹp, gọn và có
tính thống nhất về phương pháp làm việc, cách trình bày.
- Hệ thống có khả năng trợ giúp, giải đáp thắc mắc của người dùng khi sử dụng. Như vậy hệ
thống không chỉ đáp ứng cho người dùng thông thạo về tin học mà còn đáp ứng được với
những người dùng ít hiểu biết về tin học. LỚP IKTV 4- NHÓM 5 1 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
- Hệ thống phải có khả năng thực hiện chế độ hội thoại ở mức độ nào đó nhằm cung cấp nhanh
và chuẩn xác các yêu cầu bất thường của nhà quản lý, đảm bảo nhanh cho người dùng khai
thác tối đa các chức năng mà hệ thống cung cấp. I.2.2 Yêu cầu của người quản lý:
- Giúp độc giả tiện lợi và tự tin hơn trong việc tìm kiếm, tra cứu với nhiều chức năng bổ sung.
- Đảm bảo việc tìm kiếm là chính xác và đầy đủ, độc giả không sợ bị tìm sót một tài liệu nào đó.
- Việc mượn trả tài liệu trở nên dễ dàng hơn, bỏ bớt được các khâu viết phiếu, tra cứu thủ công
chậm chạp như trước kia .
- Giúp tiết kiệm được nhiều thời gian hơn cho cả độc giả và người quản lý trong các hoạt động mang tính thủ tục.
- Nâng cao trình độ tin học của cán bộ quản lý cũng như độc giả, giúp độc giả làm quen với qui
trình mượn tài liệu từ các thư viện trên thế giới.
- Giúp độc giả có thể mượn được nhiều tài liệu với nội dung phong phú hơn, do có thư viện liên kết.
- Giúp độc giả xây dựng thói quen chủ động khi tìm kiếm tư liệu.
- Giúp người đọc chủ động hơn thông qua hệ thống tự đánh giá, bầu chọn của độc giả. Người
đọc có thể trực tiếp tham gia vào việc đánh giá nội dung của tài liệu.
- Việc quản lý quá trình mượn trả sách trở nên dễ dàng hơn, người quản lý chỉ cần sử dụng một
máy tính có kết nối vào cơ sở dữ liệu là có thể lấy ra các thông tin cần thiết. Ngoài ra cũng có
thể thực hiện các hoạt động điều tra về nhu cầu, ý kiến độc giả một cách tiện lợi hơn.
Từ đó nắm bắt được xu hướng chung của độc giả, nâng cao hiệu quả của thư viện.
- Từ các tiện lợi trên, độc giả (chủ yếu là sinh viên và cán bộ giáo viên) sẽ xây dựng được thói
quen sử dụng thư viện, cảm thấy thích thú với sử dụng thư viện, do đó nâng cao được trình độ
chuyên môn, năng lực nghiên cứu nói chung.
I.3 Sơ đồ phân cấp chức năng LỚP IKTV 4- NHÓM 5 2 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện QL Thư Vi ệ n QL Mư ợ n/Tr ả QL tài li ệ u QL Đ ộ c gi ả Th ể lo ạ i Đ ọ c t ạ i ch ỗ Mã đ ộ c gi ả NXB Man Tên g v ề Tác gi ả Ngh ề nghi ệ p S ố lư ợ ng Thêm Th ờ i gian Xoá Mô tả chức năng
- Quản lý mượn- trả: hệ thống cho phép quản lý việc mượn trả sách của độc giả, việc độc giả
mang sách về hay đọc tại chỗ, thời gian độc giả sẽ trả sách.
- Quản lý tài liệu: hệ thống cho phép quản lý toàn bộ thông tin của tất cả sách của thư viện, cho
phép thêm, xóa, thay đổi thông tin của sách.
- Quản lý độc giả: hệ thống cho phép quản lý thông tin cá nhân của từng độc giả, thêm, xóa,
sửa thông tin của độc giả.
II. PHÂN TÍCH VÀ THIẾT KẾ
II.1 Xây dựng mô hình Use Case
II.1.1 Xác định tác nhân và vai trò của tác nhân
- Với bài toán quản lý thư viện, các chức năng chính của hệ thống quản lý thư viện được thực
hiện bởi thủ thư và bạn đọc của thư viện đó. Như vậy, chúng ta có hai tác nhân là thủ thư
bạn đọc, trong đó bạn đọc không phân biệt là sinh viên, học sinh hay giáo viên.
- Tác nhân bạn đọc, anh ta cần các chức năng liên quan đến tìm kiếm tài liệu, xem thông tin cá
nhân, đăng ký mượn và trả sách.
- Còn tác nhân thủ thư sẽ thực hiện cập nhật các thông tin liên quan đến bạn đọc và các thông
tin về tài liệu, thực hiện các giao dịch mượn và trả sách. Dựa vào đó, ta đã xác định được một LỚP IKTV 4- NHÓM 5 3 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
số use case như: tìm kiếm tài liệu, cập nhật, cập nhật bạn đọc, cập nhật tài liệu, quản lý mượn
sách, quản lý trả sách,xem thông tin cá nhân.
- Để cập nhật được thông tin, thủ thư phải thông qua việc đăng nhập hệ thống. Hay nói cách
khác, sự kiện đăng nhập hệ thống sẽ là điều kiện cho use case cập nhật. Vậy ta sẽ cần thêm
use case cập nhật để cập nhật hệ thống. II.1.2 Mô hình Use Case tổng quát
Hệ thống quản lý thư viện của trường đại học bao gồm các đối tượng là độc giả, thủ thư và sách tạp chí.
Chức năng chính của hệ thống là cập nhật sách,độc giả và xử lý mượn trả.
Các đối tượng dữ liệu quản lý: Sách, độc giả và mượn trả.
Việc phân tích và thiêt kế hệ thống quản lý khá đơn giản nên áp dụng phân tích thiết kế
hướng cấu trúc là phù hợp.
Dựa trên yêu cầu của đề bài, biểu đồ use case tổng quát sẽ được xây dựng như sau:
II.1.3 Mô hình Use Case chi tiết
Phân rã các use case mức cao: người phát triển tiến hành phân rã các use case tổng quát
thành các use case cụ thể hơn sử dụng quan hệ “extend”. Các use case con (mức thấp) được lựa
chọn bằng cách thêm vào use case cha một chức năng cụ thể nào đó và thường được mở rộng
dựa trên cơ sở sự chuyển tiếp và phân rã các chức năng của hệ thống.
Use case cập nhật sẽ được phân rã thành cập nhật bạn đọc và cập nhật tài liệu. LỚP IKTV 4- NHÓM 5 4 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
Tiếp tục phân rã sơ đồ use case cho đến khi gặp use case ở nút lá : Use case cập nhật
bạn đọc và cập nhật tài liệu đều có thể tiếp tục phân rã thành các use case con là thêm bạn đọc,
thay đổi thông tin bạn đọc và xóa bạn đọc hay thêm tài liệu, thay đổi thông tin tài liệu và xóa
tài liệu. Các use case này đã là nút lá vì nó biểu diễn một chức năng cụ thể của hệ thống trong
đó có tương tác giữa tác nhân thủ thư và hệ thống LỚP IKTV 4- NHÓM 5 5 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
Phân rã use case Quản lý mượn trả sách
Use case quản lý mượn – trả sách được thực hiện bởi thủ thư và có thể được phân rã thành
hai use case nhỏ là Quản lý mượn và Quản lý trả
II.2 Thiết kế cơ sở dữ liệu A.
Xác định các thực thể 1.
Thực thể tblTAILIEU: 
Chứa tác thông tin chi tiết về tài liệu trong thự viện. LỚP IKTV 4- NHÓM 5 6 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
Các thuộc tính:Matailieu, Tentailieu. 2.
Thực thể tblTACGIA: 
Chứa thông tin về tác giả 
Các thuộc tính: THELOAI, HOTEN, NamSinh 3. Thực thể tblSACH: 
Chứa thông tin về nhà xuất bản sách. 
Các thuộc tính:MA SACH, MASOSACH, TENSACH, TACGIA,NHAXB,
NAMXB, LANXB, KEMTHEO, KHOGIAY, SOTRANG……. 4.
Thực thể tblMuon-Tra: 
Chứa các thông tin cá nhân của độc giả về việc mượn-trả. 
Các thuộc tính: MASACH, MABD, NGAYMUON, NGAYTRA, GHICHU. 5.
Thực thể tblBANDOC: 
Dùng ghi nhận các thông tincủa độc giả. 
Các thuộc tính: MABD, HOTEN, NGAYSINH, GIOITINH, DIACHI, NGAYLAMTHE... B. Mô tả thực thể 1.
Thực thể tblTaiLieu (Tài liệu) Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị Matailieu Mã tài liệu Text 10 kí tự B Tentailieu Tên tài liệu Text 255 kí tự B 2.
Thực thể tblTacGia (Tác giả) Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị THELOAI Thể loại Text 10 kí tự B HOTEN Họ tên tác giả Text 255 kí tự B Namsinh Năm sinh Date/Time 3.
Thực thể tblSACH (Sách) LỚP IKTV 4- NHÓM 5 7 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị MASACH Mã sách Text 10 kí tự B TENSACH Tên sách Text 255 kí tự B NHAXB Nhà xuất bản Text 255 kí tự B NAMXB Năm xuất bản Number Integer B LANXB Lần xuất bản Text 255 kí tự B KEMTHEO Kèm theo CD Text 255 kí tự B KHOGIAY Khổ giấy Text 255 kí tự B SOTRANG Số trang Text 255 kí tự B 4.
Thực thể tblMUON-TRA (Mượn-trả) Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị MASACH Mã số sách Text 10 kí tự B MABD Mã bạn đọc Text 10 nkí tự B NGAYMUON Ngày mượn Date 255 kí tự B NGAYTRA Ngày trả Date 255 kí tự B GHICHU Chú thích thêm Text 255 kí tự B 5.
Thực thể tblBANDOC (bạn đọc) Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị MABD Mã bạn đọc Text 255 kí tự B HOTEN Họ tên Text 255 kí tự B NGAYSINH Ngày sinh Date B GIOITINH Giới tính Yes/no B DIACHI Địa chỉ Text 255 kí tự B NGAYLAMTHE Ngày làm thẻ Date B
NGAYHETHANTHE Ngày hết hạn thẻ Date B 6. Thực thể tbladmin LỚP IKTV 4- NHÓM 5 8 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện Kiểu dữ
Miền giá Loại dữ Tên thuộc tính Diễn giải liệu liệu trị USER
Tên người dùng đăng nhập Text 255 kí tự B PASSWORD Mật khẩu Text 20 nkí tự B HOTEN Họ tên Text 255 kí tự B
CAUHOIBIMAT Câu hỏi bí mật Text 255 kí tự K TRALOI
Trả lời câu hỏi bí mật Text 255 kí tự K EMAIL Hộp thư điện tử Text 255 kí tự B Ghi chú: Loại dữ liệu:  B: Bắt buộc
 K: Không bắt buộc Các
ràng buộc dữ liệu 1. tblTAILIEU:
- MATAILIEU: Không để trống, không trùng và không có khoảng trắng.
- TENTAILIEU: Không để trống. 2. tblTACGIA:
- THELOAI: Không để trống, không trùng và không có khoảng trắng.
- HOTEN: Không để trống.
- NAMSINH: <3. tblSACH:
- MASACH: Không để trống, không trùng và không có khoảng trắng - TENSACH: Không
để trống, không trùng và không có khoảng trắng - TACGIA: Không để trống.
- CHUDE: Không để trống.
- NAMXB:<= Năm hiện hành.
- NHAXB: Không để trống. LỚP IKTV 4- NHÓM 5 9 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
- LANXB: Không để trống. 4. tblMUON-TRA:
- MASACH: Phải tồn tại trong thực thể tblSACH.
- MABD: Phải tồn tại trong thực thể tblBANDOC.
- NGAYMUON: Ngày hiện hành.
- NGAYTRA:>= Ngày hiện hành.
- GHICHU: Mang về-đọc tại thư viện 5. tblBANDOC:
- MABD: Không để trống, không trùng và không có khoảng trắng.
- HOTEN: Không được để trống.
- NGAYSINH: << năm hiện hành. - GIOTINH: Yes=nam,No= nữ.
- DIACHI: Không để trống.
- NGAYLAMTHE: Ngày hiện hành.
- NGAYHETHANTHE: >= Ngày hiện hành 6. tbladmin:
- USER: Không để trống, không trùng, không khoản trắng, gồm 20 chữ số
- PASSWORD: Không để trống, không khoảng trắng, gồm 20 chữ số
- HOTEN: Không để trống, không trùng, không khoản trắng, gồm 255 chữ số - CAUHOIBIMAT: Theo mẫu - TRALOI: Theo mẫu
- EMAIL: Không để trống, không khoảng trắng. LỚP IKTV 4- NHÓM 5 10 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện III XÂY DỰNG
III.1 Lựa chọn ngôn ngữ và CSDL
III.1.1 Lựa chọn ngôn ngữ
Microsoft Access là một hệ quản trị cơ sở dữ liệu, khai thác và quản trị cợ sở dữ liệu.
Trong hệ cơ sở dữ liệu có 3 khả năng chính: định nghĩa dữ liệu, khai thác và quản trị dữ liệu.
Là một hệ quản trị cơ sở dữ liệu, các khả năng của Access được mô tả:
- Lưu trữ dữ liệu trong cơ sở dữ liệu
- Cho phép người dung sử dụng ngôn ngữ hỏi đáp SQL
- Có nhiều chức năng trong môi trường đa người sử dụng thông qua mật khẩu, đồng thời có
chức năng gán quyền sử dụng cho mỗi cá nhân hay nhóm riêng biệt. Điều quan trọng nhất
là nó đảm bảo các ràng buộc tròn vẹn dữ liệu ngay cả khi được phân tán trên mạng và cơ
chế khác cho phép nhất quán khi truy cập trong môi trường đa người sử dụng.
Là một chương trình chạy trên nền windows nên giao diện rất quen thuộc, nhiều chức năng
trợ giúp thiết kế đơn giản, nhanh, đẹp…..
Cho phép chia sẽ hay kết nối dữ liệu giữa các ứng dụng khác nhau như Word, Excel hay
phần mềm liên kết nhúng đối tượng OLE.
Chương trình không đòi hỏi cấu hình máy lớn, giá thành đầu tư để có được phần mềm khá phù hợp.
III.1.2 Cơ sở dữ liệu: - Fom login Option Compare Database Private Sub Form_Load() Call grong txtten.SetFocus tao.Enabled = True End Sub Private Sub lamlai_Click() Call grong txtten.SetFocus End Sub LỚP IKTV 4- NHÓM 5 11 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện Private Sub tao_Click() Dim DB As DAO.Database Dim rs As DAO.Recordset Set DB = CurrentDb Set rs = DB.OpenRecordset("tadmin")
rs.MoveFirst Do While (rs.EOF = False)
If (rs.Fields("user") = txtten.Value) Then MsgBox "Ten dang ky da co" Exit Sub End If rs.MoveNext Loop rs.AddNew
If (txtpass.Value = txtpass2.Value) Then
rs.Fields("user") = txtten.Value rs.Fields("pass")
= txtpass.Value rs.Fields("hoten") =
txthoten.Value rs.Fields("cauhoibimat") =
txtbimat.Value rs.Fields("traloi") =
txttraloi.Value rs.Fields("txtemail") =
txtemail.Value rs.Update rs.Close DB.Close
MsgBox "Da dang ky thanh cong!" Call grong Else
MsgBox "Ban khong the dang nhap. Kiem tra Ten dang nhap va Mat khau!",
vbInformation + vbOKOnly, "thongbao" End If End Sub Private Sub grong() txtten = Null txtpass = Null txtpass2 = LỚP IKTV 4- NHÓM 5 12 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện Null txthoten = Null txtbimat = Null txttraloi = Null txtemail = Null Exit Sub End Sub Private Sub THOAT_Click() DoCmd.Close DoCmd.OpenForm ("f_login") End Sub - Form BANDOC
Option Compare Database Private
Sub next_Click() vetruoc.Enabled = True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao" Else DoCmd.GoToRecord , , acNext End If End Sub Private Sub Form_Load() 'Call grong 'CONGMS.Enabled = True 'trums.Enabled = True HUY.Enabled = False End Sub Private Sub HUY_Click() 'Call grong DoCmd.RunCommand acCmdUndo DoCmd.CancelEvent 'CONGMS.Enabled = True
'trums.Enabled = True MASACH.SetFocus LỚP IKTV 4- NHÓM 5 13 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện HUY.Enabled = False End Sub Private Sub luu_Click()
DoCmd.RunCommand acCmdSaveRecord DoCmd.RunCommand acCmdRefresh
STT = DMax("STT", "tbl_bandoc") + 1 'CONGMS.Enabled = True 'CONGMS.SetFocus End Sub Private Sub them_Click() DoCmd.GoToRecord , , acNewRec 'CONGMS.SetFocus HUY.Enabled = True End Sub Private Sub THOAT_Click() DoCmd.Close 'DoCmd.OpenForm "f_main" End Sub Private Sub vetruoc_Click() If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled = False Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled = True End If End Sub Private Sub xoa_Click()
If MsgBox("Ban co muon xoa khong ?", vbYesNo + vbQuestion, "Thong bao") = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord DoCmd.RunCommand acCmdRefresh LỚP IKTV 4- NHÓM 5 14 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện HUY.Enabled = False End If End Sub - Form MAIN Option Compare Database Private Sub cmbandoc_Click() DoCmd.OpenForm "f_bandoc" End Sub Private Sub cmmuontra_Click() DoCmd.OpenForm "f_muon_tra" End Sub Private Sub ICONSACH_Click() DoCmd.OpenForm ("f_sach") End Sub
Private Sub nhaptacgia_Click()
DoCmd.OpenForm "f_tailieu_tacgia" End Sub Private Sub timkiem_Click() DoCmd.OpenForm "f_timkiem" End Sub Private Sub THOAT_Click()
If MsgBox("Ban co that su muon thoat chuong trinh ?", vbOKCancel + vbInformation, "Thong bao") = vbOK Then DoCmd.Close End If End Sub - Form THONGTINSACH Option Compare Database Dim DB As Database Dim RC As Recordset Private Sub Ctl__Click()
MASACH = DMax("MASACH", "tbl_SACH") + 1 LỚP IKTV 4- NHÓM 5 15 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện End Sub Private Sub Form_Load() 'Call grong End Sub Private Sub luu_Click() Dim S As String Set DB = CurrentDb
Set RC = DB.OpenRecordset("tbl_SACH") If IsNull(MASACH) Then Call grong MASACH.SetFocus Exit Sub End If RC.AddNew
RC("MASACH") = Form![f_thongtinsach]![MASACH] RC.Update RC.Close Call grong ' End If End Sub Private Sub nhaplai_Click() Call grong End Sub
Private Sub THOAT_Click() DoCmd.Close DoCmd.OpenForm "f_main" End Sub Private Sub grong() 'MASACH = Null TENSACH = Null CHUDE = Null TACGIA = Null NHAXB = Null LỚP IKTV 4- NHÓM 5 16 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện NAMXB = Null LANXB = Null KHOGIAY = Null SOLUONG = Null GIA = Null SOTRANG = Null THELOAI = Null KEMTHEO = Null
'NGAYNHAP = Null MASACH.SetFocus End Sub - Form SACH
Option Compare Database Private
Sub next_Click() vetruoc.Enabled = True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao" Else DoCmd.GoToRecord , , acNext End If End Sub Private Sub Form_Load() 'Call grong 'CONGMS.Enabled = True 'trums.Enabled = True HUY.Enabled = False End Sub Private Sub HUY_Click() 'Call grong DoCmd.RunCommand acCmdUndo DoCmd.CancelEvent 'CONGMS.Enabled = True 'trums.Enabled = True LỚP IKTV 4- NHÓM 5 17 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện MASACH.SetFocus HUY.Enabled = False End Sub Private Sub luu_Click()
'MASOSACH = Right(MASOSACH, 4)
'MASOSACH = DMax(Right(MASOSACH, 4)) + 1
DoCmd.RunCommand acCmdSaveRecord DoCmd.RunCommand acCmdRefresh
STT = DMax("STT", "tbl_sach") + 1 'CONGMS.Enabled = True 'CONGMS.SetFocus End Sub Private Sub them_Click() DoCmd.GoToRecord , , acNewRec TENSACH.SetFocus
'MASOSACH = Right(MASOSACH, 4)
'MASOSACH = DMax(Right(MASOSACH, 4)) + 1 'CONGMS.SetFocus HUY.Enabled = True End Sub Private Sub THOAT_Click() DoCmd.Close DoCmd.OpenForm "f_main" End Sub Private Sub vetruoc_Click() If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled = False Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled = True LỚP IKTV 4- NHÓM 5 18 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện End If End Sub Private Sub xoa_Click()
If MsgBox("Ban co muon xoa khong ?", vbYesNo + vbQuestion, "Thong bao") = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord End If End Sub - Form MUON-TRA
Option Compare Database Private
Sub next_Click() vetruoc.Enabled = True
If CurrentRecord = RecordsetClone.RecordCount Then
MsgBox "Ban dang o mau tin cuoi !", vbOKOnly, "Thong bao" Else DoCmd.GoToRecord , , acNext End If End Sub Private Sub Form_Load() HUY.Enabled = False End Sub Private Sub HUY_Click() DoCmd.RunCommand acCmdUndo
DoCmd.CancelEvent CONGMS.Enabled = True trums.Enabled = True MASACH.SetFocus HUY.Enabled = False End Sub Private Sub luu_Click()
DoCmd.RunCommand acCmdSaveRecord DoCmd.RunCommand acCmdRefresh LỚP IKTV 4- NHÓM 5 19 lO M oARcPSD| 45467232
Phân tích và thiết kế hệ thống thông tin
Quản lý thư viện
STT = DMax("STT", "tbl_MUON_TRA") + 1 CONGMS.Enabled = True CONGMS.SetFocus End Sub Private Sub them_Click() DoCmd.GoToRecord , , acNewRec CONGMS.SetFocus HUY.Enabled = True End Sub Private Sub trums_Click()
MASACH = DMax("MASACH", "tbl_MUON_TRA") - 1 trums.Enabled = False CONGMS.Enabled = True End Sub Private Sub CONGMS_Click() DoCmd.GoToRecord , , acNewRec
MASACH = DMax("MASACH", "tbl_MUON_TRA") + 1
MASACH.SetFocus CONGMS.Enabled = False trums.Enabled = True HUY.Enabled = True End Sub Private Sub THOAT_Click() DoCmd.Close DoCmd.OpenForm "f_main" End Sub Private Sub vetruoc_Click() If CurrentRecord = 1 Then
MsgBox "Ban dang o mau tin dau", vbOKOnly, "Thong bao" vetruoc.Enabled = False Else
DoCmd.GoToRecord , , acPrevious vetruoc.Enabled = True LỚP IKTV 4- NHÓM 5 20