Bài tập access cơ bản có lời giải năm 2024

  • 1. Hành Access BÀI 1 TỔNG QUAN 1) Từ màn hình khởi động thực hiện các lệnh sau : a.Tạo một cơ sở dữ liệu trống tên QLSV.MDB b.Tạo một cơ sở dữ liệu theo mẫu của Access tên QLBH.MDB c.Mở lại hai tập tin cơ sở dữ liệu trên. 2) Từ màn hình khởi động thực hiện các lệnh sau : a.Tạo một cơ sở dữ liệu trống tên QLNS.MDB b.Tạo một cơ sở dữ liệu theo mẫu của Access tên QLSACH.MDB c.Mở lại hai tập tin cơ sở dữ liệu trên theo các chế độ sau : Open. Open Read Only. Open Exclusive Open Exclusive Read Only Cho nhận xét của từng trường hợp. 3) Mở lại tập tin QLBH.MDB thực hiện các lệnh sau : a.Chuyển đổi tập tin cơ sở dữ liệu. b.Thu gọn tập tin . c.Ẩn hiện tập tin. d.Đặt và hủy mật khẩu cho tập tin. e.Thực hiện các lệnh trình bày cửa sổ của CSDL trong menu View. f. Tìm hiểu một số lệnh trong menu Tools _ Option g.Thực hiện các thao tác cơ bản trên từng Object (Sao chép, xóa, đổi tên)
  • 2. Hành Access BÀI 2 TẬP TIN CƠ SỞ DỮ LIỆU CÂU 1 : Phân tích thiết kế một Cơ sở dữ liệu Giả sử bạn cần quản lý một cửa hàng bán hàng hóa trong thành phố. Bạn hãy phân tích và thiết một cơ sở dữ liệu nhằm thực hiện các yêu cầu quản lý thực tế. Phải quản lý các nhân viên trong cửa hàng, các sản phẩm, các khách hàng, các hoá đơn (xuất nhập chuyển trả ). Sau đây là một số gợi ý như sau: mỗi một nhân viên có một mã nhân viên duy nhất, họ, tên, phái, ngày sinh, điện thoại và địa chỉ mỗi sản phẩm có một mã sản phẩm để phân biệt với những sản phẩm khác, một tên sản phẩm, đon vị tính, đơn giá. Đơn giá của sản phẩm lúc nào cũng phải >0 mỗi một hóa đơn có một mã hóa đơn duy nhất, mã nhân viên lập hóa đơn này, loại hóa đơn (nhập hoặc xuất hoặc chuyển hoặc trả), một ngày lập hoá đơn, 1 ngày giao nhận hàng, diễn giải hóa đơn. Ngày lập hóa đơn luôn luôn nhỏ hơn hay bằng ngày hiện hành. : một chi tiết hóa đơn cho biết một sản phẩm được nhập hoặc xuất hoặc chuyển hoặc trả trong hóa đơn nào, với số lượng và đơn giá bán là bao nhiêu. Số lượùng luôn luôn lớn hơn 0. Dựa vào các gợi ý trên, bạn hãy xác định: Các table (quan hệ) Các Field của các table trên (Một field bao gồm Field Name, Datatype, properties,..) Xác định khóa chính, khóa ngoại. Các ràng buộc toàn vẹn Đưa ra mối quan hệ . CÂU 2 : Dựa trên cơ sở phân tích của Bài Tập 1 bạn hãy đưa ra mô hình cơ sở dữ liệu cho các đề tài sau : Quản lý sinh viên. Quản lý vật tư. Quản lý nhân sự. Quản lý sách.
  • 3. Hành Access BÀI 3 BÀI TẬP TABLE Câu 1: Tạo tập tin cơ sở dữ liệu có tên là HOADON.MDB. Dùng chức năng Table để thiết kế cấu trúc và tạo khóa chính cho các bảng sau đó nhập dữ liệu dựa vào bảng dữ liệu mẫu đính kèm : NHAN VIEN Field Name Data type Description Field Properties MANV AutoNumber Mã Nv Format:>[Red] Caption: Mã Nv HONV Text Họ nhân viênï Field size: 25 Format:>[Blue] Caption: Họ NV TENNV Text Tên nhân viên Field size: 10 Format:>[Blue] Caption: Tên NV Require: yes PHAI Yes/No Phái Yes: Nam, No:Nữ Format:;"Nam"[Blue];"Nữ"[Magenta] Caption: Phái Display Control: Text Box NGAYSINH Date/Time Ngày sinh Format: short date Input Mark: 00/00/00 Caption: Ngày sinh NOISINH Text Nơi sinh Field size:15 Caption: Nơi sinh DIACHI Text Địa chỉ Field size: 40 Caption: địa chỉ. DIENTHOAI Text Số điện thoại Field size:14 Input Mark: !(999") "0000000;;* Caption: Điện thoại HINH OLE Object Hình
  • 4. Hành Access KHACH HANG Field Name Data type Description Field Properties MAKH Text Mã Khách hàng Field size: 10 Format:>[Red] Caption: Mã KH TENKH Text Tên Khách hàng Field size: 25 Format:>[Blue] Caption: Tên Công ty DIACHI Text Địa chỉ Field size: 40 Caption: địa chỉ. THANHPHO Text Thành phố Field size: 10 Caption: Thành phố DIENTHOAI Text Số điện thoại Field size:14 Input Mark: !(999") "0000000;;* Caption: Điện thoại SAN PHAM Field Name Data type Description Field Properties MASP Number Mã san pham Field size: Integer Caption: Ma Sp Required: yes TENSP Text Ten San pham Field size: 40 Format:>[Blue] Caption: Tên Sp DONVITINH Text Don vi tinh Field size: 10 Caption: Đơn vị tính DONGIA Number Đơn giá Field size: Double Format:standard Decimal places: 2 Caption: đơn giá Validation rule: >0 Validation Text: Phải nhập số >0 SLTON Number Số lượng tồn Field size: integer Caption: Số lượng tồn Default value : 0
  • 5. Hành Access HOADON Field Name Data type Description Field Properties MAHD Text Mã hoá đơn Field size: 5 Format:>[red] Caption: mã hóa đơn Required: yes LOAIHD Text Loại hóa đơn: nhập-xuất-chuyển- trả Fieldsize:1 Default value: X Validation rule: In(“N”,”X”,”C”,”T”) Required: Yes MAKH Text Mã khách hàng Field size: 10 Format:>[Red] Caption: Mã KH MANV Number Mã nhân viên Field size:LongInteger Caption: mã nhân viên Required: yes NGAYLAPHD Date/Time Ngày lập hoá đơn Format: short date Caption: Ngày hoá đơn Input Mask: 00/00/00 Validation Rule: <=Date() Validation Text:Ngay lap HD phai nho hon hoac bang ngay hien hanh NGAYGNHANG Date/Time Ngày giao nhận hàng Format: short date Caption: Ngày Giao nhận hàng Input Mask: 00/00/00 DIENGIAI Text Dien giai Fieldsize: 30 CHITIETHOADON Field Name Data type Description Field Properties MAHD Text (Lookup Wizard ) Ma hoa đon Field size: 5 Format:>[red] Caption: mã hóa đơn Required: yes MASP Number (Lookup Wizard ) Ma san pham Field size: Integer Caption: Ma Sp Required: yes SOLUONG Number Số lượng Field size: Integer Format:standard Caption: Số lượng Validation rule: >0 Validation Text: Phải nhập số >0 DONGIA Number Đơn giá xuất nhập Field size: Double Format:standard Decimal places: Auto Caption: đơn giá
  • 6. Hành Access Cách thiết kế bảng: tại trang table, chọn New -> Design view (hoặc double click vào lệnh create table in design view -> Màn hình thiết kế bàng Chọn field làm khoá : Chọn menu Edit -> Primary key ( Hoặc click nút Primary key )
  • 7. Hành Access
  • 8. Hành Access Nhập dữ liệu cho các Table theo mẫu sau : KHACHHANG MAÕ HD TEÂN COÂNG TY ÑÒA CHÆ THAØNH PHOÁ ÑIEÄN THOAI CINOTEC ÑIEÄN TOAÙN SAØI GOØN 43 Yeát kieâu P 6 Q3 TP.HCM ( )7931752 COMECO VAÄT TÖ THIEÁT BÒ GTVT 226 AnDöông Vöông P11 Q11 ( )8456781 FAHASA PHAÙTHAØNHSAÙCHSAØIGOØN 12 Thuaän kieàu Q5 TP.HCM ( )8452792 FISC DÒCHVUÏ ÑAÀUTÖNÖÔÙCNGOAØI 31 Tröông Ñònh P6 Q1 TP.HCM ( )8458247 HUNSAN HÖØNG SAÙNG 175 Lyù Thöôøng Kieät ( )5465487 LIXCO BOÄT GIAËT LIX 79 Baøn Côø P3 Q5 TP.HCM ( )8952187 SAFICO THUYÛ SAÛN XUAÁT KHAÅU 47 Baûi saäy P1 Q11 TP.HCM SJC VAØNG BAÏC ÑAÙ QUYÙ TPHCM 350 CMT8 P12 Q3 ( )8543543 TAFACO THÖÔNG MAÏI TAÁN PHAÙT 4 Traàn PhuõP Q5 TP.HCM ( )8754875 THADACO XAÂY DÖÏNG THAØNH ÑAÏT 6E An Bình Q5 TP.HCM ( )5465454 TRACODI ÑAÀU TÖ PHAÙT TRIEÅN GTVT 343 Nhaät Taûo Q10 ( )5321321 TRANACO DÒCH VUÏ VAÄN TAÛI Q 3 156 Leâ Ñaïi HaønhP7 Q10 TP.HCM ( )8654635 NHAN VIEN MAÕ NV HOÏ NV TEÂN NV PHAÙI NGAØY SINH ÑIA CHÆ ÑIEÄN THOAI HÌNH 1 NGUYEÃN NGOÏC NGA NUÕ 10/12/64 13Huøng Vöông P4 Q5 ( )5465465 2 HAØ VÓNH PHAÙT NAM 07/12/79 89 Ñoàng Khôûi Q1 ( )8767461 3 TRAÀN TUYEÁT OANH NUÕ 27/02/67 45Leâ Quí Ñoân Q3 ( )5465465 4 NGUYEÃN KIM NGOÏC NUÕ 25/12/80 187 Haäu Giang P5Q6 ( )5654654 5 TRÖÔNG DUY HUØNG NAM 10/10/82 77 Tröông ÑònhQ1 ( )5871544 6 LÖÔNG BAÙ THAÉNG NAM 10/12/68 92 Leâ ThaùnhToânQ1 ( )8754165 7 LAÂM SÔN HOAØNG NAM 02/03/78 45 Kyù Con Q1 ( )8231231 8 NGUYEÃN MINH HOÀNG NAM 30/10/68 22 Laïc Long Quaân Q10 ( )7845138 9 VÖÔNG NGOÏC LAN NUÕ 10/12/67 227 Hai Baø Tröng Q1 ( )7784184 10 NGUYYEÃ THÒ MAI NUÕ 10/11/67 12Nguyõeân Chí Thanh Q3 ( )3451365 11 LEÂ VAÊN HUØNG NAM 06/03/57 56Nguyeãn TraõiQ1 ( )5745785 12 NGUYEÃN THÒ HOA NUÕ 10/10/66 12Nguyeãn Traõi Q1 ( )6465465
  • 9. Hành Access HOADON MAÕ HÑ LOAIHD MAÕ KH MAÕ NV NGAØY HÑ NGAØY GN HAØNG DIENGIAI 10148 X FISC 1 10/01/04 20/02/04 10150 T HUNSAN 4 03/05/04 29/06/04 10156 C FISC 4 12/01/04 05/09/04 10157 X SAFICO 2 10/01/04 20/05/04 10158 T HUNSAN 5 11/02/04 05/03/04 10159 N COMECO 8 04/01/04 06/07/04 10160 T THADACO 11 13/01/04 30/06/04 10162 N TRANACO 7 25/01/04 10/07/04 10163 N TRACODI 3 02/05/04 06/07/04 10166 X SJC 9 21/01/04 12/09/04 10172 T TAFACO 9 12/08/04 17/09/04 10175 C TRANACO 9 03/05/04 07/08/04 10177 T COMECO 2 29/01/04 05/07/04 10183 N SAFICO 2 01/01/04 02/06/04 10186 N TRACODI 11 15/04/04 30/04/04 10196 N SJC 1 28/06/04 01/07/04 10202 N COMECO 4 18/05/04 22/08/04 10207 N SJC 2 12/05/04 10/06/04 10208 X TRACODI 8 10/02/04 17/05/04 10210 N SJC 1 25/05/04 01/09/04 10214 C HUNSAN 6 11/07/04 12/08/04 10221 T TRACODI 11 02/08/04 30/09/04 10223 X SJC 8 01/02/04 30/01/04 10224 X SAFICO 7 02/05/04 28/05/04 10225 X COMECO 2 10/05/04 20/05/04 10226 N FAHASA 3 11/09/04 30/09/04 10227 X SAFICO 8 10/01/04 12/02/04 10228 C HUNSAN 2 05/02/04 12/03/04 10230 T HUNSAN 2 19/08/04 22/09/04 10238 T LIXCO 7 02/08/04 30/08/04 10252 X TRACODI 3 15/02/04 11/03/04
  • 10. Hành Access
  • 11. Hành Access T Câu 2: Thực hiện sắp xếp: CTHOADON MAÕ HÑ MAÕ SP SOÁ LÖÔÏNG ÑÔN GIAÙ 10148 3 20.00 2.20 10148 4 30.00 16.50 10148 9 20.00 13.20 10150 2 22.00 44.00 10150 4 10.00 16.50 10156 8 20.00 68.75 10157 3 4.00 2.20 10157 4 50.00 16.50 10159 1 30.00 253.55 10159 7 2.00 5.50 10162 1 5.00 253.55 10162 2 10.00 44.00 10162 7 12.00 5.50 10172 5 25.00 1.10 10175 8 20.00 68.75 10183 4 12.00 16.50 10183 5 20.00 1.10 10183 6 12.00 11.00 10196 4 12.00 16.50 10196 9 50.00 13.20 10207 5 15.00 1.10 10208 7 20.00 5.50 10224 9 22.00 13.20 10225 1 10.00 253.55 10225 4 7.00 16.50 10225 5 55.00 1.10 10226 4 21.00 16.50 10226 6 110.00 11.00 10227 2 15.00 44.00 10228 4 45.00 16.50 10228 5 15.00 1.10 10228 7 28.00 5.50 10230 6 30.00 11.00 10238 1 4.00 253.55 10238 2 10.00 44.00 10238 3 12.00 2.20 10238 9 20.00 13.20 10252 2 100.00 44.00 10252 3 40.00 2.20 10252 4 25.00 16.50 SANPHAM MAÕ SP TEÂN SP ÑVÒ TÍNH ÑÔN GIAÙ SL TOÀN 1 RÖÔÏU CHAI 230.50 4 2 GIA VÒ THUØNG 40.00 2 3 BAÙNH KEM CAÙI 2.00 15 4 BÔ KG 15.00 5 5 BAÙNH MÌ CAÙI 1.00 20 6 NEM KG 10.00 20 7 TAÙO KG 5.00 28 8 CAÙ HOÄP THUØNG 62.50 5 9 KEÏO THUØNG 12.00 10 10 GAÏO KG 2.00 50 11 NEÁP KG 3.00 60
  • 12. Hành Access 1. Mở Table SAN PHAM a.Sắp xếp theo DONGIA tăng dần. b.Sắp xếp theo TENSP giảm dần 2. Mở Table HOA DON: Sắp xếp theo MANV tăng dần, trùng MANV thì xếp theo NGAYLAPHD tăng dần. 3. Mở Table NHAN VIEN: Sắp xếp theo PHAI, trùng phái thì xếp theo TENNV giảm dần, trùng TENNV thì xếp theo NGAYSINH tăng dần. 4. Đóng Table NHÂN VIÊN đã được sắp xếp, sau đó mở lại một lần nữa, bảng nhân viên có còn được theo thứ tự sắp xếp không? Cho nhận xét Câu 3: Thực hiện thao tác lọc dữ liệu như sau: 1. Mở table NHÂN VIÊN, sử dụng Filter by Selection thực hiện lọc a.Các nhân viên có tên là “Hùng” b.Các nhân viên có tên bắt đầu là “H” c.Các nhân viên có họ lót là “Ngọc” d.Các nhân viên sinh năm 1975 e.Các nhân viên sinh vào tháng 09 f. Các nhân viên nam 2. Mở table SANPHAM, sử dụng Filter by form thực hiện lọc: a.Các sản phẩm có đơn vị tính là “thùng” b.Các sản phẩm có đơn giá >100 c.Các sản phẩm có đơn giá 20 đến 50 3. Mở table KHACHHANG, sử dụng Advanced Filter/Sort thực hiện lọc: a.Các Khách hàng ở “Tp. HCM” nhưng không có số điện thoại b.Các khách hàng ở “Tp. HCM” hoặc “Hà Nội” Câu 4: 1. Sao chép cấu trúc và dữ liệu của table NHANVIEN thành table có tên là LYLICHNV 2. Sao chép cấu trúc của table SAN PHAM thành table có tên là SANPHAMMOI 3. Sao chép cấu trúc và dữ liệu của SANPHAM thành table có tên là SP_TAM 4. Đổi tên table SANPHAMMOI thành SANPHAMMOINHAP 5. Đổi tên table LYLICHNV thành bảng CHAMCONGNV 6. Vào chế độ Design View của bảng CHAMCONGNV, thực hiện các công việc: a.Chèn thêm trường NC (ngày công), có kiểu dữ liệu là Number, Validation rule là >=0 and <=30 b.Chèn thêm trường DGNC (đơn giá ngày công), có kiểu dữ liệu là Number, Validation Rule >0 c.Xóa các trường HONV, TENNV, PHAI, NGAYSINH, ĐIACHI, DIENTHOAI d.Nhập các giá trị cho cột ngày công tùy ý nhưng nằm trong khoảng từ 0 đến 30, thử nhập giá trị >30 và cho nhận xét e.Nhập các giá trị cho cột DGNC là 15000 hoặc 20000, thử nhập giá trị <0 và cho nhận xét Câu 5: 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 giá 100
  • 13. Hành Access b.Tìm những sản phẩm có đơn vị tính là “Kg” c.Tìm những sản phẩm có Tên sản phẩm bắt đầu là “B” d.Tìm và thay thế những đơn vị tính là “cái” thay thành “Chiếc”. Câu 6: Xoá table SP_TAM, CHAMCONGNV, SANPHAMMOINHAP. Câu 7: Thiết lập Relationship giữa các table. Câu 8: Tạo CSDL trống tên QLVT.MDB, sau đó dùng chức năng Import, Import các Table SanPham, HoaDon, ChiTietHoadon từ CSDL Hoadon sang và 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. Câu 9 : Dùng chức năng Export, export Table KhachHang, Nhanvien từ CSDL HoaDon sang CSDL QLVT.MDB. Câu 10 : Dùng chức năng Export, export Table KhachHang từ CSDL HoaDon thành tập tin tên DanhSachKhachHang.XLS bên Excel.
  • 14. Hành Access BÀI 4 BÀI TẬP QUERY Mở tập tin HOADON.MDB 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 : mã HD, tên KH, tên NV lập hoá đơn, ngày lập HD, ngày nhận hàng, kết quả được sắp xếp theo ngày lập hóa đơn. 2) Tạo query cho biết các thông tin về sản phẩm đã xuất bán trong các hóa đơn như sau : Tên sp, mã HD, ngày lập hóa đơn, ngày nhận hàng, số lượng, kết quả được sắp xếp theo ngày nhận hàng. 3) Tạo query cho biết các thông tin về nhân viên và những hóa đơn của nhân viên lập như sau :tên Nv lập hóa đơn, Mã HD, Mã khách hàng, ngày lập HD, ngày nhận hàng, kết quả được sắp xếp theo ngày nhận hàng. 4) Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC : mã HD, tên NV lập hóa đơn, ngày lập HD, ngày nhận hàng. Kết quả được sắp xếp theo ngày nhận hàng. 5) Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC, FAHASA, SAVICO, SJC bao gồm : mã HD, mã KH, tên NV lập hoá đơn, ngày lập HD, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá. Kết quả được sắp xếp theo mã khách và ngày nhận hàng. 6) Tạo query cho biết các thông tin của hoá đơn có mã số 10177 : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền. 7) Tạo query cho biết các thông tin về hoá đơn của khách hàng FAHASA và SAFICO : mã HD, mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền. Kết quả được sắp xếp theo mã khách và ngày nhận hàng. 8) Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng. 9) Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng và tháng hai : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng. 10)Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng và tháng hai đồng thời có thời gian giao hàng trong tháng 3 : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng. 11)Tạo query cho biết các thông tin của hoá đơn lập trong tháng 5 và số lượng giao hàng của mỗi mặt hàng lớn hơn 10 : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền. 12)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/04: mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền. 13)Tạo query cho biết các thông tin của hoá đơn có thời gian giao hàng nhỏ hơn 20 ngày tính từ ngày lập hóa đơn : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền.
  • 15. Hành Access 14)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 table hóa đơn : mã HD, ngày lập hóa đơn. 15)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 : mã HD, mã KH, tên KH, địa chỉ khách hàng, tên NV, địa chỉ NV, ngày lập HD, ngày nhận hàng. 16)Tạo query cho biết các thông tin về hóa đơn do những nhân viên ở Q11 lập : Mã HD, mã KH, tên KH, địa chỉ khách hàng, tên NV, địa chỉ NV, ngày lập HD, ngày nhận hàng. 17)Tạo query CHITIETHD gồm các vùng sau : MAHD, TenSp, Dongia, Songay, Thanhtien, TienTraTruoc, Conlai. Trong đó : Thành tiền là số lượng nhân đơn giá. Songay : số ngày từ ngày lập hóa đơn đến ngày nhận hàng. Tiền trả trước : Nếu số ngày <=20 thì trả trước 20% thành tiền, nếu 20=1985
  • 16. Hành Access 25)Cho xem danh sách nhân viên có tuổi từ 20 đến 40. 26)Danh sách các hoá đơn có ngày lập hóa đơn là ngày hiện hành. 27)Danh sách các sản phẩm ứng với tiền tồn vốn. Thông tin bao gồm MaSp, TenSp, Dongia, SLTon, Tiền Tồn. Trong đó Tiền tồn = SLTON * DONGIA. 28)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, giới tính, tuổi, độ tuổi. Trong đó Họ và tên là được ghép bởi HoNv và TenNv: & Giới tính là Phái nhưng được hiện Nam hoặc Nữ Tuoi=year(Date( )) –year([ngaysinh]) Độ tuổi : dựa vào tuổi nếu tuổi <18: Thanh thiếu niên Tuổi từ 18 đến < 35: Thanh niên Tuổi từ 36 đến < 50 : Trung niên Tuối >=50 : Cao niên 29)Cho biết những nhân viên ở độ tuổi là Cao Niên (dữ liệu nguồn là câu 28) 30)Danh sách 3 nhân viên lớn tuổi nhất. 31)Danh sách các sản phẩm được nhập. Thông tin bao gồm MaSp, TenSp, Donvitinh, TongSoLuong. Trong đó TongSoLuong là sum của Soluong, kết nhóm theo Masp. 32)Danh sách các hóa đơn ứng với tổng tiền của từng hóa đơn. Thông tin bao gồm MaHd, NgayLapHd, LoaiHD, Tong Tien. Trong đó Tong Tien là Sum của SoLuong * Dongia, kết nhóm theo Mahd. 33)Danh sách các hóa đơn xuất hoặc trả ứng với tổng tiền của từng hóa đơn. Thông tin bao gồm MaHd, NgayLapHd, LoaiHD, Tong Tien. Trong đó Tong Tien là Sum của SoLuong * Dongia, kết nhóm theo Mahd. 34)Mặt hàng đã nhập có trị giá lớn nhất.Thông tin bao gồm : MaSP, TenSP, Donvitinh, TongTriGia. 35)Các hoá đơn có số lượng xuất bán mặt hàng rượu nhiều nhất trong tháng 1/2004 Thông tin bao gồm: MaHD, TenKH, TenSP, Soluong. (Hướng dẫn : Sử dụng subQuery) 36)Cho biết mỗi khách hàng đã lập hóa đơn bao nhiêu lượt. Thông tin gồm MaKh, TenKh, Tổng số hóa đơn, Loại HD. Trong đó Tổng số hóa đơn được đếm (Count) theo từng Khách hàng và theo loại HD. 37)Cho biết mỗi nhân viên đã lập được bao nhiêu hóa đơn. 38)Cho biết mỗi nhân viên đã lập được bao nhiêu hóa đơn xuất, tổng tiền là bao nhiêu. Thông tin gồm MaNv, Ho va Ten, Tong so hoa don, Tong so Tien. 39)Tính doanh số bán của mỗi nhân viên trong quý 1và quý 2 40)Tạo query theo mẫu sau :
  • 17. Hành Access 41)Danh sách các sản phẩm có hoá đơn nhập trong 1 ngày tùy ý (tham số).Thông tin hiển thị: TenSP,NgayNhap,TongSoluong, TongTriGia. 42)Danh sách các sản phẩm có hóa đơn Xuất trong một khoảng thời gian được đưa vào ( ngày bắt đầu và ngày kết thúc là 2 tham số ).Thông tin hiển thị: TenSP, Ngayxuat, TongSoluong, TongTriGia. 43)Tạo query cho phép xem tổng số lượng đã bán của 1 sản phẩm tùy ý. 44)Tạo query khi thực hiện yêu cầu nhập ký tự đầu của MaKh, Hiện thị kết qủa là các HD đã lập cho nhóm khách hàng này (VD : các Makh bắt đầu là T). 45)Tạo query cho phép xem thông tin về các khách hàng ở 1 quận nào đó 46)Danh sách sản phẩm chưa từng được lập hóa đơn. 47)Danh sách các nhân viên chưa từng tham gia lập hóa đơn. 48)Danh sách các khách hàng chưa từng lập hóa đơn. 49)Thống kê tổng số lượng sản phẩm đã nhập ứng với mỗi nhà cung cấp và mỗi sản phẩm 50)Thống kê tổng số lượng sản phẩm đã xuất ứng với mỗi khách hàng và mỗi sản phẩm 51)Thống kê tổng tiền thu được từ những hóa đơn xuất ứng với mỗi nhân viên và ứng mỗi ngày 52)Thống kê tổng số sản phẩm đã xuất bán ứng với quý và ứng với từng sản phẩm . 53)Thống kê tổng trị giá hóa đơn được lập ứng với mỗi khách hàng và ứng với mỗi loại hóa đơn. 54)Tạo query thống kê mỗi khách hàng với số lượng mỗi mặt hàng đã mua Ví Dụ :
  • 18. Hành Access 1) Dùng Update query để tăng đơn giá của các sản phẩm lên 1% . 2) Dùng Update query để giảm 10% đơn giá của các sản phẩm có đơn vị tính 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 chính bằng đơn giá trong SAN PHAM. 5) Tạo query để sửa đổi số điện thọai của các nhân viên ở Q3 với số đầu bị đổi sang số 9 6) Sao chép bảng SANPHAM thành bảng tblSANPHAMTANGGIA cùng nội dung vàcấu trúc. Thiết lập query tăng giá của các sản phẩm lên 10 %. 1) Dùng Make Table Query, để tạo ra bảng HOA DON LUU 2004 gồm các cột MAHD, MANV, NGAYLAPHD, NGAYGIAONHANHANG, TTIEN, chứa các hoá đơn có tháng lập hóa đơn là tháng 1,2,3/2004 . 2) Tạo bảng tblKhachHangQ5 từ bảng khách hàng chứa thông tin về các khách hàng ở Q5 3) Tạo bảng tblHoaDonQuy1 từ bảng hóa đơn chứa thông tin về các hóa đơn đã lập trong quý 1 4) Tạo bảng tblHoaDonHunSan1 từ bảng hóa đơn chứa thông itn về các hóa đơn đã lập cho khách hàng có MaKH là HUNSAN trong tháng giêng 5) Dùng Make Table Query, tạo ra bảng LUONG NV gồm các cột MANV, HOTEN, THANG, LUONG. Lưu ý a. Truy vấn có 2 tham số để nhập vào tháng, và năm cần cập nhật lương b. 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à 2004 thì kết quả của field tháng là “02/04”
  • 19. Hành Access c. LUONG = 1 % tổng doanh thu của nhân viên trong tháng năm tính lương. Ví dụ trong tháng 2/1992 nhân viên NV001 đạt doanh thu là 100 triệu thì lương là 1 triệu 1) Tạo một Append query, để cập nhật lương của các nhân viên cho một tháng tùy ý, cách tính lương theo qui tắc trên. 2) Tạo một Append query, để cập nhật các hóa đơn tháng 4,5,6/2004 vào bảng HOA DON LUU 2004. 3) Sao chép cấu trúc của table tblHoaDonHunSan1 để tạo 1 table rỗng có tên tblHoaDonHunSan1-2 Sau đó thiết lập query để nối các mẫu tin là các hóa đơn đã lập trong thàng của khách hàng này vào đó. 4) Sao chép tblKhachHangQ5 thành tblKhachHangQ135 có cùng nội dung và cấu trúc. Sau đó thiết lập query nối các mẫu tin là các khách hàng ở Q3 và Q5 từ bảng khách hàng vào nó. 1. Tạo Query xóa các khách hàng ở Q5 trong table tblKhachHang135. 2. Tạo một Delete Query dùng để xóa mẫu tin lương của các nhân viên trong một tháng tùy ý nào đó.
  • 20. Hành Access BÀI 5 BÀI TẬP FORM Phần 1 : Form căn bản Yêu cầu : tạo form bằng công cụ Form wizard, Autoform. Phân biệt các dạng form. Thực hiện các thao tác trên form. 1. Dùng Form wizard tạo form tên Nhanvien_1 dạng columnar cho bảng NHANVIEN theo mẫu như hình bên. Mở form Nhanvien_1 ở chế độ Form View , thực hiện các thao tác trên form : - duyệt record - 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 - Thay đổi trình bày của dữ liệu trong form . (HD : sử dụng navigation buttons , các biểu tượng Find record, Filter by Form , New record, Delete record, Format font…) 2. Tương tự sử dụng Form wizard tạo form Nhanvien_2, Nhanvien_3, … dạng tabular, datasheet, justify.Hãy nhận xét và phân biệt 4 kiểu form trên. 3. Sử dụng AutoForm để tạo form dạng columnar, tabular, datasheet cho bảng KHACHHANG, đặt tên các form là KhachHang_1, KhachHang_2,… Hãy nhận xét về 2 công cụ tạo form : AutoForm và Form wizard. Phần 2 : Thiết kế Form căn bản Yêu cầu : Làm quen với một số thuộc tính của form, control. Các thao tác trên Design view. Tìm hiểu cách dùng các control để tạo form 4. Mở form Nhanvien_1 ở chế độ Design . Chỉnh sửa form giống như 2 mẫu sau Hướng dẫn: Chọn control, di chuyển, thay đổi size của control; thay đổi format ; thay đổi caption; thay đổi lựa chọn về record selector, default view...
  • 21. Hành Access 5. Tự thiết kế form giống như mẫu form Nhanvien_1 (đặt tên form là Nhanvien_dsg). Hướng dẫn: Mở 1 form mới ở chế độ Design . Tạo các control trên form bằng 1 trong 2 cách sau : dùng field list hoặc dùng control textbox và label trên thanh công cụ toolbox. 6. Thiết kế form có sử dụng control Option group : Chỉnh sửa thiết kế cho form Nhanvien có dùng OptionGroup hiển thị Phái như mẫu form NV_model 4. 7. Tạo form Hoadon : có sử dụng combo box để trình bày dữ liệu các field Loai HD, MaNV, MaKH (như mẫu form Hoadon_mau 1) Tương tự : Tìm hiểu List box để trình bày Loai HD . 8. Sử dụng Crosstab Query làm dữ liệu cho form, sử dụng Textbox control hiển thị kết quả tính toán .Trình bày form dạng continuos có header/footer như mẫu form Crosstab_Sanpham. (Dữ liệu trong form thể hiện: số lượng nhập , xuất theo mặt hàng theo Quí.Trong phần footer hiển thị Tổng số lượng của tất cả các mặt hàng.)
  • 22. Hành Access Phần 3: Main - Sub Form rường hợp 1 : Ô quan hệ với Subform ở MainForm là một Textbox 9. Tạo Form theo mẫu sau Hướng dẫn: B1: Tạo Subform đặt tên Sub9 hiển thị MASP, TENSP, SOLUONG, DONGIA, THANHTIEN. (Datasource là query có kết xuất gồm các field như trên nhưng thêm Field quan hệ với Main là MAKH; form hiển thị dạng Datasheet) B2: Tạo Main form đặt tên Form9 hiển thị dữ liệu của table KHACHHANG B3: Kéo biểu tượng của Sub9 từ Database Window vào vùng Detail B4: Kiểm tra liên kết giữa 2 form là Link master field : MAKH Link child field : MAKH. B5 : Tạo ô Tính toán tổng trị giá hoá đơn. Trong phần Form Footer của Sub9 tạo 1 text box đặt tên là TONGTIEN và trong Control Source của nó gõ vào công thức =SUM([THANHTIEN]) Vẽ một Textbox trong Main form dưới vị trí của khung Subform :Chỉnh thuộc tính như sau : Đặt Caption của Label là Tổng Thành Tiền : Đặt Control Source của Textbox biểu thức sau :=[sub9].[Form]![TONGTIEN] 10.Dùng Design form tạo Form dạng Main_Sub form như mẫu form Hoadon_MainSub Hướng dẫn: B1: Tạo Subform đặt tên Sub10 hiển thị MAHD, TENSP, SOLUONG, DONGIA, THANHTIEN. (Datasource là query có kết xuất gồm các field như trên nhưng thêm Field quan hệ với Main là MAHD; form hiển thị dạng Datasheet) B2: Tạo Main form đặt tên Form10 hiển thị dữ liệu của table HOADON B3: Kéo biểu tượng của Sub10 từ Database Window vào vùng Detail của Form10 B4: Kiểm tra liên kết giữa 2 form là Link master field :MAHD Link child field : MAHD. B5 : Tạo ô Tính toán tổng trị giá hoá đơn.
  • 23. Hành Access Trường hợp 2 : Ô quan hệ với Subform ở MainForm là một ComboBox 11.Hãy tạo Form theo mẫu dưới đây : Khi chọn tên 1 sản phẩm từ Combo Box thì sẽ hiển thị các thông tin tương ứng trong Subform và các Unbound Textbox. Hướng dẫn: B1: Tạo Subform đặt tên Sub11 hiển thị MAHD, TENCTY, SOLUONG, DONGIA, THANHTIEN. (Datasource là query có kết xuất gồm các field như trên và thêm field quan hệ với Main là Tensp; form hiển thị dạng Datasheet) B2: Tạo Main form đặt tên Form11 nhưng không lấy nguồn dữ liệu. B3: Kéo biểu tượng ComboBox trên Toolbox vào và sửa các thuộc tính sau cho Combo : Row Source Type : Table/Query Row Source : Click ô ba chấm, chọn bảng SanPham và lấy Field Tensp. Name : Cbotensp.
  • 24. Hành Access Kéo biểu tượng của Sub11 từ Database Window vào vùng Detail B4: Kiểm tra liên kết giữa 2 form là Link master field : CboTensp Link child field : Tensp. B5 : Tạo ô Tính toán số lần bán, tổng số lượng, tổng tiền . 12.Tạo Form dạng Main_Sub form như mẫu form Sanpham_HD_MainSub1 , theo yêu cầu : Khi chọn tên 1 sản phẩm từ Combo box sẽ hiển thị các thông tin tương ứng trong Subform. Tương tự : tạo form như mẫu Sanpham_HD_MainSub 2. 13.Tạo Form theo mẫu sau :
  • 25. Hành Access Yêu cầu : Click Combo Makh sẽ hiện danh sách các khách hàng, sau đó Click Combo Mahd sẽ hiển thị các Mahd mà Khách hang đã chọn trong Combo box Makh đã mua, đồng thời hiện các thong tin Ngày lập, ngày giao và chi tiết của hoá đơn này trong SubForm. 14.Dùng Design form tạo Main form có 2 Subform như mẫu form Khachhang_MainSubF
  • 26. Hành Access Hướng dẫn : B1 : Tạo SubForm1 tên Sub14a : Các hoá đơn đã lập cho từng khách hàng. (datasource là Query gồm Manv, Mahd, NgayLaphd, Ngaygiaonhanhang, Makh, Form có dạng Datasheet) B2 : Tạo Subform2 tên Sub14b : Chi tiết về từng hoá đơn. (datasource là query gồm Tensp, Soluong, Dongia, Thanhtien, MaHd, Form ở dạng Tabular và tính Trigia ở Form Footer. B3 : Tạo Main Form :Nguồn dữ liệu là Table KhachHang Kéo biểu tượng Sub14a từ cửa sổ DataBase vào Liên kết giữa Mainform và Subform1 thông qua MakH Link child Fields : MaKH. Link Master fields : MAKH. B4 :Tạo 1 Text box trung gian : Control Source : Sub14a.FORM!MAHD. Name : txtMaHD. Visible : No. (nếu muốn ẩn ô text box này) B5 : Kéo biểu tượng Sub14b từ cửa sổ Database vào : Liên kết giữa SubForm1 và SubForm2 thông qua Text box HD. Link Child Fields : MAHD. Link Master Fields : TxtMaHD. 15.Dùng Design form tạo Main form có 2 Subform như mẫu form Khachhang_Hoadon_TAB Yêu cầu : dùng Tab control để hiển thị 2 Subform.
  • 27. Hành Access 16.Hãy tạo Form theo mẫu dưới đây : khi chọn 1 mã nhân viên từ Combo box thì trong trang 1 (Chi tiet hoa don) sẽ hiển thị các hoá đơn do nhân viên này lập. Và khi Click vào trang Thong tin ve nhan vien thì hiện chi tiết các thông tin về nhân viên này.
  • 28. Hành Access BÀI 5 BÀI TẬP PHẦN REPORT 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 - AutoReport Columnar , AutoReport Tabular 2. Công ty có nhu cầu gửi thư chào hàng tới các khách hàng, hãy dùng công cụ Label Wizard để in nhãn cho thư gửi . 3. 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 : B1 : Tạo query làm nguồn cho Report chứa tất cả các field có trong Report. B2 : Chọn Report _ New _ Design View_ Chọn Nguồn là Query vừa tạo. Click menu View_ Chọn Sortting and Groupping Chọn Field Mahd làm phân nhóm Kéo các Field Mahd, Makh, tenkh, NgayLaphd, NgayGiaoNhanHang, DienGiai vào Mahd Header Kéo các Field Tensp, DonVitinh, Soluong, Dongia, Thanhtien vào Detail.
  • 29. Hành Access Tạo Số thứ tự. Tạo một Text box để tính tổng trị giá. Chỉnh sửa Report theo mẫu. b. Main/Sub : - Có dạng Main/Sub Report : Sub report chứa chi tiết hoá đơn (Mã HD, Tên sp, Đvt , Sốlượng, Đơn giá, Thành tiền) groupby theo MaHD. Mainreport chứa thông tin chung của hóa đơn (TênKH, Địa chỉ, Ngày lập HD, Ngày giao hàng, diễn giải). Field link giữa Main và Subreport là MãHD - Sử dụng Query làm dữ liệu nguồn cho Main và Subreport - Trình bày trên mỗi trang là một Hoá đơn ( phần page header và page footer giống nhau ) - Thêm 1 số control hiển thị tiêu đề và định dạng như mẫu Report_Hoadon
  • 30. Hành Access 4. Tạo Báo cáo Bán hàng theo ngày như mẫu Report_banhang (trang 24.) HD: - dùng query làm dữ liệu nguồn cho Report - Groupby header : là ngày lập hoá đơn . Groupby footer : là tổng trị giá hoá đơn. - Sắp xếp theo Mã hoá đơn - Report header : chứa tiêu đề báocáo , ngày lập báo cáo, người lập báo cáo - Report footer (hay Report header) : chứa tổng trị giá các hoá đơn - Page footer : chứa số trang (với định dạng “Trang SốTrang/TongsoTrang ”) - Dùng line, format các control trong report sao cho trang report dễ xem. - Có thể dùng Report Wizard để tạo report , sau đó sửa lại trình bày trong Design.
  • 31. Hành Access 5. Sử dụng lần lượt 3 cách sau để tạo Báo cáo Bán hàng chỉ hiển thị các giá trị tổng cộng theo nhóm _ không hiển thị chi tiết . Như mẫu Report_banhang 2 (trang 25) - Wizard (summary) - Design - kết hợp cả hai
  • 32. Hành Access 6. Thẻ kho là hình thức lưu trữ thông tin về hàng hoá đã nhập hay đã xuất khỏi kho hàng. Hãy tạo báo cáo in Thẻ kho như mẫu Report_thekho HướngDẫn: - dùng Query làm dữ liệu nguồn cho báo cáo - Sử dụng Page break hay thuộc tính ForceNewPage để in mỗi mặt hàng trên 1 trang. - Từ ngày = Min([ngày lập HD]) ; Đến ngày = Max([ngày lập HD]) - Tồn đầu kỳ: gán trị 0 - Giá trị của cột Tồn : được cộng dồn theo công thức Tồn = tồn đầu kỳ + số lượng nhập – số lượng xuất (Sử dụng thuộc tính RunningSum của Textbox Control để hiển thị cột Tồn )
  • 33. Hành Access 7. Tạo Report theo mẫu sau :
  • 34. Hành Access BÀI 6 BÀI TẬP MACRO 1. Tạo Form theo mẫu sau : Ứng dụng Macro vào trong các nút lệnh. Yêu cầu : o Các nút mũi tên : Duyệt các mẩu tin về đầu, tiếp, trước, cuối. o Nút Thêm : Thêm vào một hoá đơn mới, nếu hoá đơn có rồi thì báo yêu cầu nhập lại. Nếu nhập Makh, Manv chưa có bên bảng Khachhang, NhanVien thì báo nhập lại. o Nút Xem Chi Tiết Hoá Đơn : Mở Form Hóa Đơn bán hàng đã làm ở bài tập Form. o Nút In mở Report Hoá Đơn bán Hàng của hóa đơn đang hiện. o Nút Tìm : Tìm một hóa đơn bất kỳ. o Nút Xóa : Xoá hoá đơn đang chọn, 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 xóa thì mới xóa. o Nút Thoát : Đóng Form 2. Tạo Form theo mẫu sau trong đó ứng dụng Macro có điều kiện sau :
  • 35. Hành Access Khi thực hiện : Click Bảng tổng hợp hóa đơn và nhấn Xem báo cáo hiện :
  • 36. Hành Access Click Chi tiết từng hóa đơn : Chọn xong nhấn nút IN Bao Cao hiện
  • 37. Hành Access 3. Tạo form cho phép xem Báo cáo bán hàng theo 1 trong những tiêu chuẩn lựa chọn sau a. xem toàn bộ b. chọn theo Ngày lập hoá đơn ( 1 ngày, hoặc 1 khoảng thời gian) c. chọn theo Mã hoá đơn d. chọn theo Tên sản phẩm Khi nhấn OK sẽ mở report Báo cáo bán hàng (xem phần Report_ mẫu Report_banhang) theo tiêu chuẩn đã xác định trong form. Nếu User 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 enable/ able của các mục chọn. Hướng Dẫn : có thể xem ví dụ mẫu Nwind (mẫu form Customer labels diaglog) - Thiết kế form :sử dụng Option Group để tạo nhóm nút lựa chọn và sử dụng kết hợp với textbox, combo box để nhập giá trị làm tiêu chuẩn lựa chọn - Xử lý trên form :sử dụng các macro sau OpenReport (mở report theo điều kiện xác định trong form, sự kiện Onclick của nút OK) Msgbox (mở hộp thoại thông báo khi User không chỉ định rõ giá trị làm tiêu chuẩn lọc , sự kiện Onclick của nút OK) Setvalue (gán trị của thuộc tính Enable của textbox, combo box , sự kiện AfterUpdate của Option Control ) 3. Sử dụng Form Hoadon_mainSubF (ở câu 12) làm form nhập chứng từ Hoá đơn. Yêu cầu : - Chỉnh sửa form cho phù hợp với mục đích làm form nhập Hoá đơn (nếu cần ) - Sử dụng macro tạo các nút lệnh để duyệt xem mẩu tin , thêm mới mẩu tin, in hoá đơn (mở report_Hoadon trong phần report) , đóng form - Sử dụng macro xử lý tự động tình huống : user thêm mới 1 Mã KH, 1 Tên SP chưa có trong table Khachhang và San pham thì sẽ tự động mở form tương ứng cho nhập Khách hàng và Sản phẩm mới.
  • 38. Hành Access 4. Dựa vào các form, report đã thiết kế, hãy xây dựng 1 form có vai trò MainMenu mở ra các form, report chức năng . Giả định MainMenu dùng cho chương trình Quản lý hoá đơn_hàng hoá với các chức năng chính là : Nhập chứng từ Hoá đơn (Nhập, xuất) Nhập danh mục hàng, khách hàng, nhân viên Hiển thị thông tin thống kê hàng hoá Xuất, Nhập, Tồn In /Xem các Báo cáo thống kê tình hình bán hàng, về Hàng hoá … (Tham khảo mẫu sau )
  • 39. Hành Access BÀI TẬP 7 BÀI TẬP MODULES_MENU 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. Tạo Form sau : Bạn nhập tên, sau đó nhấn nút Text sẽ hiện chuỗi :Xin chào bạn NGUYEN MINH HOANG”. Nhấn nút CLEAR sẽ xóa nội dung trong 2 hộp text box. Nhấn nút EXIT : Đóng Form. 4. Tạo các form tính toán sau : Khi nhấn nút Mới thì Form giống dạng sau :
  • 40. Hành Access 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 sau : 5. Tạo form thực hiện các công việc sau : Chú ý : Nếu ba cạnh không hợp thành tam giác thì xuất hiện thông báo sau 6. 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. 7. 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. 8. 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. 9. 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. 10.Viết một thủ tục đếm số mẫu tin có trong bảng Nhanvien, in kết quả ra hộp thong báo. 11.Viết thủ tục xếp thứ tự dữ liệu của bảng Nhanvien tăng dần theo ngày sinh, sau đó in ra cửa sổ Debug các mẫu tin trong bảng gồm Manv, Hoten, Ngaysinh, Phai. 12.Viết một thủ tục tìm Manv trong bảng Nhan viên. Dùng hộp thoại để thong báo kết quả tìm kiếm.
  • 41. Hành Access 13.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 tin của bảng Nhanvien. 14.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 Nhan vien, 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. 15.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 Even procedure khi người dung nhập Manv vào txtmanv, nhấn nút Tìm sẽ tìm ngay mẫu tin lien quan để hiện lên Form. 16.tạo Form Danh sách Hoa don theo ngàycó hai text box txttungay và txtdenngay, một Command button Loc. Viết một Event procedure khi người dung nhập vào hai textboc, 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. 17.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. 18.Hãy tạo Form theo mẫu dưới đây Form trình bày thông tin về nhân viên. a. Khi Click vào nút First thì sẽ trình bày nội dung của mẩu tin đầu tiên trong các Unbound textbox. b. Khi Click vào nút Next thì sẽ hiển thị thông tin về nhân viên kế tiếp. Nếu đang hiển thị nhân viên cuối cùng thì sẽ thông báo là đã đến cuối danh sách, mẩu tin hiện hành vẫn là mẩu tin cuối cùbg. c. Khi Click vào nút Previous thì sẽ hiển thị thông tin về nhân viên kế trước. Nếu đang hiển thị nhân viên đầu tiên thì sẽ thông báo là đã đến đầu danh sách, mẩu tin hiện hành vẫn là mẩu tin đầu tiên. d. Khi Click vào nút Last thì sẽ trình bày nội dung mẩu tin cuối cùng. e. Khi Click vào nút Close thì sẽ đóng Form lại. 19.Hãy tạo Form theo mẫu dưới đây : với các Textbox là các Unbound Control
  • 42. Hành Access a Khi click vào nút :”TIM THEO MAKH” sẽ hiện hộp thoại yêu cầu nhập Mã Khách Hàng để tìm kiếm trong bảng :”Khach hang”. Nếu có thì sẽ hiện nội dung tương ứng trong các Textbox, nếu không có thì sẽ hiện thông báo là Mã Khách Hàng không có trong danh sách. b Khi Click vào nút “XOA KH” thì nếu chưa có mẩu tin nào hiển thị trong danh sách thì sẽ thông báo là “Khong co mau tin de xoa “, ngược lại sẽ xóa mẩu tin hiện hành (đang hiện trong Form) rồi xóa trắng nội dung các TextBox. c Khi Click vào nút “THOAT” thì đóng Form lại. 20.Tạo CSDL tên NHANSU.MDB có cấu trúc các bảng như sau : NHANVIEN(MANV Text(10), HOTEN Text(30), NGAYSINH (Date/times), MAPHONG Text(5)) PHONG(MAPHONG Text(5), TENPHONG Text(40), DIENTHOAI Text(10)) Thiết lập quan hệ và nhập dữ liệu cho các bảng trên. tableNhanVien MANV HOTEN NGAYSINH MAPHONG A01 Lê Minh Hương 21/03/80 P1 A02 Trần Lệ Khanh 14/04/79 P2 A03 Hàn trung Định 16/07/76 P1 A04 Đặng Thanh Thúy 28/12/76 P1 A05 Đinh Ngọc Hạnh 02/03/81 P3 TablePhongBan MAPHONG TENPHONG DIENTHOAI P1 Phòng Kinh Doanh 8564757 P2 Phòng Vật Tư 8243589 P3 Phòng Tổ Chức 8944514 21.Tạo Form tên frmNHANVIEN theo mẫu sau : với các Control là Unbound Textbox.
  • 43. Hành Access 1. Khi Click vào nút TIM 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. 2. Khi Click vào nút THEM 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. 3. Khi Click vào nút XOA thì sẽ hiện hộp thoại yêu cầu xác nhận với nội dung “ban 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. 4. Khi Click nút DONG thì sẽ đóng Form lại. 12. BÀI TẬP MENU : Bạn tự xây dựng một hệ thống Menu cho CSDL HoaDon.MDB, Sau đó xây dựng CSDL này thành một ứng dụng.
  • 44. Hành Access BÀI TẬP LÀM THÊM : CƠ SỞ DỮ LIỆU QUẢN LÝ SINH VIÊN
  • 45. Hành Access
  • 46. Hành Access
  • 47. Hành Access Nhaäp döõ lieäu cho caùc table SINH VIEN KETQUA
  • 48. Hành Access MONHOC
  • 49. Hành Access KHOA LOPHOC MAKHOA
  • 50. Hành Access
  • 51. Hành Access
  • 52. Hành Access 1) Taïo Form söû duïng caùc ñoái töôïng Label, text, Command, Check, Sun Form, Image, unbound Object, Bound Object Frame theo daïng sau :
  • 53. Hành Access 2) Taïo form söû duïng Tab Control. a. Taïo Form Keát quaû thi cuûa lôùp theo maãu sau : Yeâu caàu : Khi nhaép nuùt lôùp hoïc seõ hieån thò thoâng tin veà lôùp hoïc theo maãu sau : Khi nhaép nuùt Keát quaû chung seõ hieån thò thoâng tin veà keát quaû thi cuûa caùc sinh vieân lôùp ñang xem theo maãu sau (Chuù yù : Do danh saùch sinh vieân thuoäc hai khoa, moãi khoa thi caùc moân hoïc khaùc nhau neân khi choïn maõ lôùp seõ truyeàn tham soá cho query cuûa SubForm baûng ñieåm ñeå ra baûng ñieåm töông öùng): Höùông daãn: Böôùc 1 : Taïo Sub Form Frmketqua: Keát quaû hoïc taäp töøng lôùp theo nhöõng thoâng tin ôû maøn hình 2 (löu yù : Khi taïo nguoàn döõ lieäu cho Sub Form naøy phaûi coù Malop). Trong phaàn Form Footer taïo 1 text box ñaët teân laø SOSV vaø trong Control source cuûa noù goõ vaøo coâng thöùc =count([MASV]). Böôùc 2 : Taïo Form Keát quaû thi cuûa lôùp vôùi nguoàn döõ lieäu laø baûng LOPHOC.
  • 54. Hành Access Taïo ñoái töôïng laø Tab Control Taïi trang 1 (lôùp hoïc): Keùo caùc Field töø Field List xuoáng vaø trình baøy caùc ñoái töôïng nhö maøn hình 1. Taïi trang 2 (keát quaû chung) : Chöùa Sub Form Ketqua nhö maøn hình 2: Link child Fields : Malop. Link Master Fields : Malop. Taïo 1 Textbox döôùi vò trí cuûa khung SubForm Ñaët Caption : Toång soá sinh vieân. Ñaët Control Source cuûa Textbox bieåu thöùc sau := [Frmketqua].[Form]![SOSV] b. Taïo Form theo maãu sau :Sinh vieân töï laøm
  • 55. Hành Access 3) Truyeàn tham soá töø form vaøo Query vaø Report Yeâu caàu: Taïo Form coù daïng sau : a. Click choïn MASV, nhaán nuùt xem thì seõ chaïy query hieån thò baûng ñieåm cuûa sinh vieân vöøa choïn b. Nhaán nuùt IN hieån thò Report baûng ñieåm cuûa sinh vieân ñoù. Nuùt Thoaùt laø ñoùng Form höôùng daãn: Böôùc 1 : Taïo Form BANGDIEMSV goàm :Combobox : Chænh thuoäc tính Name : Cbomasv Row Source Type : Table/Query Row Source : Böôùc 2 : Taïo Query laøm nguoàn döõ lieäu cho Report luoân goàm Masv, HoTen, Malop, Mamh, tenmh, Lanthi, Diem vaø truyeàn tham soá vaøo Query taïi coät MASV nhö sau : Böôùc 3: Taïo report laáy nguoàn döõ lieäu laø Query treân. 4) Truyeàn tham soá giöõa caùc thaønh phaàn cuûa Form Neáu truyeàn tham soá töø Form naøy sang Form khaùc (Hay Report). Neáu truyeàn tham soá töø SubForm sang Main form trong cuøng 1 Form Coâng thöùc :
  • 56. Hành Access a. Yeâu caàu Taïo Form coù daïng sau : Höôùng daãn: Böôùc 1 : Taïo Main Form THONG TIN CHI TIET SV trong ñoù baïn haõy cheøn ñoái töôïng tab Control vôùi hai trang maøn hình CHITIET LOP HOC vaø THONG TIN VE SINH VIEN. Böôùc 2 : ÔÛ trang Chi Tiet Lop Hoc Taïo Combobox choïn maõ lôùp vôùi teân laø Mlop vaø SubForm thöù nhaát coù caùc thuoäc tính sau Name : SUB1 Link Child field : Malop Link Master field : Mlop Taïo caùc Text Box hieån thò caùc thoâng tin : teân lôùp, Hoï vaø teân sinh khi Click choïn Masv trong SubForm thöù nhaát vaø Maõ sinh vieân nhö sau : o Teân lôùp : =[SUB1].Form![Hosv]+” “+[SUB1].Form![Tensv] o Hoï teân Sinh vieân : = [SUB1].Form![Hosv]+ “ “ +[SUB1].Form![Tensv]
  • 57. Hành Access o Maõ sinh vieân : = [SUB1].Form![Masv] Löu yù : Trong nguoàn döõ lieäu cuûa SubForm thöù nhaát naøy ngoaøu nhöõng noäi dung phuïc vuï cho SubForm phaûi coù chöùa caùc Field maø baïn muoán thöïc hieän coâng thöùc nhö treân. Taïo lieân keát giöõa SubForm thöù nhaát vaø SubForm thöù hai baèng caùch göûi giaù trò cuûa Masv trong SubForm thöù nhaát ra mainForm ( taïo ôû mainForm 1 oâ textBox chöùa giaù trò Masv cuûa SubForm thöù nhaát) vaø ñaët SubForm thöù hai lieân keát vôùi oâ Text Box naøy ôû main form. Caùc böôùc tieán haønh nhö sau : Taïi 1 oâ Textbox trong mainForm, hieän baûng Properites cuûa oâ, choïn : o Name : Ñaët teân cho oâ (ví duï Tgian) o Control Source :vieát coâng thöùc laáy giaù trò töø SubForm thöù nhaát theo qui taéc [Teân oâ chöùa SubForm].Form![teân oâ laáy giaù trò] nhö sau : o = [SUB1].Form![Masv] o Visible : Choïn No. Chænh thuoäc tính cuûa oâ SubForm thöù hai theo noäi dung sau ; o Link Child Fields : teân field laøm chæ tieâu quan heä (Masv). o Link Master Fields : teân oâ Text box vöøa taïo.(Tgian). ÔÛ trang Thong Tin Ve Sinh Vien Taïo caùc TextBox hieån thò caùc thoâng tin veà sinh vieân baèng caùch laáy nhöõng thoâng tin naøy qua nguoàn döõ lieäu cuûa SubForm thöù nhaát (Taát nhieân khi taïo SubForm thöù nhaát naøy baïn phaûi chuù yù ñöa taát caû caùc thoâng caàn laáy vaøo nguoàn döõ lieäu cuûa noù).
  • 58. Hành Access b. Taïo Form theo maãu sau :
  • 59. Hành Access c. Taïo Form theo maãu sau : d. Taïo Form theo maãu sau Taïo laïi Form daïng treân nhöng thay caùc nuùt leänh Command baèng Option group. Taïo Form theo maãu sau :
  • 60. Hành Access
  • 61. Hành Access
  • 62. Hành Access