4.4.1. TẠO SELECT QUERY
a) CÁC BƯỚC TẠO
Từ màn hình giao diện chính Chọn phiếu Create-> Trong ngăn Other Click chuột vào mục Query Design.
Hình 4.1 : Màn hình của phiếu Create
Một cửa sổ thiết kế QBE xuất hiện cùng với hộp thoại Show Table
Hình 4.2 : Màn hình thiết kế Query cùng với hộp thoại Show Table.
Xuất hiện hộp thoại Show Table để ta chọn Table hoặc Query làm nguồn cho Query đang tạo.
Chọn các Table để lấy dữ liệu tạo Query, rồi nhấn Add (hoặc chỉ cần nhắp kép chuột vào tên Table cần chọn)
Click chuột vào nút Close đểđĩng cửa sổ Show Table
Chọn các cột cần cĩ trong Query đưa xuống dịng Field (cách chọn giống như là cách chọn trong lúc sử dụng phương pháp Advanced Filter/ Sort).
• Sort: chọn Ascending (tăng dần) hoặc Descending (giảm dần) để sắp xếp.
• Show:⌧ hiện hoặc ẩn cột.
• Criteria kết hợp với Or: dùng đặt điều kiện lọc dữ liệu.
Ví dụ: Tạo select Query bao gồm các cột SOHD, MAKH, TENKH, NGAY, LOAIVT, HTTT lấy từ 2 Table T_KHACHHANG và T_HOADON. Chỉ lọc những hĩa đơn của khách hàng cĩ mã là “PV” hoặc “BT”.
Hình 4.5 : Màn hình thiết kế Query theo ví dụ.
b) XEM TRƯỚC KẾT QUẢ HOẶC THỰC HIỆN QUERY
• Xem trước: Click chuột vào nút View trên thanh cơng cụ.
Hình 4.6 : Nút View và nút Run trên thanh cơng cụ.
Hình 4.7 : Kết quả chạy Query trên.
c) TẠO CỘT TÍNH TỐN TRONG QUERY
- Cú pháp:
<Tên cột tính tốn>:<Biểu thức>
Tên cột tính tốn là từ do ta tựđặt nhưng khơng được trùng với tên cột của Table hoặc Query nguồn.
- Thí dụ:
HOTEN:[HOLOT] & “ “ & [TEN] TRIGIA:[SOLUONG]*[DONGIA] HTTOAN:IIF([HTTT]=”TM”,”Tiền mặt”,IIF([HTTT]=”TP”,”Tín phiếu”,”Nợ”)) TENPHONG:IIF(LEFT([MANV],2)=”TH”,”Tin học”,IIF(LEFT([MANV],2)=”KT”,”Kỹ thuật”,”Hành chánh”)) PHAI:IIF([PHAINAM]=-1,”Nam”,”Nữ”) THANG:MONTH([NGAY]) NAM:YEAR([NGAY]) - Ghi chú:
Nếu tên trong biểu thức của cột tính tốn cĩ trong từ 2 Table nguồn trở lên thì ta phải đặt tên Table nằm trước tên Field cách nhau bởi dấu chấm.
Thí dụ như Query đang tạo cĩ 2 Table nguồn T_CTHOADON và T_SANPHAM và trong cả 2 Table này đều cĩ cột DONGIA. Vậy thì cột tính
tốn TRIGIA được viết lại nhu sau:
TRIGIA:[SOLUONG]*[T_CTHOADON].[DONGIA] (vì trong trường hợp này ta muốn lấy cột DONGIA trong Table T_CTHOADON).
d) KHAI BÁO THUỘC TÍNH CỦA MỘT CỘT TRONG QUERY
Click chuột phải vào tên cột cần khai báo thuộc tính trên lưới QBE và chọn lệnh Properties. Xuất hiện bảng thuộc tính và ta khai báo những thuộc tính mà ta cần.
Thí dụ: cột NGAY trong Query được thiết kế ở hình 4.5 ta muốn hiển thị dạng Medium Date.
Hình 4.8 : Khai báo thuộc tính cho cột NGAY trong Query.
Hình 4.9: Chọn thuộc tính Format cho cột NGAY.
4.4.2. TẠO SELECT QUERY CĨ GOM NHĨM THỐNG KÊ
Các bước tạo giống như tạo một Select Query như trên
Click chuột vào nút Totals trên thanh Toolbar để chèn thêm dịng Total vào lưới thiết kế.
Hình 4.10:Nút Totals trên thanh Toolbar.
Ý nghĩa của các hàm tính tốn tại dịng Total:
• Group By: Chọn cho các cột cần kết nhĩm dữ liệu để thống kê. • Sum: Tính tổng cho các cột dữ liệu số.
• Avg: Tính trung bình cho các cột dữ liệu số • Min: Lấy giá trị nhỏ nhất
• Max: Lấy giá trị lớn nhất.
• Count:Đếm tổng số mẩu tin trên một cột khi gom nhĩm • First: Lấy giá trịđầu tiên của nhĩm.
• Last: Lấy giá trị sau cùng của nhĩm
• Expression: Biểu thức tính tốn từ các cột dữ liệu. • Where: Điều kiện lọc dữ liệu cho Query.
Thí dụ: Tạo Query để thống kê số lượng nhập, xuất lớn nhất và nhỏ nhất của từng khách hàng:
Hình 4.11 : Màn hình thiết kế Query gom nhĩm theo yêu cầu trên.
Chú ý:
- Khi chạy Query, tên cột mà ta chọn trong dịng Total là một tên hàm thì tên cột sẽđược thành lập theo nguyên tắc <tên hàm> Of <tên cột>. Như ví dụ trên khi chọn hàm Max và hàm Min cho cột số lượng khi chạy Query ta cĩ 2 cột là MaxOfSoluong và MinOfSoluong.
- Muốn tên cột theo ý muốn khác với nguyên lý trên thì trên dịng Field ta cĩ thể định nghĩa tên cột theo cú pháp: <tên cột>:<tên field>.
Hình 4.13 :Kết quả khi chạy Query.
4.5. SỬ DỤNG THAM SỐ TRONG QUERY 4.5.1. Ý NGHĨA CỦA VIỆC SỬ DỤNG THAM SỐ 4.5.1. Ý NGHĨA CỦA VIỆC SỬ DỤNG THAM SỐ
Tham số trong Query dùng để thực hiện các Query theo một điều kiện động nào đĩ. Điều kiện động là một giá trị do người sử dụng nhập vào khi thực hiện Query.
4.5.2. CÁC BƯỚC TẠO THAM SỐ
a) KHAI BÁO ĐỊNH NGHĨA THAM SỐ
- Click chuột vào nút Parameters trên Toolbar
Hình 4.14 :Nút Parameters trên Toolbar.
- Ghi tên tham sốở cột Parameter và chọn kiểu dữ liệu ở cột Data Type (chọn kiểu phù hợp với kiểu của cột trong bảng mà ta cần đưa tham số vào).
b) SỬ DỤNG
Tên của tham sốđược ghi vào dịng điều kiện (Criteria) trong lưới QBE và tại cột dữ liệu mà ta cần so sánh hoặc tên tham số cũng cĩ thể sử dụng để làm biểu thức khi thành lập cột mới trên dịng Field,…
Ví dụ 1: Sử dụng các Table T_Hoadon và T_CTHOADON để theo dõi các hĩa đơn được lập trong khoảng thời gian từ một tháng đến một tháng nào đĩ được mà người dùng nhập từ bàn phím:
• Trong Parameters định nghĩa 2 biến như hình 4.15 • Trong lưới QBE thiết lập như sau:
4.6. TẠO CÁC LOẠI QUERY KHÁC 4.6.1. CROSSTAB QUERY 4.6.1. CROSSTAB QUERY
Crosstab Query là hình thức thống kê dữ liệu trong các Table theo nguyên tắc lấy giá trị của các mẩu tin trên một cột nào đĩ gom nhĩm lại để thành lập ra các cột mới để thống kê số liệu theo từng nhĩm hàng ngang và cột dọc.
Thí dụ: Từ Table T_Nhanvien tạo Query để thống kê số nhân viên nam, nữ theo từng phịng ban như sau:
Hình 4.18: Mẫu CrossTab Query để thống kê số nhân viên nam nữ theo phịng ban
Hình 4.19: Màn hình thiết kế Crosstab Query.
Các bước tạo:
- Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Crosstab trên Toolbar.
-
Hình 4.20 : Bấm vào nút Crosstab
- Trên lưới QBE xuất hiện thêm hai dịng mới là Total và Crosstab Dịng Total cĩ các giá trị như ta đã phân tích trên.
Dịng Crosstab chứa ba giá trịđể chọn lựa mang ý nghĩa như sau:
• Row Heading: Chọn cho cột mà ta muốn giá trị của cột đĩ hiển thị theo dịng (cĩ thể chọn nhiều cột làm Row Heading). Cột nào trên dịng Total ta chọn Group By, trên dịng Crosstab ta chọn Row Heading thì Access sẽ vào cột đĩ, xem cĩ bao nhiêu giá trị trùng nhau sẽ gom thành bấy nhiêu dịng và lấy giá trị trùng nhau đĩ làm tiêu đềđầu dịng
• Column Heading: Chọn cho cột nào muốn lấy giá trị của các mẩu tin trên cột đĩ gom lại thành từng nhĩm mỗi giá trị của nhĩm tạo thành tiêu đề một cột mới để thống kê số liệu. Đây là chỉ tiêu gom nhĩm theo cột (chỉ cho phép một cột làm Column Heading). Cột nào ta chọn Group By, Column Heading thì Access sẽ vào cột đĩ xem cĩ bao nhiêu giá trị trùng nhau sẽ gom thành bấy nhiêu cột và lấy giá trị trùng nhau đĩ làm tiêu đề đầu cột. Do đĩ, muốn chọn cột làm Column Heading, ta xem những tiêu
đề đầu cột là giá trị của cột nào trong Table nguồn thì cột đĩ sẽ được chọn làm Column Heading.
• Value: giá trị tính tốn giao nhau giữa dịng và cột (chỉ cho phép một cột làm value) Thí dụ: Ở cột Manv, dịng Total ta chọn Count, dịng Crosstab ta chọn Value thì Access sẽ vào Table nguồn xem những dịng dữ liệu nào cĩ giá trị giống nhau ở những cột được chọn làm Row Heading và Column Heading thì nĩ sẽ Count trên cột Manv ở những dịng đĩ.
Lưu ý :
• Một Crosstab Query phải cĩ ít nhất một cột trong dịng Crosstab ta chọn giá trị Row Heading, duy nhất một cột chọn Colunm Heading và duy nhất một cột được chọn làm Value.
• Nếu cột nào mà trên dịng Crosstab ta chọn giá trị là Colunm Heading thì trên dịng Total của nĩ ta phải chọn giá trị là Group by. Nếu cột nào mà trên dịng Crosstab ta chọn già trị là Value thì trên dịng Total của nĩ ta phải chọn giá trí khác Group by.
4.6.2. MAKE TABLE QUERY
Make Table Query là loại Query cĩ chức năng tạo ra Table mới. Table mới này cĩ cấu trúc và nội dung được chọn lọc từ các Table khác.
a) VÍ DỤ
Sử dụng Table T_HOSONV, T_CHAMCONG để tạo Make Table Query tên Q_BACKUP1 cĩ chức năng tạo ra Table tên T_THEODOINHANVIEN bao gồm các cột sau: MANV, HOVATEN, PHAI (ghi rõ Nam/Nữ), LCB, NGAYCONG, NGAYPHEP, TENPHONG. Table này chỉ chứa những mẩu tin thỏa 2 điều kiện cĩ LCB>=300 và NGAYCONG>=20.
b) CÁC BƯỚC TẠO
- Từ lưới QBE ta chọn và xây dựng các cột giống như Select Query.
- Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Make Table trên Toolbar.
-
Hình 4.21 : Click vào nút Make Table
Hình 4.22 : Hộp thoại dùng đặt tên cho Table cần tạo.
Nhập tên Table cần tạo vào ơ Table Name và chọn một trong hai mục sau: • Current Database: Table mới được tạo sẽđưa vào Database hiện hành. • Another Database: Table mới được tạo sẽđưa vào Database khác. Tên
Database đĩ được chỉ rõ trong ơ File Name (cĩ thể Click vào nút Browse để chọn tên Database cần đưa Table mới vào).
Lưu Query vừa tạo với tên Q_BACKUP1:
Hình 4.23 : Đặt tên cho Query là Q_BACKUP1.
Để xem trước dữ liệu của Table mới khi được tạo lập ta Click chuột vào nút View.
Hình 4.24: Thơng báo số mẩu tin sẽ được tạo trong Table mới.
Lưu ý: Trường hợp Table T_THEODOINHANVIEN đã được tạo rồi sẽ xuất hiện thơng báo
Hình 4.25 : Thơng báo Table T_THEODOINHANVIEN đang cĩ sẽ bị xĩa trước khi tạo Tbale mới.
Hình 4.27 : Nội dung của Table mới T_THEODOINHANVIEN.
4.6.3. UPDATE QUERY
Update Query là loại Query cĩ chức năng cập nhật lại giá trị của các trường trong Table theo một cơng thức nào đĩ.
a) VÍ DỤ
Sử dụng Table T_THEODOINHANVIEN tạo Query tên Q_UpdateThuong để cập nhật dữ liệu cho cột THUONG theo cơng thức Thuong=LCB*150 nếu PHAI là Nam và Thuong=LCB*120 nếu PHAI là Nữ. Chỉ cập nhật cho những nhân viên cĩ ngày cơng lớn hơn 24.
b) CÁC BƯỚC TẠO
Từ màn hình Create bấm vào Query Design.
Chọn Table cần cập nhật là T_THEODOINHANVIEN.
Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Update trên Toolbar.
-
Hình 4.28 : Click vào nút Update
Hình 4.29 : Màn hình thiết kế Query Q_UpdateThuong
Thực hiện Query, xuất hiện thơng báo cĩ 23 mẩu tin được cập nhật:
Hình 4.30 : Thơng báo số mẩu tin sẽ được cập nhật.
Hình 4.31 : Nội dung Table T_THEODOINHANVIEN đã được cập nhật.
Append Query là loại Query cĩ chức năng lấy dữ liệu từ Table này để nhập nối thêm làm dữ liệu của Table kia.
a) VÍ DỤ
Sử dụng Table T_HOSONV để tạo Append Query tên Q_AppendNhanVien cĩ chức năng lấy tất cả dữ liệu của các mẩu tin Nữ từ Table T_HOSONV để nhập thêm cho Table T_NHANVIEN. (Table T_NHANVIEN cĩ cấu trúc giống Table T_HOSONV nhưng chỉ cĩ những mẩu tin Nam)
b) CÁC BƯỚC TẠO
Từ màn hình Create bấm vào Query Design.
Chọn Table nguồn cho Query (chọn Table T-HOSONV).
Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Append trên Toolbar.
-
Hình 4.32 : Bấm vào nút Append
Hình 4.33 : Hộp thoại Append dùng chọn Table đích.
Khai báo các thành phần trên vùng lưới:
• Ở dịng Field: chọn những cột cần thêm dữ liệu ở Table nguồn.
• Ở dịng Append To: chọn những cột tương ứng cần thêm dữ liệu ở Table đích.
• Đặt điều kiện lọc dữ liệu ở dịng Criteria để lọc các mẩu tin được đưa từ Table nguồn sang Table đích.
Hình 4.34 :Màn hình thiết kế Query Q_AppendNhanVien.
Lưu Query với tên Q_AppendNhanVien:
Hình 4.35 :Đặt tên cho Query là Q_AppendNhanVien.
Thực hiện Query, xuất hiện thơng báo:
Hình 4.36 : Hộp thoại thơng báo cĩ 12 mẩu tin được thêm vào Table T_NHANVIEN.
4.6.5. DELETE QUERY
Là loại Query cĩ chức năng xĩa các mẩu tin trong Table thõa mãn một điều kiện nào đĩ.
a) VÍ DỤ
Tạo Delete Query cĩ tên Q_XoaDaLapGiaDinh để xĩa tất cả các nhân viên đã lập gia đình trong Table T_HOSONV.
b) CÁC BƯỚC TẠO
Từ màn hình Create bấm vào Query Design.
Chọn Table cần xĩa dữ liệu để tạo Query (chọn Table T-HOSONV).
-
Hình 4.37 : Bấm vào nút Delete
Đặt điều kiện xĩa trên lưới của màn hình thiết kế Query.
• Chọn tên Field cần đặt điều kiện xĩa ở dịng Field, ở dịng Delete sẽ xuất hiện chữ Where và đặt điều kiện xĩa ở dịng Criteria.
• Nếu muốn xĩa hết ta chọn * ở dịng Field, lúc đĩ ở dịng Delete xuất hiện chữ From.
Hình 4.38 : Màn hình thiết kế Delete QueryQ_XoaDaLapGiaDinh.
Thực hiện Query, xuất hiện thơng báo:
Bài 5. FORM – BIỂU MẪU 5.1. CHỨC NĂNG CHÍNH CỦA FORM
- Thiết kế màn hình giao diện làm khuơn mẫu để quan sát, sửa đổi, nhập, xĩa dữ liệu cho Table.
Hình 5.1 : Màn hình Form giao diện với dữ liệu của Table
- Làm màn hình giao diện đểđiều khiển chương trình ứng dụng.
5.2. CÁC THÀNH PHẦN CHÍNH TRONG MÀN HÌNH THIẾT KẾ
FORM
Hình 5.3 : Màn hình thiết kế Form
5.2.1. FORM HEADER
Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở đầu Form. (Điều khiển là tất cả các thành phần được đưa vào màn hình thiết kế Form).
5.2.2. DETAIL
Thể hiện thơng tin chi tiết dữ liệu của Form.
5.2.3. FORM FOOTER
Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở cuối Form.
5.2.4. CÁC CƠNG CỤ HỖ TRỢ TRONG MÀN HÌNH THIẾT KẾ FORM
Hình 5.4 : Thanh cơng cụ hỗ trợ thiết kế Form
Form View: Dùng để chuyển Form về chếđộ xem dữ liệu
Datasheet View: Dùng để chuyển Form về chếđộ xem dữ liệu ởchế độbảng
PivotTable View: Dùng để chuyển Form về màn hình Pivot dữ liệu trên Form
PivotChart View: Dùng để chuyển Form về màn hình vẽđồ thị dữ liệu
Layout View: Dùng để chuyển Form về chếđộ Layout. Trong chếđộ này giống như chếđộ Form View nhưng cho phép bạn cĩ thể chỉnh sửa vị trí, kích thước của các control trên Form để phù hợp với nội dung của nĩ.
Form View: Dùng để chuyển Form về chếđộ thiết kế
Hình 5.4.1 : Thanh menu xuất hiện khi khai triển nút View
• Ngăn cơng cụ Font: Dùng đểđịnh dạng Font chữ hiển thị trên màn hình Form
Hình 5.4.2 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Font
Hình 5.4.3 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Gridlines
• Ngăn cơng cụ Controls: Chứa các loại điều khiển cĩ thể sử dụng đểđặt lên Form.
Hình 5.4.4 : Hộp cơng cụ Controls
• Ngăn cơng cụ Tools: Chứa hai nút chính Add Existing Fields dùng để làm xuất hiện các Field cĩ thể nhúng vào Form và Property Sheet dùng để làm xuất hiện bảng thuộc tính của các đối tượng đang chọn trên Form.
Hình 5.4.5 : Hộp cơng cụ Tools
5.3. CÁC DẠNG FORM
5.3.1. DẠNG COLUMNAR (DẠNG CỘT)
Dữ liệu được thể hiện trên từng cột và tại một thời điểm chỉ hiển thị nội dung của một mẩu tin.
Hình 5.5 : Form dạng Columnar
5.3.2. DẠNG TABULAR (DẠNG DANH SÁCH)
Dữ liệu được thể hiện trên nhiều dịng và trên nhiều cột. Được sử dụng khi độ rộng các cột khơng vượt quá chiều rộng màn hình và muốn xem một lúc nhiều dịng dữ liệu.