SELECT QUERY 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
Trang 1BÀ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 :
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)
Trang 2BÀI 2 TẬP TIN CƠ SỞ DỮ LIỆUCÂ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:
NHAN VIEN: 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ỉ
SAN PHAM: 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
HOA DON: 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.
CHI TIET HOA DON: 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:
Đư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
Trang 3BÀ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
No:Nữ
Format:;"Nam"[Blue];"Nữ"[Magenta]Caption: Phái
Display Control: Text BoxNGAYSINH Date/Time Ngày sinh Format: short date
Input Mark: 00/00/00Caption: Ngày sinh
Caption: Nơi sinh
Caption: địa chỉ
DIENTHOAI Text Số điện thoại Field size:14
Input Mark: !\(999") "0000000;;*
Caption: Điện thoại
Trang 4KHACH HANG
Field Name Data type Description Field Properties
Format:>[Red]
Caption: Mã KHTENKH Text Tên Khách hàng Field size: 25
Format:>[Blue]
Caption: Tên Công ty
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 SpRequired: yes
Format:>[Blue]
Caption: Tên SpDONVITINH Text Don vi tinh Field size: 10
Caption: Đơn vị tính
Format:standardDecimal places: 2Caption: đơn giáValidation rule: >0Validation Text: Phải nhập số >0SLTON Number Số lượng tồn Field size: integer
Caption: Số lượng tồnDefault value : 0
Trang 5Field Name Data type Description Field Properties
Format:>[red]
Caption: mã hóa đơnRequired: yes
nhập-xuất-chuyển- trả Fieldsize:1Default value: X
Validation rule: In(“N”,”X”,”C”,”T”) Required: Yes
Format:>[Red]
Caption: Mã KH
Caption: mã nhân viênRequired: yes
NGAYLAPHD Date/Time Ngày lập hoá đơn Format: short date
Caption: Ngày hoá đơnInput Mask: 00/00/00Validation Rule: <=Date()Validation Text:Ngay lap HD phai nho hon hoac bang ngay hien hanhNGAYGNHANG Date/Time Ngày giao nhận hàng Format: short date
Caption: Ngày Giao nhận hàngInput Mask: 00/00/00
CHITIETHOADON
Field Name Data type Description Field Properties
(Lookup Wizard ) Ma hoa đon Field size: 5Format:>[red]
Caption: mã hóa đơnRequired: yes
(Lookup Wizard )
Ma san pham Field size: Integer
Caption: Ma SpRequired: yes
Format:standardCaption: Số lượngValidation rule: >0Validation Text: Phải nhập số >0
nhập
Field size: DoubleFormat:standardDecimal places: AutoCaption: đơn giá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
Trang 6Chọn field làm khoá : Chọn menu Edit -> Primary key ( Hoặc click nút Primary key )
Trang 8Nhập dữ liệu cho các Table theo mẫu sau :
Table KhachHang
KHACHHANG
MÃ HD TÊN CÔNG TY ĐỊA CHỈ THÀNH PHỐ THOAI ĐIỆN
CINOTEC ĐIỆN TOÁN SÀI GÒN 43 Yết kiêu P 6 Q3 TP.HCM ( )7931752 COMECO VẬT TƯ THIẾT BỊ GTVT 226 AnDương Vương P11 Q11 ( )8456781 FAHASA PHÁT HÀNH SÁCH SÀI GÒN 12 Thuận kiều Q5 TP.HCM ( )8452792 FISC DỊCH VỤ ĐẦU TƯ NƯỚC NGOÀI 31 Trương Định P6 Q1 TP.HCM ( )8458247 HUNSAN HỪNG SÁNG 175 Lý Thường Kiệt ( )5465487 LIXCO BỘT GIẶT LIX 79 Bàn Cờ P3 Q5 TP.HCM ( )8952187 SAFICO THUỶ SẢN XUẤT KHẨU 47 Bải sậy P1 Q11 TP.HCM
SJC VÀNG BẠC ĐÁ QUÝ TPHCM 350 CMT8 P12 Q3 ( )8543543 TAFACO THƯƠNG MẠI TẤN PHÁT 4 Trần PhũP Q5 TP.HCM ( )8754875 THADACO XÂY DỰNG THÀNH ĐẠT 6E An Bình Q5 TP.HCM ( )5465454 TRACODI ĐẦU TƯ PHÁT TRIỂN GTVT 343 Nhật Tảo Q10 ( )5321321 TRANACO DỊCH VỤ VẬN TẢI Q 3 156 Lê Đại HànhP7 Q10 TP.HCM ( )8654635
Table NhanVien
NHAN VIEN
MÃ NV HỌ NV TÊN NV PHÁI NGÀY SINH ĐIA CHỈ THOAI ĐIỆN HÌNH
1 NGUYỄN NGỌC NGA NŨ 10/12/64 13Hùng Vương P4 Q5 ( )5465465
2 HÀ VĨNH PHÁT NAM 07/12/79 89 Đồng Khởi Q1 ( )8767461
3 TRẦN TUYẾT OANH NŨ 27/02/67 45Lê Quí Đôn Q3 ( )5465465
4 NGUYỄN KIM NGỌC NŨ 25/12/80 187 Hậu Giang P5Q6 ( )5654654
5 TRƯƠNG DUY HÙNG NAM 10/10/82 77 Trương ĐịnhQ1 ( )5871544
6 LƯƠNG BÁ THẮNG NAM 10/12/68 92 Lê ThánhTônQ1 ( )8754165
7 LÂM SƠN HOÀNG NAM 02/03/78 45 Ký Con Q1 ( )8231231
8 NGUYỄN MINH HỒNG NAM 30/10/68 22 Lạc Long Quân Q10 ( )7845138
9 VƯƠNG NGỌC LAN NŨ 10/12/67 227 Hai Bà Trưng Q1 ( )7784184
10 NGUYYỄ THỊ MAI NŨ 10/11/67 12Nguỹên Chí Thanh Q3 ( )3451365
11 LÊ VĂN HÙNG NAM 06/03/57 56Nguyễn TrãiQ1 ( )5745785
12 NGUYỄN THỊ HOA NŨ 10/10/66 12Nguyễn Trãi Q1 ( )6465465
Trang 10Table ChiTietHoaDon
Trang 12Câu 2: Thực hiện sắp xếp:
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,
DIENTHOAId.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
Trang 13Câ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
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
Trang 14BÀI 4 BÀI TẬP QUERY
Mở tập tin HOADON.MDB Hãy tạo các truy vấn sau:
I SELECT QUERY
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
Trang 1514)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<songay<=30 thì trả trước 30% thành tiền, các trường hợp còn lại trả trước 50% thành tiền
18)Tạo query DANH SACH HOA DON gồm các vùng như trên, nhưng chỉ những hóa đơn của khách hàng ở TP HCM sản phẩm là Rượu và số lượng từ trong khoảng tư 20 đến 29
19)Tạo query TINH TIEN cho từng sản phẩm trong từng hóa đơn gồm các vùng :
Mã HD, ngày lập HD, tên sản phẩm, số lượng, đơn giá, thành tiền USD, thành tiền VN
Biết rằng :
Thành tiền USD =Đơn giá * Số lượng
Thành tiền VN = Thành tiền USD * tỉ giá với tỉ giá được tính nhưsau :
13780 nếu hóa đơn được lập vào 4 tháng đầu của năm 04
14200 nếu hóa đơn được lập vào 4 tháng kế của năm 04
15000 cho các hóa đơn sau đó
20)Tạo query thực trả cho từng sản phẩm trong từng hóa đơn gồm các vùng MAHD, ngày lập HD, tên sản phẩm, đơn giá, số lượng, thành tiền, thực trả.Biết rằng :
Thành tiền = Đơn giá * Số lượng
Thoigian= Ngay giao nhan - Ngay nhap
Thực trả = Bao gồm thành tiền và số tiền thưởng phạt cho thời gian lấy hàng như sau :
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)
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
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
21) Danh sách các Khách hàng có hai ký tự cuối cùng của MAKH là CO
22) Danh sách các sản phẩm có đơn giá bán cao nhất Thông tin bao gồm MaSp, TenSp, đơn vị tính, Dongia bán
23)Danh sách các hóa đơn do nhân viên Nga lập trong tháng 3
24) Cho xem danh sách nhân viên có năm sinh >=1985
25)Cho xem danh sách nhân viên có tuổi từ 20 đến 40
Trang 1626)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
II SELECT QUERY – DUØNG TOTAL
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 :
Trang 17III QUERY CÓ THAM SỐ)
41)Danh sách các sản phẩm cĩ hố đơ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 đĩ
IV QUERY CÓ CÁC TABLE CÓ MỐI QUAN HỆ LEFT OUTER JOIN HOẶC RIGHT OUTER JOIN HOẶC LỒNG CÂU SELECT
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
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ụ :
Trang 18VI ACTION QUERY
1 Update query
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à
2 Make table query
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
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”
Trang 19c 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
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ó
Trang 20BÀ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
- 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
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
Trang 21Hướ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.)
Phần 3: Main - Sub Form
Trang 22T 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,
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
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.
Trang 23Trườ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
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
Kéo biểu tượng của Sub11 từ Database Window vào vùng Detail
Trang 24B4: 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 :
Trang 25Yê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
Hướng dẫn :
B1 : Tạo SubForm1 tên Sub14a :
Trang 26Cá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.
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
Trang 27Và 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.
Trang 28BÀ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ómKéo các Field Mahd, Makh, tenkh, NgayLaphd, NgayGiaoNhanHang, DienGiai vào Mahd Header
Trang 29Tạ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
Trang 304 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.
Trang 315 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
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