- Trong nguồn dữ liệu của SubForm thứ nhất này ngoàu những nội dung phục vụ cho SubForm phải có chứa các Field mà bạn muốn thực hiện công thức như trên.
- Tạo liên kết giữa SubForm thứ nhất và SubForm thứ hai bằng cách gửi giá trị của Masv trong SubForm thứ nhất ra mainForm ( tạo ở mainForm 1 ô textBox chứa giá trị Masv của SubForm thứ nhất) và đặt SubForm thứ hai liên kết với ô Text Box này ở main form. Các bước tiến hành như sau :
- Tại 1 ô Textbox trong mainForm, hiện bảng Properites của ô, chọn :
o Name : Đặt tên cho ô (ví dụ Tgian)
o Control Source :viết công thức lấy giá trị từ SubForm thứ nhất theo qui tắc [Tên ô chứa SubForm].Form![tên ô lấy giá trị] như sau :
o = [SUB1].Form![Masv]
o Visible : Chọn No.
Chỉnh thuộc tính của ô SubForm thứ hai theo nội dung sau ;
o Link Child Fields : tên field làm chỉ tiêu quan hệ (Masv).
o Link Master Fields : tên ô Text box vừa tạo.(Tgian).
- Ở trang Thong Tin Ve Sinh Vien
Tạo các TextBox hiển thị các thông tin về sinh viên bằng cách lấy những thông tin này qua nguồn dữ liệu của SubForm thứ nhất (Tất nhiên khi tạo SubForm thứ nhất này bạn phải chú ý đưa tất cả các thông cần lấy vào nguồn dữ liệu của nó).
60 trang |
Chia sẻ: aloso | Lượt xem: 4313 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu BÀI TẬP THỰC HÀNH ACCESS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHAM
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
Table Sanpham
Câu 2: Thực hiện sắp xếp:
Mở Table SAN PHAM
Sắp xếp theo DONGIA tăng dần.
Sắp xếp theo TENSP giảm dần
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.
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.
Đó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:
Mở table NHÂN VIÊN, sử dụng Filter by Selection thực hiện lọc
Các nhân viên có tên là “Hùng”
Các nhân viên có tên bắt đầu là “H”
Các nhân viên có họ lót là “Ngọc”
Các nhân viên sinh năm 1975
Các nhân viên sinh vào tháng 09
Các nhân viên nam
Mở table SANPHAM, sử dụng Filter by form thực hiện lọc:
Các sản phẩm có đơn vị tính là “thùng”
Các sản phẩm có đơn giá >100
Các sản phẩm có đơn giá 20 đến 50
Mở table KHACHHANG, sử dụng Advanced Filter/Sort thực hiện lọc:
Các Khách hàng ở “Tp. HCM” nhưng không có số điện thoại
Các khách hàng ở “Tp. HCM” hoặc “Hà Nội”
Câu 4:
Sao chép cấu trúc và dữ liệu của table NHANVIEN thành table có tên là LYLICHNV
Sao chép cấu trúc của table SAN PHAM thành table có tên là SANPHAMMOI
Sao chép cấu trúc và dữ liệu của SANPHAM thành table có tên là SP_TAM
Đổi tên table SANPHAMMOI thành SANPHAMMOINHAP
Đổi tên table LYLICHNV thành bảng CHAMCONGNV
Vào chế độ Design View của bảng CHAMCONGNV, thực hiện các công việc:
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
Chèn thêm trường DGNC (đơn giá ngày công), có kiểu dữ liệu là Number, Validation Rule >0
Xóa các trường HONV, TENNV, PHAI, NGAYSINH, ĐIACHI, DIENTHOAI
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
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:
Tìm những sản phẩm có đơn giá 100
Tìm những sản phẩm có đơn vị tính là “Kg”
Tìm những sản phẩm có Tên sản phẩm bắt đầu là “B”
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.
BÀ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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 đó.
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.
Danh sách các Khách hàng có hai ký tự cuối cùng của MAKH là CO.
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.
Danh sách các hóa đơn do nhân viên Nga lập trong tháng 3.
Cho xem danh sách nhân viên có năm sinh >=1985
Cho xem danh sách nhân viên có tuổi từ 20 đến 40.
Danh sách các hoá đơn có ngày lập hóa đơn là ngày hiện hành.
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.
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
Cho biết những nhân viên ở độ tuổi là Cao Niên (dữ liệu nguồn là câu 28)
Danh sách 3 nhân viên lớn tuổi nhất.
II. SELECT QUERY – DUØNG TOTAL
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.
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.
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.
Mặt hàng đã nhập có trị giá lớn nhất.Thông tin bao gồm : MaSP, TenSP, Donvitinh, TongTriGia.
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)
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.
Cho biết mỗi nhân viên đã lập được bao nhiêu hóa đơn.
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.
Tính doanh số bán của mỗi nhân viên trong quý 1và quý 2
Tạo query theo mẫu sau :
III. QUERY COÙ THAM SOÁ)
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.
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.
Tạo query cho phép xem tổng số lượng đã bán của 1 sản phẩm tùy ý.
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).
Tạo query cho phép xem thông tin về các khách hàng ở 1 quận nào đó
IV. QUERY COÙ CAÙC TABLE COÙ MOÁI QUAN HEÄ LEFT OUTER JOIN HOAËC RIGHT OUTER JOIN HOAËC LOÀNG CAÂU SELECT
Danh sách sản phẩm chưa từng được lập hóa đơn.
Danh sách các nhân viên chưa từng tham gia lập hóa đơn.
Danh sách các khách hàng chưa từng lập hóa đơn.
V. CROSSTAB QUERY
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
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
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
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 .
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.
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ụ :
VI. ACTION QUERY
Update query
Dùng Update query để tăng đơn giá của các sản phẩm lên 1% .
Dùng Update query để giảm 10% đơn giá của các sản phẩm có đơn vị tính là “Chai”
Dùng Update query để đổi thành phố “Tp. HCM” thành “Sài gòn” trong table KHACHHANG
Dùng Update query để cập nhật đơn giá trong CHITIETHD chính bằng đơn giá trong SAN PHAM.
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
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 %.
Make table query
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 .
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
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
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
Dùng Make Table Query, tạo ra bảng LUONG NV gồm các cột MANV, HOTEN, THANG, LUONG.
Lưu ý
Truy vấn có 2 tham số để nhập vào tháng, và năm cần cập nhật lương
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”
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
Append query
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.
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.
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 đó.
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ó.
Delete query
Tạo Query xóa các khách hàng ở Q5 trong table tblKhachHang135.
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 đó.
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.
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…)
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.
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
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...
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.
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.
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 .
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
Trường hợp 1 : Ô quan hệ với Subform ở MainForm là một Textbox
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]
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.
Trường hợp 2 : Ô quan hệ với Subform ở MainForm là một ComboBox
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.
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 .
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.
Tạo Form theo mẫu sau :
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.
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 :
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.
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.
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.
BÀI 5
BÀI TẬP PHẦN REPORT
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
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 .
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
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.
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.
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
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.
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
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 )
Mau Report_TheKho
Tạo Report theo mẫu sau :
BÀI 6
BÀI TẬP MACRO
Tạo Form theo mẫu sau : Ứng dụng Macro vào trong các nút lệnh.
Yêu cầu :
Các nút mũi tên : Duyệt các mẩu tin về đầu, tiếp, trước, cuối.
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.
Nút Xem Chi Tiết Hoá Đơn : Mở Form Hóa Đơn bán hàng đã làm ở bài tập Form.
Nút In mở Report Hoá Đơn bán Hàng của hóa đơn đang hiện.
Nút Tìm : Tìm một hóa đơn bất kỳ.
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.
Nút Thoát : Đóng Form
Tạo Form theo mẫu sau trong đó ứng dụng Macro có điều kiện sau :
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 :
Click Chi tiết từng hóa đơn :
Chọn xong nhấn nút IN Bao Cao hiện
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
xem toàn bộ
chọn theo Ngày lập hoá đơn ( 1 ngày, hoặc 1 khoảng thời gian)
chọn theo Mã hoá đơn
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 )
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.
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 )
BÀI TẬP 7
BÀI TẬP MODULES_MENU
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.
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.
Tạo các form tính toán sau :
Khi nhấn nút Mới thì Form giống dạng sau :
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 :
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hãy tạo Form theo mẫu dưới đây
Form trình bày thông tin về nhân viên.
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.
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.
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.
Khi Click vào nút Last thì sẽ trình bày nội dung mẩu tin cuối cùng.
Khi Click vào nút Close thì sẽ đóng Form lại.
Hãy tạo Form theo mẫu dưới đây : với các Textbox là các Unbound Control
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.
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.
Khi Click vào nút “THOAT” thì đóng Form lại.
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
Tạo Form tên frmNHANVIEN theo mẫu sau : với các Control là Unbound Textbox.
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.
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.
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.
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.
BÀI TẬP LÀM THÊM : CƠ SỞ DỮ LIỆU QUẢN LÝ SINH VIÊN
PHAÂN TÍCH THIEÁT KEÁ CÔ SÔÛ DÖÕ LIEÄU
Giaû söû baïn caàn quaûn lyù caùc thoâng tin cuûa sinh vieân cuûa moät tröôøng naøo ñoù.Baïn haõy phaân tích vaø thieát moät cô sôû döõ lieäu nhaèm thöïc hieän caùc yeâu caàu quaûn lyù thöïc teá.Sau ñaây laø moät soá gôïi yù
SINH VIEN: moãi moät sinh vieân coù moät maõ sinh vieân duy nhaát, hoï, teân, phaùi, ngaøy sinh, maõ loøp, ñieän thoaïi vaø ñòa chæ
LOP HOC: moãi lôùp hoïc coù moät maõ lôùp ñeå phaân bieät vôùi nhöõng lôùp khaùc, moät teân lôùp, gvcn, só soâ1. Só soá luùc naøo cuõng phaûi >0
MOÂN HOÏC : moãi moân coù duy nhaát moät maõ moân, teân moân, soá tín chæ.
KHOA : moãi khoa coù duy nhaát moät maõ khoa, teân khoa
KET QUA: moät sinh vieân thi nhieàu moân hoïc, vaø ñöôïc pheùp thi hai laàn..
Döïa vaøo caùc gôïi yù treân, baïn haõy xaùc ñònh:
Caùc table (quan heä)
Caùc Field cuûa caùc table treân (Moät field bao goàm Field Name, Datatype, properties,..)
Xaùc ñònh khoùa chính, khoùa ngoaïi.
Caùc raøng buoäc toaøn veïn
Ñöa ra moái quan heä .
BAØI TAÄP TABLE
Taïo taäp tin cô sôû döõ lieäu coù teân laø QLSV.MDB.
Caâu 1: Duøng chöùc naêng Table ñeå thieát keá caáu truùc cuûa caùc baûng vaø nhaäp döõ lieäu döïa vaøo baûng döõ lieäu maãu ñính keøm :
SINH VIEN
Field Name
Data type
Description
Field Properties
MASV
Text
Maõ Nv
Format:>[Red]
Field size :10
Caption: Maõ Nv
HOSV
Text
Hoï sinh vieânï
Field size: 25
Format:>[Blue]
Caption: Hoï
TENSV
Text
Teân sinh vieân
Field size: 10
Format:>[Blue]
Caption: Teân
Require: yes
PHAI
Yes/No
Phaùi Yes: Nam, No:Nöõ
Format:;"Nam"[Blue];"Nöõ"[Magenta]
Caption: Phaùi
Display Control: Text Box
NGAYSINH
Date/Time
Ngaøy sinh
Format: short date
Input Mark: 00/00/00
Caption: Ngaøy sinh
NOISINH
Text
Nôi sinh
Field size:15
Caption: Nôi sinh
DIACHI
Text
Ñòa chæ
Field size: 30
Caption: ñòa chæ.
MALOP
Text
Maõ lôùp
Field size :10.
Caption : maõ lôùp.
HOCBONG
Number
Hoïc boång
Field size:Long Integer
Caption: Hoïc boång
HINH
OLE Object
Hình
LOP HOC
Field Name
Data type
Description
Field Properties
MALOP
Text
Ma Lôùp
Field size: 10
Format:>[Red]
Caption: Maõ lôùp
TENLOP
Text
Ten Lôùp
Field size: 25
Format:>[Blue]
Caption: Teân Lôùp
MAKHOA
Text
Maõ khoa
Field size: 10
Caption: Maõ khoa.
GVCN
Text
Giaùo vieân chuû nhieäm
Field size: 40
Caption: GVCN.
SISO
Number
Só soá
Field size: Integer
Caption: Só soá.
Só soá >0
HOCPHI
Number
Hoïc phí
Field size:Long Integer
Caption: Hoïc phí
KHOA
Field Name
Data type
Description
Field Properties
MAKHOA
Text
Maõ khoa
Field size:10
Caption: Ma khoa
Required: yes
TENKHOA
Text
Ten Khoa
Field size: 40
Format:>[Blue]
Caption: Teân Khoa
MON HOC
Field Name
Data type
Description
Field Properties
MAMH
Text
Maõ moân hoïc
Field size:10
Caption: Ma moân hoc
Required: yes
TENMH
Text
Ten Moân hoïc
Field size: 40
Format:>[Blue]
Caption: Teân Moân Hoïc
Sotinchi
Number
Soá tín chæ
Field size : Byte
Caption : Soá tín chæ.
Sotinchi>0
KET QUA
Field Name
Data type
Description
Field Properties
MASV
Text
Ma sinh vien
Field size: 10
Format:>[red]
Caption: maõ sinh vieân
Required: yes
MAMH
Text
Ma moân hoïc
Field size: 10
Format:>[Red]
Caption: maõ moân hoïc
Required: yes
LANTHI
Number
Laàn thi
Field size: Byte
Format:>[Red]
Caption: Laàn thi
DIEM
Number
Ñieåm
Field size:double
Caption: Ñieåm
Nhaäp döõ lieäu cho caùc table
SINH VIEN
STT
MASV
HOSV
TENSV
NAM
NGAYSINH
1
A01
Nguyeãn thò
Haûi
.F.
23/03/79
2
A02
Traàn vaên
Chính
.T.
24/12/80
3
A03
Leâ thò Baïch
Yeán
.F.
21/02/77
4
A04
Traàn Thanh
Mai
.F.
20/12/78
5
A05
Traàn thò Thu
Thuyû
.F.
13/02/81
6
A06
Traàn thò
Thanh
.F.
31/12/79
7
A07
Traàn Anh
Tuaán
.T.
12/08/78
8
A08
Traàn Thanh
Trieàu
.T.
02/01/80
9
A09
Nguyeãn vaên
Chính
.T.
01/01/77
10
A10
Leâ thò
Kim
.T.
20/12/81
STT
NOISINH
DIACHI
MALOP
HOCBONG
1
Saøi Goøn
12Voõ Vaên Taàn Q3
CDTHA
100000
2
Saøi Goøn
3 Nguyeãn Bænh Khieâm Q1
CDTHB
120000
3
Haø noäi
75 Pastuer Q3
CDTHA
140000
4
Beán Tre
56 Hai Baø Tröng
CDTHA
5
Saøi Goøn
40/3 An Laïc Vuõng Taøu
CDTHB
6
Saøi Goøn
10 Nguyeãn Du Q1
CDCKA
7
Long An
12 Ñieän Bieân Phuû – Long An
CDCKA
80000
8
Haø noäi
3 Nguyeãn Thieän Thuaät Q3
CDCKB
80000
9
Saøi Goøn
5 Nguyeãn vaên Cöø Q5
CDCKB
120000
10
Saøi Goøn
12 Nguyeãn Thieäp Q4
CDCKB
120000
KETQUA
MAMH
LANTHI
MASV
DIEM
01
1
A01
2.0
01
1
A02
7.5
01
1
A03
5.0
01
1
A04
7.0
01
1
A05
4.0
02
1
A01
6.0
02
1
A02
7.0
02
1
A03
5.5
02
1
A04
6.5
02
1
A05
7.5
03
1
A01
9.0
03
1
A02
10.0
03
1
A03
3.0
03
1
A04
3.0
03
1
A05
6.0
04
1
A01
8.0
04
1
A02
3.5
04
1
A03
5.0
04
1
A04
8.0
04
1
A05
6.0
05
1
A06
7.5
05
1
A07
9.0
05
1
A08
4.5
05
1
A09
4.0
05
1
A10
8.0
06
1
A06
6.5
06
1
A07
4.0
06
1
A08
3.0
06
1
A09
4.5
06
1
A10
7.5
07
1
A06
5.0
07
1
A07
6.5
07
1
A08
7.0
07
1
A09
5.5
07
1
A10
4.0
08
1
A06
5.0
08
1
A07
4.0
08
1
A08
6.5
08
1
A09
7.0
08
1
A10
8.5
09
1
A06
5.0
09
1
A07
5.5
09
1
A08
5.0
09
1
A09
6.5
09
1
A10
10
MONHOC
MAMH
TENMH
SOTINCHI
01
Cô sôû Döõ lieäu
4
02
Trí tuïeâ nhaân taïo
4
03
Truyeàn tin
4
04
Ñoà hoaï
8
05
Vaên phaïm
7
06
Ñaøm thoaïi
5
07
Vaät lyù nguyeân töû
4
08
Vaät lyù ñaïi caàu
4
09
Trieát hoïc
6
10
Toaùn
3
KHOA
MAKHOA
TENKHOA
TH
Coâng ngheä thoâng tin
DC
Ñaïi cöông
AV
Quan heä hôïp taùc quoác teá
CK
Cô khí
LOPHOC
MALOP
TENLOP
GVCN
MAKHOA
SISO
HOCPHI
CDTHA
Cao Ñaúng Tin Hoïc A
Nguyeãn Hoaøi Nam
TH
100
800000
CDTHB
Cao Ñaúng Tin Hoïc B
Traàn Thò Bích Nga
TH
80
800000
CDCKA
Cao Ñaúng Cô Khí A
Hoà Vaên Chung
CK
120
950000
CDCKB
Cao Ñaúng Cô Khí B
Nguyeån Quoác Thaéng
CK
100
900000
Caâu 2: Thöïc hieän saép xeáp:
Môû Table SINH VIEN
Saép xeáp theo HOCBONG taêng daàn.
Saép xeáp theo MALOP giaûm daàn, truøng malop thì theo masv
Môû Table KETQUA: Saép xeáp theo MASV taêng daàn, truøng MANV thì xeáp theo MAMH taêng daàn.
Môû Table SINH VIEN: Saép xeáp theo PHAI, truøng phaùi thì xeáp theo TENSV giaûm daàn, truøng TENSV thì xeáp theo NGAYSINH taêng daàn.
Ñoùng Table SINH VIEÂN ñaõ ñöôïc saép xeáp, sau ñoù môû laïi moät laàn nöõa, baûng sinh vieân coù coøn ñöôïc theo thöù töï saép xeáp khoâng? Cho nhaän xeùt
Caâu 3: Thöïc hieän thao taùc loïc döõ lieäu nhö sau:
Môû table SINH VIEÂN, söû duïng Filter by Selection thöïc hieän loïc
Caùc sinh vieân coù teân laø “Chinh”
Caùc sinh vieân coù teân baét ñaàu laø “H”
Caùc sinh vieân coù hoï loùt laø “Thò”
Caùc sinh vieân sinh naêm 1975
Caùc sinh vieân sinh vaøo thaùng 09
Caùc sinh vieân nam
Môû table KET QUA, söû duïng Filter by form thöïc hieän loïc:
Caùc sinh vieân coù maõ laø “A01”
Caùc moân hoïc coù maõ laø 02
Caùc sinh vieân coù ñieåm töø 7 ñeán 9
Caùc sinh vieân coù ñieåm nhoû hôn 5.
Môû table SINH VIEN, söû duïng Advanced Filter/Sort thöïc hieän loïc:
Caùc sinh vieân ôû “Q5” nhöng khoâng coù hoïc boång
Caùc sinh vieân ôû “Q1” hoaëc “Q3”
Caâu 4:
Sao cheùp caáu truùc vaø döõ lieäu cuûa table SINH VIEN thaønh 2 table coù teân laø LY LICH SINH VIEN, SINH VIEN LY LICH.
Sao cheùp caáu truùc cuûa table KETQUA thaønh table coù teân laø DIEM
Sao cheùp caáu truùc vaø döõ lieäu cuûa LOPHOC thaønh table coù teân laø LOP_TAM
Ñoåi teân table LOP_TAM thaønh LOP
Ñoåi teân table LY LICH SINH VIEN thaønh baûng THONG TIN SINH VIEN
Vaøo cheá ñoä Design View cuûa baûng THONG TIN VIEN, thöïc hieän caùc coâng vieäc:
Cheøn theâm tröôøng GIAMHP(Giaûm hoïc phí), coù kieåu döõ lieäu laø Number, Validation rule laø >=0 vaø <=30
Xoùa caùc tröôøng HOSV, TENSV, PHAÙI, NGAY SINH, ÑÒA CHÆ
Nhaäp caùc giaù trò cho coät giaûm hoïc phí tuøy yù nhöng naèm trong khoaûng töø 0 ñeán 30
Caâu 5: Môû table LOP, duøng chöùc naêng Edità Find hoaëc Edit à Replace ñeå thöïc hieän caùc thao taùc sau:
Tìm nhöõng lôùp coù só soá >=100
Tìm nhöõng coù thuoäc khoa TH
Tìm nhöõng loùp coù Teân baét ñaàu laø “CD”
Tìm vaø thay theá nhöõng maõ khoa laø “CK” thay thaønh “DT”. Sau ñoù thay ngöôïc trôû laïi.
Caâu 6: Xoaù table SINH VIEN LY LICH, SP_TAM, THONG TIN NHAN VIEN, LOP.
Caâu 7: Thieát laäp Relationship giöõa caùc table.
BAØI TAÄP QUERY
Lieät keâ danh saùch sinh vieân goàm caùc tröôøng cuûa Table Sinh vien ñöôïc saép xeáp theo malop, cung malop thì theo masv.
Lieät keâ danh saùch sinh vieân coù hoïc boång ñöôïc saép xeáp theo tröôøng tensv goàm caùc tröôøng Masv, hosv, tensv, makhoa, hocbong.
Lieät keâ danh saùch caùc sinh vieân thuoäc lôùp baát kyø do ngöôøi söû duïng nhaäp vaøo goàm caùc tröôøng masv, hosv, tensv, nam, ngaysinh, diachi, hocbong.
Lieät keâ danh saùch caùc sinh vieân thuoäc khoa Tin hoïc ñöôïc saép xeáp theo tröôøng tensv goàm caùc tröôøng masv, hosv, tensv, malop, tenlop, hocbong.
Cho bieát lôùp hoïc naøo coù só soá cao nhaát.
Lieät keâ baûng ñieåm cuûa sinh vieân goàm caùc tröôøng masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, lanthi, diem ñöôïc saép xeáp theo maõ moân hoïc, neáu cuøng maõ moân hoïc thì saép xeáp theo tensv.
Döïa vaøo keát quaû caâu 6 lieät keâ danh saùch caùc sinh vieân ñaäu goàm caùc tröôøng masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, temh, lanthi, diem ñöôïc saép xeáp theo malop, neáu cuøng malop saép xeáp theo tensv (ñieåm >=5).
Döïa vaøo keát quaû caâu 6 lieät keâ danh saùch caùc sinh vieân phaûi thi laïi goàm caùc tröôøng masv, hosv, tensv, nam, ngaysinh, mamh, tenmh, lanthi, diem ñöôïc saép xeáp theo mamh, neáu cuøng mamh saép xeáp theo tensv.
Lieät keâ caùc sinh vieân coù hoï Nguyeãn.
Lieät keâ caùc sinh vieân thuoäc khoa tin hoïc sinh tröôùc naêm 1980.
Hieån thò baûng ñieåm cuûa töøng lôùp goàm caùc field masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, tenmh, lanthi, diem.
Hieån thò danh saùch ñaäu cuûa töøng lôùp goàm caùc field masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, tenmh, lanthi, diem ñöôïc saép xeáp theo masv.
Hieån thò danh saùch rôùt cuûa töøng lôùp goàm caùc field masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, tenmh, lanthi, diem ñöôïc saép xeáp theo masv.
Hieån thò baûng ñieåm cuûa moân hoïc baát kyø goàm goàm caùc field masv, hosv, tensv, nam, ngaysinh, malop, makhoa, mamh, tenmh, lanthi, diem ñöôïc saép xeáp theo masv.
Hieån thò baûng ñieåm cuûa hoïc sinh coù maõ sinh vieân laø ‘A01’ vaø “A04” goàm caùc field MASV, MAMH, TENMH, LANTHI, DIEM.
Duøng Crostab query thoáng keâ baûng ñieåm cuûa töøng sinh vieân goàm.
Taïo query teân TK SI So duøng ñeå thoáng keâ só soá cuûa töøng lôùp.
Taïo query teân TK SI So duøng ñeå thoáng keâ só soá cuûa töøng lôùp theo töøng giôùi tính goàm Malop, tenlop, SosvNam, SosvNu.
Cho bieát soá sinh vieân ñaäu vaø rôùt cuûa töøng lôùp goàm Malop, tenlop, SosvDat, Sosvrot.
Cho bieát sinh vieân coù cuøng nôi sinh.
Cho bieát moân hoïc naøo chöa coù sinh vieân döï thi goàm Mamh, Tenmh, sotinchi.
Danh saùch ñieåm thi goàm masv, hosv, tensv, nam , ngaysinh, malop, ñieåm caùc moân, dtb, xeploai ( field xeáp loaïi döïa theo yeâu caàu sau :
Neáu dtb töø 8 trôû leân thì xeáp loaïi Gioûi.
Neáu dtb lôùn hôn hay baèng 6.5 vaø nhoû hôn 8 xeáp loaïi Khaù
Neáu dtb lôùn hôn hay baèng 5.0 vaø nhoû hôn 6.5 xeáp loaïi Trung bình
Coøn laïi laø loaïi Yeáu.
Tính laïi HOCBONG cho caùc sinh vieân theo yeâu caàu sau :
Neáu Sinh vieân xeáp loïai Gioûi, hocbong = 200000.
Neáu Sinhvieân xeáp loïai Khaù, hocbong = 100000.
Coøn laïi laø 0.
Döïa vaøo Table Sinhvien cho bieát soá sinh vieân cuûa töøng lôùp goàm Malop, tenlop, siso.
Cho bieát soá lôùp cuûa töøng khoa.
Cho bieát coù bao nhieâu sinh vieân thi ñaït cho töøng moân goàm Mamh, tenmh, sosvdat.
Cho bieát coù bao nhieâu sinh vieân thi rôùt cho töøng moân goàm Mamh, tenmh, sosvdat.
Cho bieát coù bao nhieâu sinh vieân thi ñaït vaø rôùt cho töøng moân goàm Mamh, tenmh, sosvdat, sosvrot
Cho bieát toång hoïc boång cuûa töøng lôùp goàm Malop, Tenlop, tongHocBong.
Cho bieát toång hoïc boång cuûa töøng khoa goàm Makhoa, Tenkhoa, tongHocBong.
Thoáng keâ soá sinh vieân gioûi, khaù, trung bình, yeáu theo töøng lôùp.
Duøng Update Query ñeå söûa kyù töï ñaàu cuûa MASV thaønh TH neáu sinh vieân ñoù thuoäc khoa Tin Hoïc, thaønh CK neáu sinh vieân ñoù thuoäc khoa CK, coøn laïi giöõ nguyeân.
Taêng Hocphi leân 50000 cho nhöõng lôùp thuoäc khoa TH.
Duøng Make table Query, ñeå taïo ra baûng SINH VIEÂN ÑAÄU goàm caùc Field Masv, hoten, phai, malop, tenlop, mamh, tenmh, lanthi, diem.
Duøng Make table Query, ñeå taïo ra baûng SINH VIEÂN RÔÙT goàm caùc Field Masv, hoten, phai, malop, tenlop, mamh, tenmh, lanthi, diem.
Döïa vaøo Query 16, duøng Make table Query, ñeå taïo ra baûng TOÅNG KEÁT KHOA TIN HOÏC VAØ baûng TOÅNG KEÁT KHOA CÔ KHÍ.
Duøng Make table Query, ñeå taïo ra baûng SINH VIEÂN COÙ HOÏC BOÅNG goàm caùc Field Masv, hoten, phai, malop, tenlop, makh, tenkh, hocbong.
Theâm vaøo baûng Sinh vieân field Hocphi (Yes/No), sau ñoù nhaäp döõ lieäu cho Field naøy, sinh vieân naøo ñaõ ñoùng hoïc phí thì choïn yes, ngöôïc laïi laø No.
Duøng Make Table Query, taïo table SINH VIEN CHUA DONG HOC PHI goàm Masv, Hoten, phai, malop, tenlop, makh, tenkh ñöôïc saép xeáp theo Makh, cuøng Makh thì theo malop, cuøng malop theo masv.
Duøng append Query theâm vaøo baûng SINH VIEN CHUA DONG HOC PHI nhöõng Sinh vieân ñaõ ñoùng hoïc phí. Sau ñoù duøng Delete query xoùa trong baûng naøy nhöõng sinh vieân vöøa theâm.
BAØI TAÄP FORM
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 :
Unbound Object Frame
Fields
Label
Bound Object Frame
Command Button
Sub Form
Check box
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.
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
Truyeàn tham soá töø form vaøo Query vaø Report
Coâng thöùc : [FORMS]![TEÂN FORM]![TEÂN ÑOÁI TÖÔÏNG]
Yeâu caàu: Taïo Form coù daïng sau :
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
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 : SELECT [SVIEN].[MASV], [SVIEN].[HOSV], [SVIEN].[TENSV] FROM [SVIEN]
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.
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).
Coâng thöùc : FORMS![TEÂN FORM]![TEÂN ÑOÁI TÖÔÏNG]
Neáu truyeàn tham soá töø SubForm sang Main form trong cuøng 1 Form
Coâng thöùc : [TEÂN OÂ CHÖÙA SUBFORM].FORM![TEÂN ÑOÁI TÖÔÏNG]
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 :
Teân lôùp : =[SUB1].Form![Hosv]+” “+[SUB1].Form![Tensv]
Hoï teân Sinh vieân : = [SUB1].Form![Hosv]+ “ “ +[SUB1].Form![Tensv]
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 :
Name : Ñaët teân cho oâ (ví duï Tgian)
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 :
= [SUB1].Form![Masv]
Visible : Choïn No.
Chænh thuoäc tính cuûa oâ SubForm thöù hai theo noäi dung sau ;
Link Child Fields : teân field laøm chæ tieâu quan heä (Masv).
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ù).
Taïo Form theo maãu sau :
Taïo Form theo maãu sau :
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 :
BAØI TAÄP REPORT
Taïo Report theo maãu sau :
Taïo Report In Baûng ñieåm theo maãu sau :
Taïo Report In theû sinh vieân theo maãu sau :
Các file đính kèm theo tài liệu này:
- BÀI TẬP THỰC HÀNH ACCESS.doc