MỤCLỤC
Lời nói đầu
ChươngI: Tổng quan về Microsoft Access
Phần I. Giới thiệu về Microsoft Access
I Các thành phần trong CSDL Access
II. Các thành phần trong cơ sở dữ liệu ACCES
Phần II: Xây dựng hệ thống CSDL
I: Table – bảng dữ liệu
II: Query – truy vấn
III: Biểu mẫu Fom
IV: Báo biểu Report
V. Macro tập lệnh
VI. Menu
VII. Lập trình VBA
Phần III. Xây dựng chương trình
I. Mục đích của đề tài
II. Tạo bảng Table
III.Tạo biểu mẫu Fom
IV. Reports
V. Macro
Chương II. Excel
A/ Phần Lý Thuyết
I. Bảng tính Excel
II. Các hàm công cụ chuẩn
III. Vẽ biểu đồ trong Excel
IV. In ấn và trình bày
B/ Phần Thực Hành
1. Khởi động Excel
2. Các bảng tính quản lý điện
Nhận xét và đánh giá và Tài liệu tham khảo
95 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1756 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Báo cáo thực tập Xây dựng chương trình quản lý thư viện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
dàng trong việc mã lệnh cũng nh quản lý các mã lệnh VBA đã viết.
4. Môi trờng cửa sổ viết lệnh: Là nơi soạn thảo các dòng lệnh VBA, mỗi cửa sổ sẽ chứa toàn bộ mã lệnh cho một đối tợng Form, Report, Module trong cửa sổ có thể có nhiều phần đợc viết lệnh. Mỗi phần có thể là nội dung của một khai báo, một chơng trình con hay một thủ tục đáp ứng điều kiện.
5. Cửa sổ Intermediate: Là nơi giúp thi hành trực tiếp một câu lệnh rất hữu dụng trong việc gỡ rối phần mềm.
6. Cấu trúc lệnh VBA
Cũng giống nh bất cứ cấu trúc lệnh ngôn ngữ nào đều thoả mãn yếu tố sau:
7. Cấu trúc lệnh VBA
Cũng giống như bất cứ cấu trúc lệnh ngôn ngữ nào đều thoả mãn yếu tố sau:
8. Có cấu trúc.
- Có từ khoá bắt đầu và từ khoá kết thúc.
- Thực hiện tuần tự, có thể lồng vào nhau.
9... Cấu trúc If…….Endif
If Then
[Else ]
End If
Nếu thoả mãn điều kiện thì thực hiện thủ tục 1 còn ngợc lại sẽ thực hiện thủ tục 2. Phần nằm trong dấu ngoặc vuông có thể có hoặc có thể không trong cấu trúc lệnh
10. Cấu trúc For…Next
- Cú pháp:
For biến chạy = to [step (n)]
(Thủ tục1)
[Exit For]
Next.
Biến chạy là kiểu dữ liệu vô hớng:
- Giá trị 1: Là kiểu dữ liệu đầu mà biến chạy có thể nhận
- Giá trị 2: Là kiểu dữ liệu cuối mà biến chạy có thể nhận
- Step (n): Là bớc chạy vòng lặp
Các dòng lệnh nằm trong dấu ngoặc vuông có thể có hoặc có thể không có trong cấu trúc lệnh.
11. Cấu trúc While…….. Wend
- Cú pháp:
While
Wend
Khi biểu thức thoả mãn sẽ thực hiện thủ tục.
12. Cấu trúc Select Case…….And Select
- Cú pháp:
Select Case
Case
Case
…
Case
[ Else Case
]
End select
* Giải thích: luôn giá trị vô hớng đếm đợc nh số nguyên, sâu ký tự, logic.
Biểu thức Cấu trúc hoạt động nh sau:
Tính giá trị biểu thức
Kiểm tra biểu thức bằng giá trị thứ i nếu đúng thì thực hiện thủ tục i và thoát ra khỏi cấu trúc bằng từ khoá End select còn ngợc lai sẽ kiểm tra biểu thức với giá trị i +1.Nếu đúng sẽ thủ tục i +1 ngợc lại sẽ thực hiện thủ tục i +2 trong phần Else Case. Sau đó sẽ thoát ra khỏi từ khoá End select
13.. Lệnh Docmd (dùng để thay đổi đối tượng)
- Cú pháp:
+ Docmd.close, ,
+ AcForm: dùng đểđóng Form
+ Acreport: dùng đểđòng Report
+ Object type: Là loại đối tượng sẽđóng
+ Acquery: Dùng đểđóng bảng truy vấn (Query)
+ Actable: Dùng đẻđóng bảng cơ sở dữ liệu (Table)
+ Object Name: Là tên đối tọng sẽđợc đóng
+ Save option: Là chỉđịnh các tuỳ chon để ghi lại cấu trúc
+ Save No: Đóng đối tượng mà không ghi lại cấu trúc
+ Save Yes: Đóng đối tượng mà ghi lại cấu trúc
+ Save Pront: Hiển thị hộp thoại nhắc nhở có ghi lại cấu trúc haykhôngPHẦN III
XÂY DỰNG CHƯƠNG TRÌNH
I. MỤCĐÍCHCHƯƠNGTRÌNHVỀTÀI
Chương trình “quản lý thư viện ”là một chương trình nhằm giúp cho con người quản lý các danh sách, giấy tờ,thư viện là nơi cung cấp mọi thông tin cho người dọc cũng như người dung, trong bất kỳ một trường học hay công ty nào cũng đòi hỏi có thư viện nơi lưu trũ mọi thông tin cũng như mọi kiến thức ta cần đến. Chương trình quản lý thư viện trên lĩnh vực công nghệ thông tin giúp cho con người rất nhiều vềđộ chính xác cao, nó ra đời làđểđáp ứng nhu cầu của con người trong quá trình cập nhật một cánh chính xác hơn, nhanh hơn.
Quản lý thư viện bao gồm nhiều lĩnh vực như các thông tin mượn trả,năm xuất bản, sách chi tiết, tác giả, thể loại, trạng thái, quyền độc giả, user…đây là những điều kiện cơ bản nhất trong một thư viện bắt buộc phải đầy đủ
* Những vẫn đề chương trình giải quyết
Trong cuộc sống của mỗi chúng ta nghành công nghệ thông tin đóng vai trò vô cùng quan trọng không thể thiếu trước đây nghành công nghệ thông tin chưa phát triển Việt Nam là nước nghèo máy tính còn xa lạ với người dân những tài liệu chủ yếu được viết tay tính toán bằng thủ công … mỗi khi cần đến tìm lại mất rất nhiều thời gian, công sức kém hiệu quả trong công việc, với ngày nay nghành công nghệ thông tin phát triển chỉ trong vài phút chúng ta đã tìm được những thứ mà trước đây có thể tìm mất vài ngày mới tìm được. Con người đã thoát khỏi lao động thủ công nâng cao hiệu qủa công việc, tiết kiệm được rất nhiều thời gian.
+ Với việc quản lý thư viện với những dữ liệu đầu vào chương trình cho phép thực hiện công việc cập nhật các nhân viên trong thư viện một cách dễ dàng.
+ việc thực hiện tra cứu cũng như các nhân viên trong một công ty một cách nhanh chóng và thuận tiện
+ Chương trình có giao diện quản lý thư viện giúp cho con người có những thao tác những công việc một cách dễ dàng độ chính xác cao.
II – TẠO BẢNG (TABLE)
Bảng là nơi chứa dữ liệu của cơ sở dữ liệu, vì vậy bảng là một nền tảng của cơ sở dữ liệu. Bên cạnh dữ liêụ Accesscon cho phép lưu chữ những thuộc tính của dữ liệu kèm theo bảng tiêu đề cột, giá trị ngầm định, định dạng hiện thị hay nhập dữ liệu…
Nghiên cứu kỹ việc thiết kế bảng cho phép người sử dụng đơn giản hoáđược nhiều công việc trong những giai đoạn kế tiếp. Nêu cấu trúc bảng hay quan hệ giữa các bảng bị thai đổi dẫn đến nhiều thay đổi khác trong ứng dụng điều đó sẽ dẫn đến thay đổi trong các ứng dụng đIều đó sẽ làm cho công việc trở nên phức tạp.
1. Màn hình thiết kế và tạo bảng như sau:
Hình 1
Trong màn hình tạo bảng của cơ sở dữ liệu ta chọn Desig view để thiết kê từng bảng như sau:
Các bảng ở chếđộ thiết kế và mở
* Bảng sách
* Bảng tác giả
* Bảng nhà xuất bản
* Bảng độc giả
* Bảng sách mượn
* Bảng quyền
* Bảng sách chi tiết
* Bảng sách mượn
* Bảng thể loại
* Bảng tra cứu
* Bảng trạng thái
* Bảng User
2. Trình bày các Query – Bảng vấn tin
Query là một công cụ khai thác và xử lý dữ liệu, nó có thểđáp ứng các nhu cầu về dữ liệu của các bảng dữ liệu thuộc cơ sở dữ liệu.
Dạng Query thường được sử dụng nhiều nhất là select Query ( Bảng tin lựa chọn). Loại Qury này, ta có thể xuất dữ liệu ngay trên bảng vấn tin hay sử dụng nó làm cơ sở cho một công việc khác.
3. Tạo Query mới
a. Từ cửa sổ Database – chọn Queri – chon New
* Query độc giả mượn
* Query độc giả mượn sách
* Query độc giả từ bàn phím
* Query ht độc giả
* Query họ tên mã sách
*Query ht nhà xuất bản
* QueryHTXB nhập bàn phím
* Query sách chi tiết
* Query HT Tác giả
*Query HT Tác giả nhập từ bàn phím
* Query Tên sách nhập từ bàn phím
*Query về sách
* Query sách mượn
* Query sách mượn nhật bàn phím
* Query TT sách theo nhà sản xuất
III: TẠOBIỂUMẪU _ FOM
- FROM là một giao diện giữa người dùng và người sử dụng và dữ liệu , cho phét người sử dụng viết chương trình đIũu khiển sách hiển thị dữ liệu trong Table / Query
Tạo Fom mới
Tại cửa sổ Database – chọn Fom – New. Xuất hiện hình 1.
Hình 1
Choose the table or query whery where the objects data comes fom: chọn nguồn dữ liệu cho Fom.
Từ cửa sổ New Fom chọn Design View chọn bảng Hình 2.
Hình 2. Cửa sổ New Fom
Các điều chỉnh thiết kế.
a.Vị tríđìêu khiển. Khi thiết kế các đièu khiển cần quan tâm đến vị trí của chúng trên Fom màn hình thiết kế Fom có dạng: Hình3
Hình 3. Màn hình thiết kế
Hình 4. Các Form tạo chính
* Fom quản lý người dùng truy cập
+ Nút chấp nhận
Private Sub cmdchapnhan_Click()
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
If IsNull(txtusename) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("luser")
rs.AddNew
rs.Fields("passwor") = txtpass
rs.Fields("usename") = txtusename
rs.Fields("maquyen") = cboquyen
rs.Update
rs.Close
db.Close
txtpass = ""
txtusename = ""
cboquyen = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom quản lý tác giả
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm "themthongtintacgia"
End Sub
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm "suathongtintacg"
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
DoCmd.OpenForm "xoatttacgia"
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom quản lý thể loại
+ Nút thêm
Private Sub cmdthem_Click()
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
If IsNull(txtmatheloai1) Or IsNull(txttentheloai1) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("theloai")
rs.AddNew
rs.Fields("matheloai") = txtmatheloai1
rs.Fields("tentheloai") = txttentheloai1
rs.Update
rs.Close
db.Close
txtmatheloai = ""
txttentheloai = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom quản lý thông tin độc giả
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm ("themttdocgia")
End Sub
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm ("suattdocgia")
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
Private Sub cmdxoa_Click()
DoCmd.OpenForm ("xoattdocgia")
End Sub
* Fom quản lý thông tin về mượn sách
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm ("suattdocgia")
End Sub
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm ("themttdocgia")
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
DoCmd.OpenForm ("xoattdocgia")
End Sub
* Fom quản lý thông tin nhà xuất bản
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm "suanhaxb"
End Sub
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm "themthongtinvenhaxb"
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
DoCmd.OpenForm "xoanhaxb"
End Sub
* Fom quản lý thông tin sách
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm "suattsach"
End Sub
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm "themttsach"
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
DoCmd.OpenForm "xoattsach"
End Sub
* Fom quản lý thông tin sách mượn
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm "suattsachmuon"
End Sub
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm "themttsachmuon"
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
DoCmd.OpenForm "xoattsachmuon"
End Sub
* Fom quản lý thông tin trạng thái sách
* Fom quản lý sách chi tiết
+ Nút sửa
Private Sub cmdsua_Click()
DoCmd.OpenForm "suattsachchitiet"
End Sub
+ Nút thêm
Private Sub cmdthem_Click()
DoCmd.OpenForm "themttsachchitiet"
End Sub
+ Nút xóa
Private Sub cmdxoa_Click()
DoCmd.OpenForm "xoattsachchitiet"
End Sub
+ Nút thoát
Private Sub thoat_Click()
DoCmd.Close
End Sub
* Fom sửa nhà xuất bản
+ Nút chấp nhận
Private Sub cmdchapnhan_Click()
Dim db As Database
Dim rs As Recordset
If IsNull(cbomanhaxb) Or IsNull(txttennhaxb) Or IsNull(txtdiachi) Or IsNull(txtsodienthoai) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select*from nhaXB where maNXB ='" & cbomanhaxb & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("tennhaxuatban") = txttennhaxuatban
rs.Fields("diachi") = txtdiachi
rs.Fields("sodienthoai") = txtsodienthoai
rs.Update
rs.Close
db.Close
MsgBox "ban ghi nay da duoc sua"
cbomanhaxb = ""
txttennhaxb = ""
txtdiachi = ""
txtsodienthoai = ""
End If
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin tác giả
+ Nút sửa
Private Sub cmdsua_Click()
Dim db As Database
Dim rs As Recordset
If IsNull(cbomatacgia) Or IsNull(txttentacgia) Or IsNull(txtdiachi) Or IsNull(txtquequan) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from tacgia where matacgia='" & cbomatacgia & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("tentacgia") = txttentacgia
rs.Fields("namsinh") = txtnamsinh
rs.Fields("quequan") = txtquequan
rs.Update
rs.Close
db.Close
MsgBox "ban ghi nay da duoc sua"
cbomatacgia = ""
txttentacgia = ""
txtnamsinh = ""
txtquequan = ""
End If
+ Nút quay về
Private Sub cmdquayve_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin độc giả
+ Nút thêm
Private Sub cmdthem_Click()
Dim rs As Recordset
Dim db As Database
If IsNull(cbomadocgia) Or IsNull(txttendocgia) Or IsNull(txtngaysinh) Or IsNull(txtnghenghiep) Or IsNull(soCMT) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from docgia where madocgia ='" & cbomadocgia & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("tendocgia") = txttendocgia
rs.Fields("ngaysinh") = txtngaysinh
rs.Fields("diachi") = txtdiachi
rs.Fields("nghenghiep") = txtnghenghiep
rs.Fields("ngayhetngay") = txtngaycapdenhetngay
rs.Update
rs.Close
MsgBox "ban nghi nay da duoc sua"
cbomadocgia = ""
txttendocgia = ""
txtngaysinh = ""
txtdiachi = ""
txtnghenghiep = ""
txtngaycapdenhetngay = ""
txtsoCMT = ""
End If
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin mượn sách
+ Nút sửa
Private Sub cmdsua_Click()
Dim db As Database
Dim rs As Recordset
If IsNull(cbomadocgia) Or IsNull(txtngaymuon) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from muon where madocgia='" & cbomadocgia & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("ngaymuon") = txtngaymuon
rs.Fields("ngaytra") = txtngaytra
rs.Update
rs.Close
db.Close
MsgBox "ban ghi nay da duoc sua"
cbomadocgia = ""
txtngaymuon = ""
txtngaytra = ""
End I
End Sub
+ Nút quay ra
Private Sub cmdquayra_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin sách
+ Nút sửa
Private Sub cmdsua_Click()
Dim db As Database
Dim rs As Recordset
If IsNull(txttensach) Then
MsgBox ("ban phai chon mot ma sach de sua")
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from sach where masach ='" & cbomasach & "' ")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("tensach") = txttensach
rs.Fields("manhaxuatban") = cbomanhaxuatban
rs.Fields("namxuatban") = txtnamxuatban
rs.Fields("matheloai") = cbomatheloai
rs.Fields("soluong") = txtsoluongsach
rs.Fields("matacgia") = cbomatacgia
rs.Update
rs.Close
db.Close
MsgBox "ban ghi nay da duoc sua"
cbomasach = ""
cbomanhaxuatban = ""
cbomatheloai = ""
txttensach = ""
cbomatacgia = ""
txtnamxuatban = ""
txtsoluongsach = ""
End If
End Sub
+ Nút quay ra
Private Sub cmdquayra_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin sách chi tiết
+ Nút sửa
Private Sub cmdsua_Click()
Dim rs As Recordset
Dim db As Database
If IsNull(cbomasach) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from sachchitiet where massach='" & cbomasach & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("masachchitiet") = txtmasachchititet
rs.Fields("matrangthai") = txtmatrangthai
rs.Update
rs.Close
MsgBox ("ban ghi nay da duoc sua")
cbomasach = ""
txtmasachchititet = ""
txtmatrangthai = ""
End If
End Sub
+ Nút thoát
Private Sub cmdra_Click()
DoCmd.Close
End Sub
* Fom sửa thông tin sách mượn
+ Nút sửa
Private Sub cmdsua_Click()
Dim db As Database
Dim rs As Recordset
If IsNull(cbomasachchitiet) Or IsNull(cbomatrangthai) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set db = CurrentDb()
Set rs = db.OpenRecordset("select* from sachmuon where masachchitiet='" & cbomasachchitiet & "'")
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Edit
rs.Fields("matrangthai") = cbomatrangthai
rs.Fields("madocgia") = cbomadocgia
rs.Update
rs.Close
db.Close
MsgBox "ban ghi nay da duoc sua"
cbomasachchitiet = ""
cbomatrangthai = ""
cbomadocgia = ""
End If
End Sub
* Fom thêm thông tin tác giả
+ Nút thêm
Private Sub cmdthem_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If IsNull(txtmatacgia) Or IsNull(txttentacgia) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("tacgia")
rs.AddNew
rs.Fields("matacgia") = txtmatacgia
rs.Fields("tentacgia") = txttentacgia
rs.Fields("namsinh") = txtnamsinh
rs.Fields("quequan") = txtquequan
rs.Update
rs.Close
db.Close
txtmatacgia = ""
txttentacgia = ""
txtnamsinh = ""
txtquequan = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
* Fom thêm thông tin nhà xuất bản
+ Nút chấp nhận
Private Sub cmdchapnhan_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If IsNull(txtmanxb) Or IsNull(txttennhaxuatban) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("nhaXB")
rs.AddNew
rs.Fields("maNXB") = txtmanhaxb
rs.Fields("tennhaxuatban") = txttenhaxuatban
rs.Fields("diachi") = txtdiachi
rs.Fields("sodienthoai") = txtsodienthoai
rs.Update
rs.Close
db.Close
txtmanxb = ""
txttennhaxuatban = ""
txtdiachi = ""
txtsodienthoai = ""
End Sub
+ Nút quay ra
Private Sub cmdquayra_Click()
DoCmd.Close
End Sub
* Fom thêm thông tin độc giả
+ Nút chấp nhân
Private Sub cmdchapnhan_Click()
Dim rs As Database
Dim db As Recordset
Set db = CurrentDb()
If IsNull(txtmadocgia) Or IsNull(txttendocgia) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("docgia")
rs.AddNew
rs.Fields("madocgia") = txtmadocgia
rs.Fields("tendocgia") = txttendocgia
rs.Fields("diachi") = txtdiachi
rs.Fields("ngaysinh") = txtngaysinh
rs.Fields("nghenghiep") = txtnghenghiep
rs.Fields("SoCMT") = txtsoCMT
rs.Fields("ngayhetngay") = txthandung
rs.Update
rs.Close
db.Close
txtmadocgia = ""
txttendocgia = ""
txtdiachi = ""
txtngaysinh = ""
txtnghenghiep = ""
txtsoCMT = ""
txthandung = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom thêm thông tin sách mượn
+ Nút thêm
Private Sub cmdthem_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If Not IsDate("txtngaymuon") Or Not IsDate("txtngaytra") Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("muon")
rs.AddNew
rs.Fields("madocgia") = cbomadocgia
rs.Fields("ngaymuon") = txtngaymuon
rs.Fields("ngaytra") = txtngaytra
rs.Update
rs.Close
db.Close
cbomadocgia = ""
txtngaymuon = ""
txtngaytra = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom thêm thông tin về sách
+ Nút thêm
Private Sub cmdthem_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If IsNull(cbomatacgia) Or IsNull(cbomatheloai) Or IsNull(txtmasach) Or IsNull(txtnamxuatban) Or IsNull(stxtsoluongsach) Or IsNull(txttensach) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("sach")
rs.AddNew
'rs.Fields("maNXB") = cbomanhaxuatban
rs.Fields("matacgia") = cbomatacgia
rs.Fields("matheloai") = cbomatheloai
rs.Fields("masach") = txtmasach
rs.Fields("namxuatban") = txtnamxuatban
rs.Fields("soluong") = txtsoluongsach
rs.Fields("tensach") = txttensach
rs.Update
rs.Close
db.Close
cbomanhaxuatban = ""
cbomatacgia = ""
cbomatheloai = ""
txtmasach = ""
txtnamxuatban = ""
txtsoluongsach = ""
txttensach = ""
End Sub
+ Nút quay lại
Private Sub cmdquayra_Click()
DoCmd.Close
* Fom thêm thông tin sách chi tiết
+ Nút thêm
Private Sub cmdthem_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If IsNull(cbomasach) Or IsNull(txtmasachchitiet) Then
MsgBox ("ban chua nhap du lieu")
Exit Sub
End If
Set rs = db.OpenRecordset("sachchitiet")
rs.AddNew
rs.Fields("masach") = cbomasach
rs.Fields("masachchitiet") = txtmasachchitiet
rs.Fields("matrangthai") = cbomatrangthai
rs.Update
rs.Close
db.Close
cbomasach = ""
cbomatrangthai = ""
txtmasachchitiet = "
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom thêm thông tin sách mượn
+ Nút thêm
Private Sub cmdthem_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
If IsNull(cbomasachchitiet) Or IsNull(cbomadocgia) Then
MsgBox "ban chua nhap du lieu"
Exit Sub
End If
Set rs = db.OpenRecordset("sachmuon")
rs.AddNew
rs.Fields("madocgia") = cbomadocgia
rs.Fields("masachchitiet") = cbomasachchitiet
rs.Fields("matrangthai") = cbomatrangthai
rs.Update
rs.Close
db.Close
cbomasachchitiet = ""
cbomadocgia = ""
cbomatrangthai = ""
End Sub
+ Nút quay ra
Private Sub cmdquayra_Click()
DoCmd.Close
End Sub
* Fom thống kê mựon sách của độc giả
* Nút tìm kiếm
Private Sub cmdtimkiem_Click()
Dim qrt As QueryDef
Dim st, dk As String
Set qrt = CurrentDb().QueryDefs("qrtmuonsach1")
st = "SELECT [sach].[masach], [sach].[tensach], [sachmuon].[masachchitiet], [sachmuon].[matrangthai], [muon].[madocgia], [muon].[ngaymuon]"
st = st & " FROM sach INNER JOIN (sachchitiet INNER JOIN ((docgia INNER JOIN muon ON [docgia].[madocgia]=[muon].[madocgia]) INNER JOIN sachmuon ON [docgia].[madocgia]=[sachmuon].[madocgia]) ON [sachchitiet].[masachchitiet]=[sachmuon].[masachchitiet]) ON [sach].[masach]=[sachchitiet].[masach]"
st = st & " WHERE ((([muon].[ngaymuon])>#" & txttungay & "# And ([muon].[ngaymuon])<#" & txtdenngay & "#))"
qrt.SQL = st
DoCmd.OpenReport "rptmuonsach1", acViewPreview
txttungay = ""
txtdenngay = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom tra cứu thông tin về sách
+ Nút tìm kiếm
Private Sub cmdtimkiem_Click()
Dim qrt As QueryDef
Dim st, dk As String
dk = "true"
Set qrt = CurrentDb().QueryDefs("tracuu")
If Not IsNull(txttheloai) Then dk = dk & " and matheloai='" & txttheloai & "'"
If Not IsNull(cbomasach) Then dk = dk & " and masach ='" & cbomasach & "'"
If Not IsNull(txttensach) Then dk = dk & " and tensach like '*" & txttensach & "*'"
If Not IsNull(cbomanhaxuatban) Then dk = dk & " and manhaxuatban ='" & cbomanhaxuatban & "'"
'If Not IsNull(cbomatacgia) Then dk = dk & " and matacgia ='" & cbomatacgia & "'"
'If IsNumeric(txtnamxuatban) Then dk = dk & " and namxuatban ='" & txtnamxuatban & "'"
'If IsNumeric(txtsoluong) Then dk = dk & " and soluong ='" & txtsoluong & "'"
st = "select *"
st = st & " from sach"
st = st & " where " & dk
qrt.SQL = st
lsttracuu.RowSource = "tracuu"
lsttracuu.Requery
txttheloai = ""
cbomasach = ""
txttensach = ""
cbomasach = ""
cbomatacgia = ""
txtnamxuatban = ""
txtsoluong = ""
cbomanhaxuatban = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom xoá thông tin nhà xuất bản
+ Nút chấp nhận
Private Sub cmdchapnhan_Click()
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("nhaXB", DB_OPEN_DYNASET)
thongbao = MsgBox("ban co thuc su muon xoa khong", vbCritical + vbYesNo)
If thongbao = vbYes Then
rs.Delete
rs.MoveNext
End If
rs.Close
cbomanhaxuatban = ""
txttennhaxuatban = ""
txtdiachi = ""
txtsodienthoai = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
* Fom xoá thông tin độc giả
+ Nút thêm
Private Sub cmdthem_Click()
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("docgia", DB_OPEN_DYNASET)
thongbao = MsgBox("ban co thuc su muon xoa khong", vbCritical + vbYesNo)
If thongbao = vbYes Then
rs.Delete
rs.MoveNext
End If
rs.Close
cbomadocgia = ""
txttendocgia = ""
txtdiachi = ""
txtngaysinh = ""
txtsoCMT = ""
txtnghenghiep = ""
txthandung = ""
End Sub
+ Nút thoát
Private Sub cmdthoat_Click()
DoCmd.Close
End Sub
*Fom xoá thông tin mượn sách
+ Nút quay lại
Private Sub cmdquayra_Click()
DoCmd.Close
End Sub
+ Nút Xoá
Private Sub cmdxoa_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("docgia", DB_OPEN_DYNASET)
thongbao = MsgBox("ban co thuc su muon xoa khong", vbCritical + vbYesNo)
If thongbao = vbYes Then
rs.Delete
rs.MoveNext
End If
rs.Close
cbomadocgia = ""
txtngaymuon = ""
txtngaytra = ""
End Sub
* Fom xoá thông tin tác giả
+ Nút quay về
Private Sub cmdquayve_Click()
DoCmd.Close
End Sub
+ Nút xoá
Private Sub cmdxoa_Click()
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("tacgia", DB_OPEN_DYNASET)
thongbao = MsgBox("ban co thuc su muon xoa khong", vbCritical + vbYesNo)
If thongbao = vbYes Then
rs.Delete
rs.MoveNext
End If
rs.Close
cbomatacgia = ""
txttentacgia = ""
txtnamsinh = ""
txtquequan = ""
IV. Reports
*Reports báo cáo về sách theo nhà xuất bản
*Reports mượn sách
*Reports mượn trả
*Reports sách mượn
*Reports thống kê.
*Reports Thống kê sách mượn theo độc giả
*Reports Thống kê tình hình sách được mượn
V. MACRO
Macro là một trong những đối tượng cơ bản của CSDL ( Database) dùng để liên kết các đối tượng CSDL làm cho CSDLtrở nên linh hoạt hơn.
Macro là tập các thao tác thường được dùng trong sử lý dữ liệu được chuyển thành các hành động và có thể xử dụng nó thay vì phảI viết một đoạn chương trình xử lý.
Macro thường được gắn với các sự kiện đối tượng CSDL. Các trường hợp dùng Macro:
Khi khởi động dữ liệu.
Khi kích hoạt nút lệnh.
Thực hiện khi kích hoạt các sự kiện trên Fom/Repot khi ra lệnh thực hiện Macro, các hành động được thực hiện từ trên xuống dưới.
1.Tạo Macro mới
Từ cửa sổ Database – Maco – C
Các file đính kèm theo tài liệu này:
- Chương trình quản lý thư viện.doc