Báo cáo thực tập Xây dựng chương trình quản lý thư viện

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

 

 

 

doc95 trang | Chia sẻ: maiphuongdc | Lượt xem: 1770 | Lượt tải: 1download
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ông PHẦ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:

  • docChương trình quản lý thư viện.doc