Tài liệu thực hành Microsoft Access 2010

pdf 59 trang huongle 3950
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu thực hành Microsoft Access 2010", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftai_lieu_thuc_hanh_microsoft_access_2010.pdf

Nội dung text: Tài liệu thực hành Microsoft Access 2010

  1. Tài liệu thực hành Microsoft Access 2010 Phần 1: Bài tập thực hành trên lớp Bài tập thực hành 01. Các thao tác cơ bản Yêu cầu: 1. Tạo một thư mục theo đường dẫn: D:\TenSV 2. Khởi động access, tạo một cơ sở dữ liệu mới tên QLSV lưu trong thư mục TenSV với các đặc tả như sau: o Chương trình chỉ quản lý sinh viên của một trung tâm hoặc một khoa. o Lớp được phân biệt bằng MaLop. o Mỗi lớp có nhiều sinh viên, các sinh viên được phân biệt nhau bằng MaSV, một sinh viên chỉ thuộc một lớp. o Một sinh viên học nhiều môn học, mỗi môn học đƣợc phân biệt bằng MaMH và mỗi môn học được học bởi nhiều sinh viên. o Mỗi sinh viên ứng với mỗi môn học được thi hai lần và ứng với mỗi lần thi thì chỉ có một kết quả duy nhất. 3. Dùng chức năng table để tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau: LOP MONHOC SINHVIEN Trang 1
  2. Tài liệu thực hành Microsoft Access 2010 KETQUA 4. Nhập liệu cho các bảng Trang 2
  3. Tài liệu thực hành Microsoft Access 2010 Trang 3
  4. Tài liệu thực hành Microsoft Access 2010 Trang 4
  5. Tài liệu thực hành Microsoft Access 2010 5. Thiết lập mối quan hệ giữa các bảng: 6. Tạo Password cho cơ sở dữ liệu QLSV. 7. Mở cửa sổ thuộc tính của cơ sở dữ liệu QLSV để xem dung lượng, sau đó thực hiện chức năng Compact and Repair Database (Tools - Database Utilities - Compact and Repaire Database), sau khi thực hiện xong xem lại dung lượng của tập tin. 8. Tạo thêm một cơ sở dữ liệu mới, rỗng trong thƣ mục TenSV, với tên SV_BACKUP. Mở cơ sở dữ liệu SV_BACKUP, dùng chức năng import để chép các bảng SinhVien, Lop trong cơ sở dữ liệu QLSV vào SV_BACKUP. 9. Mở cơ sở dữ liệu QLSV, dùng chức năng export để chép bảng KetQua từ cơ sở dữ liệu QLSV sang SV_BACKUP. 10. Mở cơ sở dữ liệu SV_BACKUP dùng chức năng link-Table để chép bảng MonHoc từ QLSV sang SV_BACKUP. 11. Mở bảng MonHoc trong SV_BACKUP nhập thêm một record mới (dữ liệu tùy ý), sau đó mở bảng MONHOC trong QLSV xem kết quả và nhận xét. 12. Dùng chức năng Filter by Selection lọc ra những sinh viên có năm sinh là 1978. 13. Dùng chức năng Filter by Form lọc ra danh sách sinh viên có điểm thi lần 1 nhỏ hơn 5 14. Dùng chức năng Filter Excluding selection để lọc ra những sinh viên không thuộc quận 3. 15. Dùng chức năng Advanced Filter lọc ra danh sách sinh viên thuộc các lớp CDTH có năm sinh >=1980 16. Dùng chức năng Advanced Filter lọc ra danh sách sinh viên ở Q3 không có số điện thoại. Trang 5
  6. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 02. Thiết kế cơ sở dữ liệu cơ bản 1. Tạo tập tin cơ sở dữ liệu với tên là HOADON.MDB trong thư mục TevSV với đặc tả như sau: Cơ sở dữ liệu HOADON quản lý việc mua bán hàng của một đơn vị kinh doanh. Việc mua bán hàng được thực hiện trên hóa đơn. Một hóa đơn chứa các thông tin về sản phẩm, tên khách hàng, tên nhân viên lập hóa đơn, ngày lập hóa đơn, ngày giao hàng . o Mỗi nhân viên bán hàng được phân biệt bởi MaNV. o Mỗi khách hàng được phân biệt bởi MaKH. Mỗi khách hàng có thể mua nhiều hoá đơn. Một hoá đơn chỉ của một khách hàng. o Mỗi hóa đơn được phân biệt bởi MaHD, một hoá đơn do một nhân viên lập, một nhân viên có thể lập nhiều hoá đơn. o Mỗi sản phẩm được phân biệt bởi MaSP. Một sản phẩm có thể được mua trên nhiều hoá đơn. Mỗi hoá đơn cũng có thể mua nhiều sản phẩm. Nhưng mỗi sản phẩm trên mỗi hóa đơn là duy nhất. Dùng chức năng table để tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau: NHANVIEN KHACHHANG Trang 6
  7. Tài liệu thực hành Microsoft Access 2010 SANPHAM Trang 7
  8. Tài liệu thực hành Microsoft Access 2010 HOADON CHITETHOADON 2. Thiết lập mối quan hệ giữa các bảng: Trang 8
  9. Tài liệu thực hành Microsoft Access 2010 3. Nhập dữ liệu cho các Table theo mẫu sau: NHANVIEN Trang 9
  10. Tài liệu thực hành Microsoft Access 2010 KHACHHANG Trang 10
  11. Tài liệu thực hành Microsoft Access 2010 SANPHAM và HOADON Trang 11
  12. Tài liệu thực hành Microsoft Access 2010 CHITIETHOADON 4.Thực hiện các thao tác trên table ở chế độ Datasheet view a) Mở Table SAN PHAM, Sắp xếp dữ liệu theo DONGIABAN tăng dần, lƣu kết quả sau khi sắp xếp và đóng lại. b) Mở Table HOA DON: Sắp xếp theo MANV tăng dần, nếu trùng MANV thì xếp theo NGAYLAPHD tăng dần. (Sắp xếp theo hai field: dùng chức năng Filter/Advanced Filter) Trang 12
  13. Tài liệu thực hành Microsoft Access 2010 5. Thực hiện thao tác lọc dữ liệu sau: a) Mở table NHANVIEN, sử dụng Filter by Selection thực hiện lọc o Các nhân viên có tên là “Hùng” o Các nhân viên có tên bắt đầu là “H” o Các nhân viên sinh vào tháng 12 b) Mở table SANPHAM, sử dụng Filter by form thực hiện lọc: o Các sản phẩm có đơn vị tính là “thùng” o Các sản phẩm có đơn giá 20 đến 50 c) Mở table KHACHHANG, sử dụng Advanced Filter/Sort thực hiện lọc: o Các Khách hàng ở “Tp. HCM” nhưng không có số điện thoại o Các khách hàng ở “Tp. HCM” hoặc “Hà Nội” d) Sao chép cấu trúc của bảng SANPHAM thành một bảng mới với tên SP_TAM e) Sao chép dữ liệu của bảng SANPHAM vào sản SP_TAM. 6. Mở table SP_TAM, dùng chức năng Edit - Find hoặc Edit - Replace để thực hiện các thao tác sau: a) Tìm những sản phẩm có đơn vị tính là “Kg” b) Tìm những sản phẩm có Tên sản phẩm bắt đầu là “B” c) Tìm và thay thế những đơn vị tính là “cái” thay thành “Chiếc”. 7. Chức năng Import, Link Table: a) Tạo cơ sở dữ liệu trống tên QLVT.MDB, sau đó dùng chức năng Import, Import các Table SanPham, HoaDon, ChiTietHD từ cơ sở dữ liệu Hoadon sang QLVT.MDB b) Dùng chức năng Link Table để tạo liên kết giữa hai Table ChiTietHoaDon có trong hai CSDL này. 8. Dùng chức năng Export: a) Dùng chức năng Export, thực hiện export Table KhachHang, Nhanvien từ CSDL HoaDon sang CSDL QLVT.MDB. b) Dùng chức năng Export để export Table KhachHang từ CSDL HoaDon thành tập tin tên DSKhachHang.XLS trong Excel. c) Dùng chức năng import để thực hiện import tập tin DSKhachHang.XLS trong excel thành một table DSKH trong access. Trang 13
  14. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 03: Truy vấn dữ liệu (tiếp theo) Dùng cơ sở dữ liệu HOADON hãy tạo các truy vấn sau: 1. Tạo query cho biết các thông tin về hoá đơn gồm các field: mã HD, tên KH, tên NV lập hoá đơn, ngày lập HD, ngày nhận hàng, sắp xếp dữ liệu theo ngày lập hóa đơn. 2. Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC: MaHD, TenNV, NgayLapHD, NgayGiaoHang. Sắp xếp dữ liệu theo NgayGiaoHang. 3. Tạo query cho biết các thông tin về hóa đơn do những nhân viên ở Q1 lập: MaHD, MaKH, TenKH, DiaChi (Caption: Địa chỉ Khách Hàng), TenNV, DiaChi (Caption: Địa chỉ Nhân Viên), NgayLapHD, NgayGiaoHang. 4. Tạo query cho xem danh sách các Khách hàng với MAKH có hai ký tự cuối của là CO. Thông tin bao gồm các field: MaKH, TenKH, DiaChi, DienThoai. 5. Danh sách các hóa đơn do nhân viên có tên Nga lập trong tháng 5. Thông tin bao gồm MaHD, NgayLapHD, NgayGiaoHang. 6. Cho xem danh sách nhân viên có năm sinh >=1975, gồm các thông tin: MaNV, HoTen, DiaChi, DienThoai. 7. Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC, FAHASA, SJC, HUNSAN bao gồm: MaHD, MaKH, TenNV, NgayLapHD, NgayGiaoHang, TenSP, SoLuong, DonGiaBan. Kết quả đƣợc sắp xếp theo MaKH và NgayGiaoHang tăng dần. 8. Tạo query cho biết các thông tin của hoá đơn có mã số 10148: MaKH, TenNV, NgayLapHD, NgayGiaoHang, TenSP, SoLuong, DonGiaBan, ThanhTien, trong đó ThanhTienUSD = SoLuong * DonGiaBan. 9. Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng: MaHD, MaKH, TenKH, TenNV, NgayLapHD, NgayGiaoHang. 10. Tạo query cho xem các hoá đơn lập trong tháng giêng và tháng hai đồng thời số lượng của mỗi mặt hàng >20, thông tin bao gồm: MaHD, MaKH, TenNV, NgayLapHD, NgayGiaoHang, ThanhTienUSD, ThanhTienVN. Trong đó o ThanhTienUSD = SoLuong * DonGiaBan, định dạng đơn vị $ o ThanhTienVN=ThanhTienUSD*18500, định dạng đơn vị tiề tệ VNĐ 11. Tạo query cho biết các thông tin của hoá đơn lập trong tháng 5 và giao hàng sau ngày 15/6/09, gồm các field: MaHD, TenKH, TenNV, NgayLapHD, NgayGiaoHang, TenSP, SoLuong, DonGiaBan, ThanhTien. 12. Tạo query cho xem thông tin của các hoá đơn có thời gian từ ngày lập hóa đơn đến ngày giao hàng dƣới 20 ngày, gồm các thông tin MaHD, TenNV, NgayLapHD, NgayGiaoHang, TenSP, SoLuong, DonGiaBan, ThanhTien. 13. Tạo query cho biết các thông tin về hoá đơn đƣợc lập trong ngày cuối cùng của bảng hóa đơn: mã HD, ngày lập hóa đơn. (HD: trong cửa sổ thiết kế query, sắp xếp Trang 14
  15. Tài liệu thực hành Microsoft Access 2010 field NgayLapHD theo chiều giảm dần, sau đó dùng chức năng top Value và nhập vào số giá trị muốn hiển thị). 14. Danh sách các sản phẩm có đơn giá bán thấp nhất. Thông tin bao gồm MaSp, TenSp, DviTinh, DonGiaBan (tương tự câu 13). Dùng cơ sở dữ liệu QLSV và thực hiện các truy vấn sau: 1. Tạo query cho xem điểm thi của các sinh viên, thông tin bao gồm: MaSV, HoTen: [HoSV]&” “&[TenSV], TenMH, DiemLan1, DiemLan2, kết quả sắp xếp theo MaSV. 2. Tạo query cho xem danh sách các sinh viên thụôc các lớp trung cấp tin học thi lần 2 gồm các field MaSV, HoTen, MaMH, TenMH, DiemLan1, DiemLan2. 3. Tạo query để xem danh sách những sinh viên thi lần 2 của các lớp cao đẳng gồm các thông tin MaSv, HoTen, TenMH, DiemLan1, DiemLan2. 4. Tạo query cho xem danh sách các sinh viên thi lần 2 không đạt, thông tin gồm các field: MaSV, HoTen, MaLop, TenMH, DiemLan1, DiemLan2. 5. Tạo query cho xem kết quả thi của sinh viên, thông tin gồm các field: MaSV, HoTen, TenMH, DiemLan1, KetQua, trong đó: field KetQua đƣợc xét như sau: nếu DiemLan1>=5 thì đạt, ngược lại thì không đạt. 6. Tạo query để xem điểm tổng kết của sinh viên gồm các thông tin MaLop, MaSV, HoTen, TenMH, DiemKQ. Trong đó DiemKQ đƣợc tính như sau: o Nếu DiemLan1>=5 thì DiemLan1 là DiemKQ o Ngược lại, nếu DiemLan2<>null thì DiemKQ là điểm cao nhất của DiemLan1 và DiemLan2. o Ngược lại nếu DiemLan2 = Null thì DiemKQ là 0. 7. Tạo query xem danh sách những sinh viên học lại gồm các thông tin: MaSV, HoTen, MaLop, TenMH, Hoclai, trong đó field Hoclai đƣợc xét nhƣ sau: Nếu DiemKQ=0 thì học lại, ngược lại thì để trống (nghĩa là nếu thi lần 1 <5 mà không thi lần 2 thì sẽ học lại môn đó. (HD: sử dụng câu 3 làm dữ liệu nguồn). Trang 15
  16. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 04. Truy vấn dữ liệu (Tiếp theo) Select Query, sử dụng các hàm cơ bản, chức năng ToTal và các hàm thống kê dữ liệu: Sum, Count, Avg, Min, Max. A. SELECT QUERY - TẠO THÊM FIELD MỚI, SỬ DỤNG CÁC HÀM IIF LỒNG NHAU. 1. Cho xem danh sách nhân viên có tuổi từ 20 đến 40, trong đó tuổi đƣợc tính =Year(Date()) – Year([Ngaysinh]) 2. Cho xem danh sách nhân viên ứng với độ tuổi. Thông tin kết quả bao gồm mã nhân viên, họ và tên, Phái, tuổi, độ tuổi. Trong đó o Họ và tên là được ghép bởi HoNv và TenNv o Độ tuổi: dựa vào tuổi nếu tuổi =50: Cao niên. 3. Cho xem danh sách nhân viên ở độ tuổi là Cao niên (dữ liệu nguồn là truy vấn câu 2) 4. Cho xem danh sách 3 nhân viên lớn tuổi nhất, thông tin gồm: MaNV, HoTen, GioiTinh, Tuoi (dữ liệu nguồn là truy vấn câu 2). 5. Tạo query tính tiền trả trƣớc của khách hàng, thông tin gồm: MaHD, MaKH,TenSP, DonGiaBan, Songay, Thanhtien, TienTraTruoc, Conlai. Trong đó: o Songay = NgayGiaoHang – NgayLapHD. o ThanhTien = SoLuong*DonGiaBan. o TienTraTruoc: Nếu SoNgay <=20 thì trả trƣớc 20% của thành tiền, nếu 20<SoNgay<=30 thì trả trước 30% của thành tiền, các trường hợp còn lại trả trước 50% của thành tiền. o Conlai=ThanhTien-TienTraTruoc. 6. Tạo query tính tiền cho từng sản phẩm trong từng hóa đơn thông tin bao gồm: MaHD, NgayLapHD, TenSP, Soluong, DonGiaBan, ThanhTienUSD, ThanhTienVN. Trong đó: ThanhTienUSD =SoLuong*DonGiaBan (định dạng $) ThanhTienVN = ThanhTienUSD * Tỉ giá (định dạng VNĐ) với Tỉ giá được tính như sau : o 18780 nếu hóa đơn được lập vào 4 tháng đầu của năm 09. o 18200 nếu hóa đơn được lập vào 4 tháng kế của năm 09. o 18500 cho các hóa đơn sau đó. 7. Tạo query thực trả cho từng sản phẩm trong từng hóa đơn, thông tin bao gồm: MaHD, NgayLapHD, TenSP, SoLuong, DonGiaBan, ThanhTien, ThucTra. Khoa Khoa học và Kỹ thuật máy tính Bài tập Access 2010 Trang 16
  17. Tài liệu thực hành Microsoft Access 2010 Trong đó:  ThanhTien = SoLuong*DonGiaBan.  ThucTra = ThanhTien+TienThuongPhat. Trong đó TienThuongPhat đựợc tính như sau: o Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng dưới 20 ngày thì giảm giá 3 đồng cho một ngày trước mốc thời hạn (20 ngày). o Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng trong khoảng từ 20 đến 40 ngày thì không tính thưởng phạt. o Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng trên 40 ngày thì phạt 3 đồng cho một ngày vượt quá mốc thời hạn (40 ngày). B. SELECT QUERY – DÙNG CHỨC NĂNG TOTAL Sử dụng cơ sở dữ liệu HOADON để thực hiện các truy vấn sau đây: 1) Tạo query cho xem tổng số lƣợng các sản phẩm đã bán. Thông tin bao gồm MaSP, TenSP, DonviTinh, TongSoLuong. Trong đó TongSoLuong là sum của Soluong, kết nhóm theo Masp, TenSP, DonviTinh. 2) Tạo query tính tổng tiền của từng hóa đơn của từng khách hàng. Thông tin bao gồm MaKH, TenKH, MaHD, TongTienHD (Tổng tiền của từng hóa đơn). Trong đó: TongTienHD = Sum(SoLuong * DonGiaBan), kết nhóm theo MaKH, TenKH và MaHD. 3) Tính tổng số hoá đơn và tổng tiền của từng khách hàng. Thông tin gồm MaKH, TenKH, TongSoHD, TongTienKH (Tổng tiền của từng khách hàng), kết nhóm theo MaKH, TenKH.Trong đó TongsoHD = Count([MaHD]). TongTienKH=sum([TongTienHD]) Với TongTienHD = Sum(SoLuong * DonGiaBan). Hướng dẫn: Lấy truy vấn ở câu 2 làm dữ liệu nguồn. 4) Cho biết mỗi nhân viên đã lập được bao nhiêu hóa đơn, tổng tiền là bao nhiêu trong quý 1 và quý 2. Thông tin gồm MaNV, HoTenNV, TongSoHD, TongTien. Nhóm theo MaNV, HoTenNV. Hướng dẫn: o Tạo một SubQuery gồm các field: MaNV, HoTeNV, MaHD, TongTienHD, với TongTienHD = Sum(SoLuong * DonGiaBan), kết nhóm theo MaNV, HoTeNV và MaHD. o Tạo query chính lấy SubQuery làm dữ liệu nguồn, gồm các field: MaNV, HoTenNV, TongSoHD, TongTien. Nhóm theo MaNV, HoTenNV. Trong đó: Quý :Dùng hàm DatePart(“Q”,[NgaylapHD]). Trang 17
  18. Tài liệu thực hành Microsoft Access 2010 TongSoHD=Count([MaHD]) . TongTien=Sum([TongTienHD]). 5) Tạo query tính tổng số hóa đơn, tổng số lượng và tổng tiền của từng sản phẩm, thông tin bao gồm: MaSP, TenSP, TongSoHD, TongSL, TongTien, kết nhóm theo MaSP, TenSP. Trong đó: TongSoHD=Count([MaHD]) TongSL=Sum([SoLuong]) TongTien=Sum([SoLuong]*[DonGiaBan]) Sử dụng cơ sở dữ liệu QLSV để thực hiện các truy vấn sau đây: 1) Tạo query tính tổng số sinh viên theo lớp, thông tin bao gồm MaLop, TenLop, GVCN, SiSoLop, trong đó SiSoLop=count([MaSV]), kết nhóm theo MaLop, TenLop, GVCN. 2) Tạo query cho xem điểm trung bình của từng sinh viên, thông tin gồm các Field: MaSV, HoTen, DiemTB, XepLoai. Trong đó: DiemTB= Round(Avg(IIf([diemlan1]>nz([diemlan2],0),[diemlan1],[diemlan2])),1) (Hàm NZ(exp,valueifnull): Chuyển giá trị null thành 0) XepLoai: Nếu DiemTB >=8, xếp loại Giỏi, 8> DiemTB >=6.5, xếp loại Khá, 6.5> DiemTB>=5, xếp loại Trung bình, Còn lại là loại Yếu, kết nhóm theo MaSV, HoTen. 3) Tạo query để xem danh sách các sinh viên đạt học bổng, với yêu cầu sau: những sinh viên có DiemTB >=8.5 và DiemLan1 của tất cả các môn phải >5 thì đạt học bổng 500000, ngược lại thì học bổng là 0. Cách tính điểm trung bình tương tự câu số 2 4) Tạo query cho biết tổng số sinh viên thi lại theo lớp, thông tin bao gồm MaLop, TenLop, TSSV_thilan2, nhóm theo MaLop, TenLop. 5) Tạo query cho biết tổng số sinh viên thi lại theo môn học, thông tin bao gồm MaMH, TenMH, TSSV_thilan2, nhóm theo MaMH, TenMH. Trang 18
  19. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 05: Truy vấn dữ liệu (tiếp theo) Query tham số, Find Duplicate Query, UnMatchedQuery, Crosstab query và Action query. I) QUERY THAM SỐ Sử dụng cơ sở dữ liệu HOADON để thực hiện các truy vấn sau đây: 1. Tạo query cho xem danh sách các sản phẩm được bán trong 1 ngày tùy ý. Thông tin gồm: TenSP, Ngaylaphd,TongSoluong, TongTien. 2. Tạo query cho xem danh sách các sản phẩm đã bán trong một khoảng thời gian tùy ý, thông tin gồm: TenSP, NgayLapHD, TongSoluong, TongTien. 3. Tạo query cho xem tổng số lượng đã bán của 1 sản phẩm tùy ý. Thông tin gồm các field: MaSP, TenSP, TongSL 4. Tạo query cho xem thông tin về các khách hàng ở 1 quận tùy ý. Thông tin gồm MaKH, TenKH, DiaChiKH, DienThoai Sử dụng cơ sở dữ liệu QLSV để thực hiện các truy vấn sau đây: 1. Tạo query cho xem danh sách các sinh viên thuộc lớp tùy ý gồm các field MaSV, HoTen, Phai, NgaySinh, DiaChi. 2. Tạo query để xem điểm của một sinh viên tùy ý gồm các thông tin: MaSV, HoTen, DiemLan1, DiemLan2 3. Hiển thị bảng điểm của các sinh viên đạt yêu cầu (DiemLan1>=5) của một môn học tùy ý, thông tin gồm MaSV, HoTen, MaLop, TenMH. II) CÁC QUERY THỰC HIỆN BẰNG CHỨC NĂNG WIZARD Sử dụng cơ sở dữ liệu HOADON để thực hiện các truy vấn sau đây: Dùng chức năng UnMatched Query 1. Tạo query để xem danh sách sản phẩm chưa từng được lập hóa đơn. 2. Tạo query để xem danh sách các nhân viên chƣa tham gia lập hóa đơn. 3. Tạo query để xem danh sách các khách hàng chƣa từng lập hóa đơn. Dùng chức năng Find Duplicate Query 1. Tạo query để xem danh sách các nhân viên có cùng ngày sinh 2. Tạo query để xem danh sách các hóa đơn lập trong cùng một ngày Sử dụng cơ sở dữ liệu QLSV để thực hiện các truy vấn sau đây: Dùng chức năng UnMatched Query 1. Liệt kê danh sách những sinh viên chưa thi môn nào. 2. Liệt kê danh sách các môn học mà sinh viên chưa thi. Dùng chức năng Find Duplicate Query 1. Liệt kê các sinh viên có trùng ngày sinh 2. Liệt kê các sinh viên có trùng tên. Trang 19
  20. Tài liệu thực hành Microsoft Access 2010 III) CROSSTAB QUERY: Sử dụng cơ sở dữ liệu HOADON để thực hiện các truy vấn sau đây: 1. Thống kê tổng số lượng của từng sản phẩm ứng với từng khách hàng 2. Thống kê tổng tiền của mỗi nhân viên trong mỗi tháng 3. Thống kê tổng số lượng của từng sản phẩm đã bán trong từng quý 4. Thống kê số luợng cao nhất của từng sản phẩm trong từng tháng. 5. Thống kê tổng số hóa đơn của từng nhân viên trong từng tháng. 6. Thống kê số lượng trung bình của từng sản phẩm đã bán trong từng quý. Sử dụng cơ sở dữ liệu QLSV để thực hiện các truy vấn sau đây: 1. Thống kê số sinh viên giỏi, khá, trung bình, yếu theo từng lớp. 2. Thống kê tổng số sinh viên đạt và không đạt ứng với từng môn học. trong đó nếu điểm thi lần 1 >=5 thì đạt, ngƣợc lại là không đạt. 3. Cho xem điểm cao nhất của từng môn theo từng lớp. 4. Thống kê tổng số sinh viên nam và nữ theo từng lớp. IV) ACTION QUERY A. Update query Sử dụng cơ sở dữ liệu HOADON 1) Dùng Update query để tăng đơn giá của các sản phẩm lên 1%. Khoa Khoa học và là “Chai” 3) Dùng Update query để đổi thành phố “Tp. HCM” thành “Sài gòn” trong table KhachHang. 4) Dùng Update query để cập nhật đơn giá trong ChiTietHD bằng đơn giá trong SanPham. B. Make table query Sử dụng cơ sở dữ liệu HOADON 1) Dùng Make-Table Query, để tạo ra bảng HDLUU2009 gồm các field MaHD, MaNV, NgayLapHD, NgayGiaoHang, ThanhTienUSD, chứa các hoá đơn có tháng lập hóa đơn là tháng 1,2,3/2009 . 2) Tạo bảng KHQ5 từ bảng khách hàng chứa thông tin các khách hàng ở Q5 3) Tạo bảng HD_HUNSAN chứa thông tin về các hóa đơn đã lập cho khách hàng HUNSAN trong quý 1 4) Tạo ra bảng LUONGNV gồm các cột MaNV, HoTen, Thang, Luong. Trong đó o Field Tháng là chuỗi gồm tháng ghép với năm của tháng tính lương. Ví dụ: tháng tính lương là 2 và năm tính là 2009 thì kết quả của field tháng là “2/2009” Trang 20
  21. Tài liệu thực hành Microsoft Access 2010 o Truy vấn có 2 tham số để nhập tháng và năm tính lương. o Luong = 1% của tổng doanh thu của nhân viên trong tháng tính lương. Sử dụng cơ sở dữ liệu QLSV 1. Dùng Make table Query, để tạo ra bảng SV_Dat chứa các sinh viên không thi lần 2, gồm các Field Masv, hoten, tenlop, tenmh, DiemLan1 2. Dùng Make table Query, để tạo ra bảng SV_HocBong gồm các Field Masv, hoten, phai, malop, hocbong. Trong đó học bổng được tính như sau: Những sinh viên có trung bình của DiemLan1 >=8.5 và không có DiemLan1 nào <5 thì được học bổng 500000, ngược lại thì không có học bổng. C. Append query 1) Tạo một Append query để thêm các hóa đơn tháng 4,5,6/2009 vào bảng DLUU2009. 2) Dùng Append query nối thêm các khách hàng ở các quận 1, 3 vào bảng KHQ5 3) Dùng Append query nối thêm các hóa đơn của khách hàng HUNSAN trong quý 2 vào bảng HD_HUNSAN. 4) Dùng Append query để nối thêm lƣơng của các nhân viên của một tháng tùy ý vào bảng LUONGNV. D. DELETE QUERY 1. Tạo Query xóa các khách hàng ở Q5 trong bảng KHQ5. 2. Tạo một Delete Query dùng để xóa mẫu tin lương trong bảng LUONGNV của một tháng tùy ý. Trang 21
  22. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 06: Thiết kế báo biểu Sử dụng Toolbox, kết hợp thiết kế form bằng các cách: AutoForm, Wizard, và Design để thiết kế các form cơ bản và dạng form Main – sub. Sử dụng cơ sở dữ liệu HOADON 1. Dùng Form wizard tạo form Thông tin Nhân viên dạng columnar theo mẫu sau: Yêu cầu: a. Chọn Theme tùy ý cho form (HD: Mở form ở chế độ Design, click nút Theme - chọn Mẫu tùy ý) b. Mở form ở chế độ Form View , thực hiện các thao tác trên form: - Duyệt record : Dùng thanh Navigation - Tìm kiếm /Lọc (theo địa chỉ, điện thoại, ) - Thêm mới record , hiệu chỉnh record , xoá record. 2. Sử dụng AutoForm để tạo form dạng columnar, tabular, datasheet cho bảng KHACHHANG, quan sát sự khác nhau giữa các dạng form. 3. Tạo form Danh sách Nhân viên bằng Design (sử dụng field list hoặc dùng textbox và label trên toolbox). Hiệu chỉnh các thuộc tính: − Default view: continuous form − Dividing lines: yes Trang 22
  23. Tài liệu thực hành Microsoft Access 2010 4. Tạo form HOADON bằng Design sử dụng combo box để trình bày dữ liệu các field khóa ngoại MaNV, MaKH. 5. Tạo form sử dụng Crosstab Query làm dữ liệu nguồn cho form thể hiện thống kê số lượng của từng sản đã bán theo từng quí, thiết kế form bằng wizard, chọn dạng Trang 23
  24. Tài liệu thực hành Microsoft Access 2010 tabular, sử dụng Textbox control hiển thị kết quả tính toán. − Màn hình kết quả 6. Tạo Form dạng Main_Sub bằng design như mẫu trong đó: o Main form chứa thông tin về các hóa đơn, form có dạng columnar o Subform chứa thông tin về các sản phẩm của từng hóa đơn, dữ liệu nguồn của subform phải chứa field liên kết với main form là MAHD, subform có dạng tabular. Trang 24
  25. Tài liệu thực hành Microsoft Access 2010 7. Thiết kế form dạng main_sub form Tạo Form theo mẫu sau : (làm bằng 2 cách : Design và wizard) o Main form chứa thông tin của khách hàng, dữ liệu nguồn của main form là table o KHACHHANG, dạng form là columnar o Sub form chứa thông tin về các sản phẩm của từng khách hàng trên main form, dữ liệu nguồn phải chứa field liên kết là MAKH, form có dạng datasheet o Lưu ý: Đối với form có dạng Datasheet thì những nội dung nằm trong phần footer sẽ không hiển thị trên form ở chế độ Form View, do đó khi tạo ô tổng tiền trong phần Form footer xong ta phải tạo một textbox trên main form sau đó dùng công thức: TenSubForm.Form! TenODulieu để truyền dữ liệu trong ô tổng ra main form Trang 25
  26. Tài liệu thực hành Microsoft Access 2010 Màn hình thiết kế: Sử dụng cơ sở dữ liệu QLSV 1. Tạo form bằng chức năng Auto, lấy dữ liệu nguồn từ bảng LOP, form sẽ hiễn thị danh sách các record quan hệ của bảng lớp dƣới dạng subform. Trang 26
  27. Tài liệu thực hành Microsoft Access 2010 2. Thiết kế form có dạng sau: o Main form chứa thông tin về lớp và tổng số sinh viên của lớp o Subform chứa danh sách các sinh viên của từng lớp o Nút đóng form thiết kế bằng wizard, dùng để đóng form 3. Thiết kế form thông tin sinh viên có dạng sau: o Main form chứa thông tin sinh viên, field Phai dùng công cụ Option Group o Subform chứa thông tin điểm của tất cả các môn học của sinh viên đó o Trung bình: Round(Avg(IIf([diemlan1]>nz([diemlan2],0),[diemlan1],[diemlan2])),1) o Xếp loại dựa vào điểm trung bình tính như trong phần query Trang 27
  28. Tài liệu thực hành Microsoft Access 2010 Trang 28
  29. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 07: Thiết kế form nâng cao Hãy tạo Form theo mẫu dưới đây: Main form chứa 1combobox để khi chọn mã sản phẩm từ Combo Box thì sẽ hiển thị các thông tin tương ứng trong Subform. Màn hình thiết kế: 2. Form dạng Main form có 2 Subform : Trang 29
  30. Tài liệu thực hành Microsoft Access 2010 Tạo form có dạng như sau: (thực hiện bằng wizard và design) − Main form chứa thông tin khách hàng − Subform1 chứa các hóa đơn của khách hàng trong mainform − Subform2 chứa danh sách các sản phẩm của từng hóa đơn trong subform1 Yêu cầu: o Form cho phép nhập thêm một khách hàng mới. o Ứng với mỗi khách hàng, subform1 cho phép nhập thêm các hóa đơn. o Ứng với mỗi hóa đơn trong subform1, cho phép nhập các sản phẩm và số lượng của sản phẩm trong từng hóa đơn trong subform2. o Form sẽ tính thành tiền của từng sản phẩm theo đơn vị tiền tệ là $ o Tính tổng tiền của tất cả các hóa đơn theo đơn vị tiền tệ là vnđ. 3. Thiết kế form Main-sub, gồm 2 Subform đặt trong tabControl như mẫu: Trang 30
  31. Tài liệu thực hành Microsoft Access 2010 4. Tạo Form theo mẫu dưới đây : khi chọn mã nhân viên từ Combo box thì trong trang chi tiết hóa đơn sẽ hiển thị các hoá đơn do nhân viên này lập. Khi Click vào trang thông tin nhân viên thì hiển thị các thông tin của nhân viên này. 5. Dùng cơ sở dữ liệu QLSV, thiết kế form theo mẫu dưới đây với yêu cầu sau: Trang 31
  32. Tài liệu thực hành Microsoft Access 2010 − Main form chứa combobox chọn mã lớp. − Subform1 hiển thị danh sách sinh viên của lớp được chọn. − Subform2 hiển thị điểm của từng sinh viên trong subform1, và thông tin điểm trung bình, xếp loại. Trang 32
  33. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 08: Thiết kế báo cáo Sử dụng Toolbox, kết hợp thiết kế Report bằng các cách: AutoReport, Wizard. 1. Tạo 1 Report để in Bảng Báo Giá theo mẫu sau. Sử dụng lần lựợt các công cụ sau − Report Wizard dạng Tabular − AutoReport Tabular 2. Tạo report in ra Hoá đơn bán hàng , theo 2 cách sau: - Tạo bằng Wizard. - Tạo bằng Design sử dụng phân nhóm và Main/Sub Hướng dẫn : Tạo bằng Design a. Phân nhóm : o Tạo query làm nguồn cho Report chứa tất cả các field có trong Report. Trang 33
  34. Tài liệu thực hành Microsoft Access 2010 o Chọn Report – New - Design View - Chọn nguồn dữ liệu cho report là Query vừa tạo. o Click menu View - Chọn Sortting and Groupping, Chọn Field Mahd làm phân nhóm o Kéo các Field Mahd, Makh, Tenkh, NgayLaphd, NgayGiaoNhanHang vào Mahd Header o Kéo các Field Tensp, DonVitinh, Soluong, DonGiaBan, Thanhtien vào Detail. o Tạo Số thứ tự. o Tạo một Text box để tính tổng trị giá. b. Main/Sub : o Main report chứa chi tiết hoá đơn gồm các Field: MaHD, TenKH, DiaChi, DienThoai, NgayLapHD, NgayGiaoHang ) kết nhóm theo MaHD. o Subreport chứa thông tin chi tiết của hóa đơn, gồm các Field: MaSP, TenSP, o SoLuong, DonGia, ThanhTien. Field liên kết giữa Main Report và Sub Report là MaHD 3. Tạo report Báo cáo Bán hàng1 theo mẫu với yêu cầu như sau: o Report kết nhóm theo ngày lập hóa đơn o Report có tham số là quý, khi xem báo cáo bán hàng thì ngƣời dùng phải nhập quý cần xem. o Tính tổng trị giá cho toàn bộ report theo quý do ngƣời dùng nhập vào. Trang 34
  35. Tài liệu thực hành Microsoft Access 2010 4. Thiết kế report để xem các hóa đơn của từng khách hàng theo từng sản phẩm với yêu cầu sau: − Report kết nhóm theo sản phẩm và theo khách hàng − Tính tổng tiền cho từng khách hàng − Ngắt trang theo sản phẩm Trang 35
  36. Tài liệu thực hành Microsoft Access 2010 5. Mở cơ sở dữ liệu QLSV, thiết kế report danh sách SV theo lớp, kết nhóm theo lớp 6. Dùng cơ sở dữ liệu QLSV để thiết kế report theo mẫu với các yêu cầu như sau: Trang 36
  37. Tài liệu thực hành Microsoft Access 2010 o Kết nhóm theo sinh viên o Điểm kết quả là điểm cao nhất của điểm lần 1 và điểm lần 2, nếu không thi lần 2 o thì điểm kết quả là điểm lần 1. o Điểm trung bình dựa vào điểm kết quả o Xếp loại dựa vào điểm trung bình, cách xếp loại giống như trong query Trang 37
  38. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 09: Macro. 1. Tạo Form theo mẫu sau, các nút lệnh sử dụng macro. Yêu cầu: o Các nút mũi tên: Duyệt các mẩu tin First, Next, Previous, Last. o Khi click nút Previous, nếu record hiện hành là record First thì chương trình thông báo đây là record đầu tiên. o Khi click nút Next, nếu record hiện hành là record Last thì chương trình thông báo đây là record cuối. o Nút Thêm: Thêm vào một hoá đơn mới. o Nếu thêm trùng khóa thì chương trình thông báo trùng khóa và yêu cầu nhập lại. o Nút Xem Chi Tiết Hoá Đơn: Mở Form Thông tin chi tiết Hóa Đơn. o Nút In mở Report Hoá Đơn Bán Hàng (Mẫu Report_2) có MaHD bằng với MaHD hiện hành trên form HOADON. o Nút Tìm: Tìm một hóa đơn tùy ý. o Nút Xóa: Xoá hoá đơn hiện hành (với điều kiện hóa đơn này chưa có record quan hệ trong bảng CTHD), trước khi xoá hiện hộp thoại hỏi người sử dụng có muốn xóa hay không? Nếu chọn Yes thì mới xóa. o Nút Thoát : Đóng Form 2. Tạo Form điều khiển theo mẫu: Trang 38
  39. Tài liệu thực hành Microsoft Access 2010 Yêu cầu: o Khi chọn mục Xem Hóa đơn của khách hàng thì combobox Mã KH sáng đồng thời ô nhập quý sẽ mờ, người dùng chọn Mã KH trong Combobox và click nút Xem thì chương trình sẽ mở Mẫu Report _8, nhƣng chỉ của khách hàng có Mã KH bằng với Mã KH được chọn trong Combobox MaKH. Nếu không chọn MaKH thì chương trình đưa ra thông báo yêu cầu chọn MaKH. o Khi chọn mục Xem Báo cáo bán hàng theo quý thì Combobox Ma KH mờ, ô nhập quý sáng, người dùng nhập quý cần xem và click nút Xem sẽ mở Mẫu report_9. Nếu không nhập quý mà click nút Xem thì chương trình đưa ra thông báo yêu cầu nhập quý và dấu nháy được đưa vào ô nhập quý. Trang 39
  40. Tài liệu thực hành Microsoft Access 2010 Hướng dẫn cách tạo macro: Tạo một macro chứa 2 submacro: − Submacro anhien: có tác dụng làm cho combo box MaKH và text box [Quý] ẩn hoặc hiện tùy theo ngƣời dùng chọn tùy chọn nào trong option group, macro này gán cho sự kiện After Update của option group. − Submacro xem để mở Report theo yêu cầu. 3. Tạo Form theo mẫu cho phép xem Báo cáo bán hàng theo các lựa chọn sau o Chọn tất cả: Mở report Báo cáo tổng hợp o Chọn Từ ngày Đến ngày: Mở Report Báo cáo tổng hợp nhƣng chỉ mở những report có ngày lập hóa đơn trong khoảng từ ngày và đến ngày được nhập trong Textbox o Chọn theo Mã hoá đơn: Mở Mẫu Report Báo cáo tổng hợp, theo MaHD được chọn trong combobox MaHD. Trang 40
  41. Tài liệu thực hành Microsoft Access 2010 o Chọn theo Mã sản phẩm: Mở Mẫu Report Report Báo cáo tổng hợp, theo MaSP được chọn trong Combobox MaSP. o Khi Click Xem báo cáo sẽ mở các report theo tiêu chuẩn đã xác định trong form. Nếu người dùng không nhập giá trị làm tiêu chuẩn chọn, thì xuất hiện message box thông báo lỗi. Khi chuyển chọn giữa các nút chọn trong form , có sự chuyển trạng thái cho phép hoặc không cho phép của các mục chọn. 4. Tạo form nhập điểm sinh viên như mẫu, với yêu cầu như sau: o Khi chọn MaLop thì trong combobox Masv chỉ xuất hiện những sinh viên của lớp được chọn trong combobox MaLop o SubForm cho phép nhập điểm của từng môn học cho sinh viên, nếu cùng một sinh viên mà tên môn học trùng thì chƣơng trình thông báo trùng khóa và yêu cầu nhập lại. Trang 41
  42. Tài liệu thực hành Microsoft Access 2010 Trang 42
  43. Tài liệu thực hành Microsoft Access 2010 Bài tập thực hành 10. Module 1) Viết thủ tục để người dùng nhập vào hai chuỗi bất kỳ - Dùng hộp thông báo in ra chuỗi thứ ba là ghép của hai chuỗi trên. 2) Viết thủ tục để ngƣời dùng nhập vào hai chuỗi bất kỳ - Dùng hộp thông báo in ra chuỗi thứ ba là ghép của hai chuỗi trên và chiều dài của hai chuỗi. 3) Tạo Form sau: − Bạn nhập tên môn học Access 2010 trong ô môn học. − Click nút OK sẽ hiển thị tên môn học trong ô Bạn đang học Access 2010. − Nút Xóa dùng để xóa nội dung trong 2 textbox. − Nút Thoát : Đóng Form. 4) Tạo các form máy tính có dạng sau: o Khi nhập số thứ nhất và số thứ hai sau đó click nút cộng, trừ, nhân, chia thì lần lượt cho kết quả tương ứng. o Click nút tiếp sẽ xóa dữ liệu trong các ô và dấu nhấy nhảy về ô số thứ nhất Chú ý : Khi nhập số thứ hai bằng không và nhấn nút chia thì phải hiện thông báo Trang 43
  44. Tài liệu thực hành Microsoft Access 2010 5) Viết một thủ tục tham chiếu trên CSDL hiện hành, kiểm tra xem có tồn tại một Table do ngƣời dùng chỉ định, thông báo kết quả ra hộp thông báo. 6) Viết một thủ tục đếm tổng số mẩu tin trong bảng HOA Don của CSDL hiện hành, in kết quả ra cửa sổ Debug. 7) Viết một thủ tục in ra cửa sổ Debug, Manv của các mẫu tin đầu, kế, áp cuối và cuối có trong bảng Nhanvien của CSDL Hoadon. 8) Viết một thủ tục in ra cửa sổ Debug các mẫu tin trong bảng Nhanvien của CSDL hiện hành gồm Manv, Hoten, Ngaysinh, Phai. 9) Viết một thủ tục đếm số mẫu tin có trong bảng Nhanvien, in kết quả ra hộp thông báo. 10) Viết thủ tục xếp thứ tự dữ liệu của bảng NhanVien tăng dần theo NgaySinh, sau đó in ra cửa sổ Debug các mẫu tin trong bảng gồm Manv, Hoten, NgaySinh, Phai. 11) Viết một thủ tục tìm MaNV trong bảng NhanVien. Dùng hộp thoại để thông báo kết quả tìm kiếm. 12) Viết một thủ tục in ra hộp thông báo số thứ tự mẫu tin trên tổng số mẫu in của bảng NhanVien. 13) Viết một thủ tục in ra cửa sổ Debug mẫu tin hiện hành gồm Manv, HoTen, NgaySinh, phai trong bảng NhanVien, sau đó in ra tất cả các mẫu tin có trong bảng, quay về in lại đúng mẫu tin ban đầu. 14) Tạo Form NhanVien có một Textbox tên TxtMaNV, một command button có nhãn là Tìm. Viết một Event Procedure khi ngƣời dùng nhập MaNV vào TxtMaNV, nhấn nút Tìm sẽ tìm ngay mẫu tin liên quan để hiện lên Form. 15) Tạo Form Danh sách Hóa Đơn theo ngày có hai Text Box TxtTuNgay và TxtDenNgay, một Command button Loc. Viết một Event Procedure khi người Trang 44
  45. Tài liệu thực hành Microsoft Access 2010 dùng nhập vào hai Text Box, click nút Loc sẽ tìm ngay mẫu tin thỏa điều kiện lọc và hiển thị kết quả ra cửa sổ Debug. 16) Viết một thủ tục tăng đơn giá các sản phẩm lên 5% trong bảng sanpham. Trong quá trình cập nhập nếu có bị lỗi thì tất cả các thay đổi trƣớc đó sẽ bị hủy. 17) Hãy tạo Form như mẫu, viết code đưa dữ liệu lên form, và các nút duyệt record: first, previous, next, last, close. 18) Tạo form nhân viên và viết code để thực hiện các yêu cầu sau: Trang 45
  46. Tài liệu thực hành Microsoft Access 2010 a) Khi Click vào nút TÌM thì sẽ xuất hiện hộp thoại yêu cầu nhập mã nhân viên. Nếu có thì sẽ hiển thị thông tin về nhân viên đó tương ứng trong các Unbound textbox. Nếu không có thì sẽ thông báo là MaNV không tồn tại và xóa trắng các Unbound TextBox. b) Khi Click vào nút THÊM thì sẽ xóa trắng các Unbound Textbox và thêm mẩu tin mới vào bảng NHANVIEN ứng với dữ liệu trong các Unbound Textbox. c) Khi Click vào nút XÓA thì sẽ hiện hộp thoại yêu cầu xác nhận với nội dung “bạn muốn xóa?” và hai nút YES, NO. Nếu chọn YES thì sẽ xóa mẩu tin đang hiển thị và xóa trắng các Unbound textbox. d) Nút ĐÓNG để đóng Form. Trang 46
  47. Tài liệu thực hành Microsoft Access 2010 Phần 2: Bài tập làm thêm Bài tập 01: Cơ sở dữ liệu Quản lý hàng hóa - Sử dụng CSDL QuanLyHangHoa.accdb được cho sẵn trên ổ Z: - Đặt tên cho các query là “Cau ” ví dụ: Cau1, Cau2 Tạo các query theo các yêu cầu sau: 1. Liệt kê thông tin chi tiết về các hóa đơn phát sinh trong bảng PHATSINH, bao gồm: ngày, loại phiếu, số phiếu, họ tên, mã hàng, số lượng, đơn giá. (xem hình minh họa sau) 2. Liệt kê thông tin chi tiết về các hóa đơn phát sinh bao gồm: ngày, lọai phiếu, số phiếu, tên hàng, loại hàng, số lượng, đơn giá. Kết quả hiển thị theo ngày tăng dần. 3. Liệt kê thông tin chi tiết về các hóa đơn phát sinh bao gồm: ngày, loại phiếu (Nhập, Xuất, Thu, Chi tương ứng với loại là N, X, T, C), số phiếu, tên hàng, loại hàng, số lượng, đơn giá. 4. Liệt kê thông tin chi tiết về các hóa đơn phát sinh bao gồm: ngày, tên hàng, loại hàng, số lượng, đơn giá, số tiền, thuế (thuế = 10% * số tiền), thành tiền (thành tiền = số tiền + thuế). 5. Liệt kê thông tin chi tiết về các hoá đơn phát sinh có số lượng > 50. Các thông tin cần hiển thị: ngày, tên hàng, loại hàng, số lượng, đơn giá, số tiền. 6. Liệt kê thông tin chi tiết (ngày, tên hàng, loại hàng, số lượng, đơn giá, số tiền) của các hoá đơn có loại là “N” và có ngày phát sinh là 02/05/2002. 7. Liệt kê thông tin chi tiết (ngày, tên hàng, loại hàng, số lượng, đơn giá) của các hoá đơn có ngày phát sinh từ 02/05/2002 đến ngày 10/05/2002. 8. Liệt kê thông tin chi tiết (ngày, tên hàng, loại hàng, số lượng, đơn giá) của các hoá đơn phát sinh ngoài khoảng thời gian từ 03/05/2002 đến 10/05/2002 9. Liệt kê thông tin chi tiết của những hóa đơn phát sinh trước ngày 15 mỗi tháng 10. Liệt kê thông tin chi tiết của những hóa đơn phát sinh trong tháng 5 và tháng 6 11. Liệt kê thông tin chi tiết (ngày, tên hàng, loại hàng, số lượng, đơn giá, số tiền) của các hoá đơn có loại là “N” hoặc là “X”. 12. Liệt kê thông tin chi tiết (ngày, tên hàng, loại hàng, số lượng, đơn giá, số tiền) của các hoá đơn mà loại hàng “Quần áo may sẵn”. 13. Hiển thị thông tin của các nhân viên sinh năm 1975 Trang 47
  48. Tài liệu thực hành Microsoft Access 2010 14. Hiển thị thông tin: họ và tên nhân viên, tuổi của nhân viên. 15. Liệt kê thông tin chi tiết (họ và tên nhân viên, ngày, tên hàng, số lượng, đơn giá, số tiền) của các hoá đơn mua bán hàng của nhân viên có mã nhân viên là “0001” 16. Liệt kê thông tin chi tiết (họ và tên nhân viên, ngày, tên hàng, số lượng, đơn giá, số tiền) của các hoá đơn có 2000000 100. 23. Tính tổng số lượng hàng xuất theo từng mặt hàng mà những mặt hàng này có số lượng mỗi lần xuất >100. 24. Hiển thị thông tin chi tiết của nhân viên (mã nhân viên, họ và tên nhân viên, phái, ngày sinh, địa chỉ, tên tổ trực thuộc) với mã nhân viên được nhập từ bàn phím khi thực hiện truy vấn. 25. Liệt kê các thông tin ngày, loại phiếu, tên hàng, loại hàng, số lượng, đơn giá, số tiền của những hoá đơn phát sinh với ngày được nhập từ bàn phím. 26. Liệt kê thông tin chi tiết (ngày, loại phiếu, tên hàng, loại hàng, số lượng, đơn giá, số tiền) của các hoá đơn phát sinh loại nhập (loai = “N”) có số lượng > [số lượng nhập], với số lượng nhập là tham số được nhập từ bàn phím. 27. Liệt kê thông tin chi tiết (ngày, loại phiếu, tên hàng, loại hàng, số lượng, đơn giá, số tiền) của các hoá đơn phát sinh với ký tự đầu của mã hàng là tham số được nhập từ bàn phím. 28. Thống kê tổng số lượng hàng của từng mặt hàng trong từng ngày. Trang 48
  49. Tài liệu thực hành Microsoft Access 2010 29. Thống kê tổng số lượng hàng nhập của từng loại hàng trong từng ngày. 30. Thống kê tổng số lượng hàng xuất của từng loại hàng trong từng ngày. 31. Thống kê tổng số lượng hàng của từng mặt hàng thuộc loại “thực phẩm” trong từng ngày 32. Thống kê tổng số tiền nhập của từng mặt hàng do từng nhân viên lập hoá đơn. 33. Thống kê tổng giá trị của mỗi loại hoá đơn của từng tháng 34. Thống kê tổng giá trị của mỗi loại hoá đơn theo từng loại hàng 35. Thống kê tổng số giá trị của từng loại phát sinh (Nhập, Xuất, Thu, Chi) theo từng mặt hàng. 36. Tìm các mã hàng xuất hiện nhiều hơn một lần trong table PHATSINH. 37. Liệt kê thông tin chi tiết của các nhân viên chưa tham gia nhập, xuất, thu, chi. 38. Liệt kê thông tin về các mặt hàng được phụ trách bởi nhân viên có tên “Dương Văn Hiếu” nhưng không được phụ trách bới nhân viên có tên là “Nguyễn Công Danh”. 39. Tìm những mặt hàng được nhập bởi “Nguyễn Công Danh” nhưng không được nhập bởi “Dương Văn Hiếu”. 40. Tìm những mặt hàng chỉ được nhập mà chưa được xuất lần nào. 41. Tìm những mặt hàng mà trong ngày 12/05/2002 được nhập vào nhưng không được xuất. 42. Tìm những mặt hàng có tổng số lượng xuất nhỏ hơn hoặc bằng tổng số lượng nhập của mặt hàng “Bàn làm việc” 43. Tìm những nhân viên sinh cùng tháng với nhân viên “Nguyễn Anh Thư” 44. Trong hoá đơn phát sinh, tìm những mặt hàng có tổng đơn giá lớn hơn đơn giá trung bình. 45. Trong hoá đơn phát sinh, cho biết mã loại, tên loại, tổng số lượng của những loại hàng có tổng số lượng mặt hàng lớn hơn hoặc bằng tổng số lượng mặt hàng thuộc loại “Chất tẩy rửa”. 46. Tìm thông tin của những loại hàng không chứa mặt hàng nào. 47. Tìm những nhân viên có tổng số lượng nhập ít hơn tổng số lượng nhập của “Nguyễn Công Danh” Trang 49
  50. Tài liệu thực hành Microsoft Access 2010 48. Tìm những nhân viên lớn tuổi hơn “Nguyễn Văn Hoài” 49. Tạo table có tên là PHATSINHNhap chứa các phát sinh loại nhập 50. Tạo table có tên là PHATSINHXuat chứa các phát sinh loại xuất 51. Tạo table có tên là ThucPham chứa các thông tin chi tiết về các phát sinh của các mặt hàng có lọai là “thực phẩm” Chép PHATSINH thành PHATSINH1, HANGHOA thành HANGHOA1, LOAIHANG thành LOAIHANG1. 52. Xóa các mặt hàng có mã AM01 trong table PHATSINH1 53. Tạo quan hệ ràng buộc tòan vẹn giữa HANGHOA1 và LOAIHANG1 trong đó không chọn mục “Cascade delete related records”. Tạo query xóa loại hàng “Chất tẩy rửa” trong LOAIHANG1. 54. Chép HANGHOA thành HANGHOA2, LOAIHANG thành LOAIHANG2. Tạo quan hệ ràng buộc tòan vẹn giữa HANGHOA2 và LOAIHANG2 trong đó có chọn mục “Cascade delete related records”. Tạo query xóa loại hàng “Chất tẩy rửa” trong LOAIHANG2.  Xem kết quả trong các table HANGHOA1, LOAIHANG1, HANGHOA2, LOAIHANG2 và đưa ra nhận xét. 55. Xóa các hoá đơn xuất có trong PHATSINH1 do Nguyễn Công Danh lập vào tháng 5 năm 2002 56. Xóa các hoá đơn nhập có trong PHATSINH1 không do Nguyễn Công Danh lập vào tháng 5 năm 2002 57. Nối thêm các record từ PHATSINH vào PHATSINH1 58. Nối thêm một record mới vào cuối table NHANVIEN, với các thông tin nhân viên được nhập từ bàn phím khi thực hiện query. 59. Nối thêm một record mới vào cuối table HANGHOA, với các thông tin hàng hóa được nhập từ bàn phím khi thực hiện query. 60. Tăng lương cho tất cả nhân viên thêm 10%. 61. Tăng đơn giá lên 3% cho các mặt hàng thuộc loại “Chất tẩy rửa” 62. Giảm đơn giá 5% cho các mặt hàng thuộc loại hàng “Đồ trang trí nội thất” 63. Cộng thêm 100.000 vào lương của các nhân viên có lương nhỏ hơn mức lương trung bình. 64. Tạo quan hệ ràng buộc tòan vẹn giữa HANGHOA1 và PHATSINH1 trong đó không chọn mục “Cascade Update Related Fields”. Tạo query cập nhật mã hàng “CM01” trong HANGHOA1 thành “CN01”. Trang 50
  51. Tài liệu thực hành Microsoft Access 2010 Bài tập 02: Cơ sở dữ liệu Quản lý bán hàng Sử dụng cơ sở dữ liệu QuanLyBanHang. Accdb để thực hiện các yêu cầu sau Truy vấn chọn lựa Thực hiện các truy vấn sau: 1. Hiển thị các vùng: MaNV,HoNV,TenNV,NgaySinh,DiaChi,DienThoai những mẫu tin có số điện thọai 2. Hiển thị các vùng: MaNV,HoNV,TenNV,NgaySinh,DiaChi,DienThoai những mẫu tin không có số điện thọai 3. Tạo truy vấn gồm các vùng: MaHD, NgayLapHD, TenKH, MaSP, SoLuong, ThanhTien :[DonGia]*[SoLuong] 4. Hiển thị các vùng: MaHD, TenSP, SoLuong, ThanhTien của những khách hàng đã mua hàng 5. Hiển thị các vùng: MaHD, TenSP, SoLuong, ThanhTien của những khách hàng đã mua hàng trong tháng 7/99 6. Tạo truy vấn gồm các vùng: MaSP, TenSP, DonGia,GiaCongThue:[Dongia]*110% Nhóm dữ liệu 7. Tổng kết xem từng khách hàng của công ty đã mua mặt hàng với số là tiền bao nhiêu 8. Cho biết các Khách hàng đã đặt bao nhiêu Hóa đơn mặt hàng “R02” 9. Tổng kết xem từng khách hàng của công ty đã mua mặt hàng trong tháng hiện hành với số tiền là bao nhiêu 10. Từ bảng ChiTietHD Thống kê Tổng số lượng theo Mã sản Phẩm 11. Từ bảng ChiTietHD Thống kê Tổng số lượng theo Mã Hóa Đơn MakeTable Query và Update Query 12. Từ Bảng HoaDon hãy tạo ra bảng HoaDon_07 cho những Hóa đơn có Ngày lập Hóa đơn trong tháng 07/1999 13. Trong Bảng HoaDon_07 xóa MaHD là 5 14. Từ Bảng SanPham hãy tạo ra bảng SanPhamDVT cho những sản phẩm có đơn vị tính là Lon 15. Trong bảng SanPhamDVT sửa đổi DonGia của tất cả mặt hàng tăng 10% Truy vấn tham số Trang 51
  52. Tài liệu thực hành Microsoft Access 2010 16. Tạo một truy vấn tham số, mỗi lần thực thi gõ vào một tham số mã khách hàng [Nhập mã khách hàng:] hiển thị ra các thông tin tương ứng như: MaKH, TenKH, GioiTinh, NgaySinh, DiaChi, DienThoai 17. Tạo một truy vấn tham số, mỗi lần thực thi gõ vào một tham số Mã Hóa Đơn [Nhập Mã Hóa Đơn:] hiển thị ra các thông tin tương ứng như: TenKH, DiaChi, DienThoai, NgayLapHD, NgayNhanHang, TenNV, TenSP, DonViTinh, DonGia, SoLuong, ThanhTien : [SoLuong]*[DonGia] Truy vấn con 18. Tìm những khách hàng có Ngày lập Hóa đơn trong khỏang thời gian từ #01/06/99# đến #30/06/1999# 19. Cho biết những khách hàng có Ngày Lập Hóa đơn gần đây nhất Thiết kế các form sau: Câu 1: Đặt tên frmThongTinKhachHang Câu 2: Đặt tên frmThongTinNhanVien Trang 52
  53. Tài liệu thực hành Microsoft Access 2010 Câu 3: Thiết kế Form theo mẫu sau: Xây dựng các Macro cho phép các nút lệnh trên Form thực hiện công việc: Thêm, Sửa, Xóa, Thoát Câu 4: Thiết kế Main Form và Sub Form theo mẫu sau: Form chính dạng Cột (Column) lấy dữ liệu từ bảng HOADON. Form phụ (Sub Form) dạng bảng (Datasheet) lấy dữ liệu từ bảng ChiTietHD Câu 5: Sử dụng Design View để thiết kế Form theo mẫu trên bên phải Yêu cầu: Xây dựng nhóm Macro để cho phép người sử dụng nhấn vào các nút lệnh cho phép mở các Form trên Trang 53
  54. Tài liệu thực hành Microsoft Access 2010 Câu 06: Tạo truy vấn có các vùng như sau: NgaylapHD, TenSP, SoLuong, DonGia, ThanhTien:[Soluong]*[DonGia] . Lưu Truy vấn với tên là : Q_ThongKe . Dùng công cụ Wizard để tạo báo cáo lấy dữ liệu từ Query trên . Yêu cầu: Báo cáo theo nhóm là vùng TenSP . Dùng Design để thiết kế lại báo cáo theo mẫu Report như sau: Câu 07: Tạo truy vấn có các vùng như sau: . Dùng Design để thiết kế lại Báo cáo theo mẫu Report. Số hóa đơn do người dùng nhập Trang 54
  55. Tài liệu thực hành Microsoft Access 2010 Trang 55
  56. Tài liệu thực hành Microsoft Access 2010 Bài tập 03: Cơ sở dữ liệu Quản lý sinh viên Sử dụng cơ sở dữ liệu QuanLySinhVien. Accdb và thực hiện các yêu cầu sau A- Sử dụng Select Query 1. Hiển thị danh sách sinh viên gồm các thông tin sau:Masv, HoSV, TenSV, NgaySinh, GioiTinh 2. Hiển thị danh sách sinh viên như câu 1 nhưng sắp xếp theo MaSV tăng dần 3. Hiển thị danh sách sinh viên gồm các thông tin sau: Masv, HoSV, TenSV, NgaySinh, GioiTinh, MaKH, HocBong (sắp xếp MaKH tăng dần, MaSV giảm dần) 4. Hiển thị bảng điểm sinh viên gồm các thông tin: MaSV, HoSV, TenSV, MaMH, Diem B- Sử dụng Select Query (Field, Sort, Show, Criteria) 1. Hiển thị danh sách sinh viên có tên là “Chính” 2. Hiển thị danh sách sinh viên có Nơi sinh là “Sài Gòn” 3. Hiển thị danh sách sinh viên có Nơi Sinh là “Hà Nội” và học Khoa “TH” 4. Hiển thị danh sách sinh viên có Họ là “Trần” và học Khoa “AV” 5. Hiển thị danh sách sinh viên có Mã số bắt đầu là B và học Khoa “AV” 6. Hiển thị danh sách sinh viên có Phái là “Nữ” và nơi sinh là “Bến tre” 7. Hiển thị danh sách sinh viên có ngàysinh>=01/01/1977 8. Hiển thị danh sách sinh viên không có Học Bổng 9. Hiển thị danh sách sinh viên có Học bổng và học Khoa “TH”. 10. Hiển thị danh sách sinh viên có điểm thi <5 C- Sử dụng Select Query với các cột tính tóan tự tạo ra thông qua các Hàm (IIF,MONTH, YEAR,DAY,TRIM, LEFT, RIGHT) 1. Hiển thị danh sách sinh viên gồm các cột sau: MaKH, MaSV, HoSV,TenSV, Namsinh, Tuoi, sắp xếp tuổi theo thứ tụ tăng dần. Biết rằng tuổi sẽ là Năm hiện Hành – Năm Sinh 2. Hiển thị danh sách sinh viên gồm các cột sau: MaSV, HoTenSV, Phai, MaKH, TenKhoa. biết rằng HoTenSV= HoSV & TenSV 3. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 12 4. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 11 và năm 1977 5. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV, HocBong, MaKhoa, TenKhoa, HocBongMoi. Biết rằng Học bổng mới = 10% +HocBong cũ 6. Hiển thị danh sách sinh viên gồm các thông tin sau: MaSV, HoTenSV,TenMH, Diem, ĐánhGia. Biết rằng nếu điểm <5 là Rớt, ngược lại là Đậu. Trang 56
  57. Tài liệu thực hành Microsoft Access 2010 D- Sử dụng Select Query với dòng ToTal (nhóm dữ liệu) và các Hàm: Count, Sum, AVG, Min, Max. 1. Cho biết Tổng số Sinh viên của từng Quận, thông tin gồm: Quan, TongSoSV 2. Cho biết Tổng số Sinh viên của từng Khoa thông tin gồm:MaKH, TenKhoa, TongSoSV 3. Cho biết Học Bổng cao nhất, thấp nhất thông tin hiển thị: MaKhoa, TenKhoa,HBMax,HBMin 4. Cho biết Tổng số Sinh Viên Nam của từng Khoa là Bao nhiêu, thông tin gồm:MaKhoa, TenKhoa, TongSVNam 5. Cho biết Tổng số Sinh Viên Nữ của từng Khoa là Bao nhiêu, thông tin gồm:MaKhoa, TenKhoa, TongSVNu 6. Cho biết Độ tuổi trung bình của Sinh viên trong từng Khoa là Bao nhiêu thông tin gồm : MaKhoa, TenKhoa, TuoiTB 7. Hiển thị bảng điểm tổng hợp của sinh Viên gồm thông tin:MaSV, HoTenSV, DiemTB, TongSoMonThi. Trong đó DiemTB là điểm trung bình của các Môn thi, TongSoMonThi là tổng số các môn thi của các sinh viên.Điểm TB lấy 2 số lẻ 8. Cho biết Tổng Sinh viên của từng Môn Học thông tin gồm: TenMH, TongSoSV 9. Cho biết điểm thi cao nhất của môn học Cơ sở dữ liệu. 10. Cho biết danh sách các môn thi có điểm thi cao nhất. 11. Cho biết danh sách các môn thi có điểm thi thấp nhất. 12. Cho biết danh sách các thí sinh có điểm thi cao nhất. 13. Cho biết danh sách các thí sinh có điểm thi thấp nhất. E- Sử dụng Make- Table Query (truy vấn tạo Bảng) 1. Từ Bảng SinhVien hãy tạo ra 2 bảng SinhVien_TH và SinhVien_AV trong đó chứa các Sinh viên của Khoa Tin Học và Anh văn trong đó sắp xêp MASV tăng dần 2. Từ bảng SinhVien, KetQua, MonHoc sao chép thành bảng BangDiemSV gồm các thông tin: MaSv, HoTenSV, TenMH, Diem, KetQua. Trong đó Kết quả sẽ là Đậu nếu Điểm >=5 và ngược lại là Rớt 3. Từ Bảng DMKHOA sao chép thành bảng HocBongKhoa gồm các thông tin: MaKh, TenKhoa, TongHocBong. Trong đó tổng học bổng là tổng số học bổng của sinh viên trong từng Khoa 4. Từ bảng SinhVien và KetQua sao chép thành Bảng DiemTB gồm các thông tin: MaSV, TenSV, TongDiem, TongMT, DiemTB. Trong đó Tổng điểm là tổng điểm thi của từng sinh viên, TongMT là tổn số ôn thi của từnh Sinhviên, DiemTB là điểm trung bình của từng Sinh viên được tính bằng TongDiem/TongMT F- Sử dụng Update Query (truy vấn cập nhật) 1. Tăng học bổng cho sinh viên Khoa Tin học mỗi sinh viên là 50000 Trang 57
  58. Tài liệu thực hành Microsoft Access 2010 2. Cộng thêm 0.5 điểm thi môn học Cơ sở dữ liệu cho những sinh viên có điểm thi thấp hơn 5 G- Sử dụng Append Query (truy vấn nối thêm) 1. Thêm một Khoa mới gồm thông tin : “KT”, “Kinh Tế” vào bảng DMKhoa 2. Thêm một Môn học Mới gồm thông tin MaMH= “11”, Tên môn học =”Access”, Sốtiết = 90 H- Sử dụng Delete Query (truy vấn xóa) 1. Trong bảng SinhVien_TH xóa các sinh viên có Nơi sinh là Sài Gòn 2. Trong bảng sinhVien_AV xóa các sinh viên có năm sinh là 1977 và ở Q3 K. Sử dụng Crosstab Query (truy vấn chéo): Thống kê điểm sinh viên theo dạng sau: MaSV Ho và Tên Cơ sở dữ Đàm Đồ Họa Trí tuệ Nhân Truyền Văn A01 Nguyễn thị Hải liệu 2 Thọai Tạo Tin 9 Phạm A02 Trần văn Chính 7.5 6.5 10 9 A03 Lê Bạch Yến 5 3 10 A04 Trần Anh Tuấn 4 A05 Trần Thanh Triều 8 A06 Nguyễn văn Chinh 7 J.Sử dụng Truy vấn con: 1. Cho biết danh sách các sinh viên thi môn Cơ sở dữ liệu với số điểm lớn nhất 2. Cho biết danh sách các sinh viên trong Khoa Tin Học có điểm thi thấp nhất Thiết kế Form và Báo cáo Tạo Form theo mẫu sau: Sau khi nhập [Mã sinh viên] hiển thị bảng điểm của sinh viên tương ứng Trang 58