View
24.463
Download
0
Category
Preview:
Citation preview
ACCESS
CAO ĐẲNG SƯ PHẠM ĐIỆN BIÊNTHÁNG 11/2008
NỘI DUNG
Chương 1: Giới thiệu về Access Chương 2: Table và Relationship Chương 3: Một số thao tác trên CSDL Chương 4: Query Chương 5: Form Chương 6: Report Chương 7: Macro Chương 8: Menu
CHƯƠNG 1: GIỚI THIỆU VỀ ACCESS
I. Giới thiệu Access
Microsoft Access là một hệ quản trị CSDL quan hệ chạy trên Windows.
Microsoft Access bắt đầu được phát hành trong bộ Office năm 1992 và cho đến nay nó là một trong những chương trình cơ sở dữ liệu văn phòng phổ biến nhất thế giới.
Access dùng để xây dựng hệ CSDL đồng thời xử lý và quản lí chúng theo những yêu cầu đặt ra, xây dựng trọn gói các phần mềm quản lý quy mô vừa và nhỏ.
II. Chế độ làm việc của Access
Acces có hai chế độ làm việc, đó là: Chế độ sử dụng công cụ có sẵn: giúp
người sử dụng không chuyên có thể xây dựng chương trình quản lí
Chế độ lập trình: Dùng ngôn ngữ VBA (Visual Basic for Application), người sử dụng chuyên nghiệp có thể phát triển ứng dụng, kiểm soát chặt chẽ dữ liệu, phân quyền truy nhập.
III. Khởi động Access
Ta có thể khởi động Access bằng một trong các cách sau:
Cách 1 Kích nút Start trên Taskbar của Windows Di chuyển trỏ chuột đến All Program, một
menu con xuất hiện Di chuyển trỏ chuột đến Microsoft Office
Tools, một menu con nữa xuất hiện Kích chọn Microsoft Access có biểu tượng
Khởi động Access (tiếp)
Cách 2: Nháy chuột vào biểu tượng trên
thanh công cụ chuẩn của Microsoft Office nếu máy cài Microsoft Office Shortcut Bar (thanh bảng chọn ở phía trên, góc phải của màn hình)
Khởi động Access (tiếp)
Cách 3: Có thể tạo biểu tượng tắt (ShortCut)
cho chương trình trên màn hình làm việc (Desktop) và khi muốn khởi động thì nháy đúp vào biểu tượng này .
IV. Cửa sổ làm việc của Access
Sau khi khởi động Access, ta sẽ thấy môi trường làm việc của Access xuất hiện với các thành phần sau:
Thanh tiêu đề
Thanh menu chính
Thanh công cụ Standard
Vùng làm việc
Cửa sổ làm việc của Access (tiếp)
Thanh tiêu đề: Bao gồm tên của phần cửa sổ (Microsoft Access) và ba nút điều khiển cửa sổ (thu nhỏ, phóng to, đóng).
Thanh Menu chính:
Các thanh công cụ: Trong Access có rất nhiều thanh công cụ, nhưng ngầm định hiển thị sẵn thanh công cụ chuẩn vì chúng thường xuyên được sử dụng. Trong quá trình làm việc, khi cần hiển thị thanh công cụ nào thì kích vào View/Toolbars/Customize ... và chọn tên thanh công cụ cần hiển thị.
Vùng làm việc: Chứa tất cả các cửa sổ của các đối tượng dữ liệu khi ta mở ra để thao tác trên đó.
V. Tạo cơ sở dữ liệu mới-Database
B1: Trên menu File, chọn New, xuất hiện thanh tác vụ New File
B2: Kích chọn Blank Database,
xuất hiện hộp thoại File New Database
Tạo cơ sở dữ liệu mới-Database (tiếp)
B3: Đặt tên cho Database vào mục File name
B4: Kích chọn Creat
VI. Làm việc với cơ sở dữ liệu đã có
1. Nếu thanh tác vụ đã được mở:
B1: Kích chọn tên CSDL cần mở trong mục Open a file hoặc kích vào More file… , trên màn hình xuất hiện hộp thoại Open
B2: Chọn tên CSDL cần mở trong danh sách hoặc gõ tên CSDL cần mở vào ô File name.
B3: Kích Open
Làm việc với cơ sở dữ liệu đã có (tiếp)
2. Nếu thanh tác vụ chưa mở: B1: Trên menu File, kích Open ,
xuất hiện hộp thoại Open B2: Chọn tên CSDL cần mở (Giống
như ở mục 1.)
VII. Các đối tượng chính của Access
Bảng (tables): Là thành phần căn bản nhất của CSDL. Bảng là nơi trực tiếp chứa dữ liệu. Ta có thể nhập khẩu, kết nối các bảng từ các ứng dụng cơ sở dữ liệu khác như Paradox, Excel, FoxPro, dBase, …
Truy vấn (Queries): Thực hiện chức năng tìm kiếm, Tạo nguồn dữ liệu cho các giao diện nhập liệu (Form), các báo cáo (Report), …
Biểu mẫu (Form): Hiển thị dữ liệu có trong các bảng hay truy vấn và cho phép bổ sung các dữ liệu mới, đồng thời hiệu chỉnh hay xóa dữ liệu hiện có. Có thể kết hợp ảnh và đồ thị vào biểu mẫu, thậm chí cả âm thanh.
Các đối tượng chính của Access(tiếp)
Báo cáo (Report): In dữ liệu từ các bảng hoặc các truy vấn. Access cho phép bổ sung đồ họa vào báo cáo.
Macro: là một hình thức lập trình đơn giản. Nó được dùng để gắn kết các đối tượng chính trong chương trình như liên hệ giữa các form, tạo menu.
Module: Là chương trình viết bằng VBA.
IIX. Thoát khỏi Access
Muốn thoát khỏi Access, ta có thể thực hiện 1 trong 3 cách sau: Cách 1: Từ thanh menu, chọn
File/Exit Cách 2: Kích vào nút Close trên
thanh tiêu đề Cách 3: Gõ tổ hợp phím Alt+F4
IX. Công cụ Wizard và Builder
1. Wizard Wizard: cung cấp các dịch vụ đơn giản hóa việc
tạo các đối tượng cơ sở dữ liệu mới. Wizard dẫn ta qua một loạt các bước định sẵn xác định các đặc tính đối tượng mà ta muốn tạo ra.
Wizard có thể sử dụng ở nhiều nơi khác nhau:
+ Tạo lập toàn bộ một CSDL (Database Wizard).
+ Trên Bảng, Truy vấn, Form, Report.
+ Trên các điều khiển.
+ Tạo trang Web.
Công cụ Wizard và Builder (tiếp)
2. Expresion Builder Là bộ công cụ thuận tiện nhất để tạo các biểu thức,
đặc biệt là các biểu thức có chứa điều khiển liên quan tới biểu mẫu hoặc báo cáo.
CHƯƠNG 2: TABLE VÀ RELATIONSHIP
I. Một số thuật ngữ
1. Bảng (Table): - Bảng là cấu trúc cơ bản nhất của CSDL quan hệ. Mỗi bảng trong một CSDL phải chứa những thông tin thích hợp cho một đối tượng. Ví dụ: một trường học tiêu biểu gồm có các học sinh, giáo viên và các lớp. Một ứng dụng CSDL về trường học phải có một bảng chứa thông tin về học sinh, một bảng về giáo viên và một bảng về lớp. - Mỗi dòng trong bảng (hay còn gọi là bản ghi- record) tượng trưng cho đối tượng được lưu trữ trong bảng. Ví dụ mỗi dòng trong bảng HOCSINH biểu thị cho một học sinh. - Mỗi cột trong bảng (hay còn gọi là trường-field) chứa một mục dữ liệu cần quản lí về đối tượng. Ví dụ mỗi học sinh có các mục dữ liệu càn lưu trữ là: Số báo danh, Họ tên,…
Một số thuật ngữ (tiếp)
2. Tên trường (Field name): được dùng để mô tả mục dữ liệu cần lưu trữ. Mỗi bảng không thể có hai tên cột trùng nhau
3. Kiểu dữ liệu (Data type): kiểu được dùng để gán cho dữ liệu chứa trong cột
4. Thuộc tính trường (Field Property): là tập hợp các đặc điểm được kết hợp vào mỗi trường. Ví dụ: SBD là xâu 3 kí tự, hocbong co giá trị > 200.000,…
5. Thuộc tính bảng (Table Property): là tập hợp các đặc điểm liên quan đến nhiều trường được kết hợp vào bảng. Ví dụ: NGAYSINH+14<=NGAYVD
Một số thuật ngữ (tiếp)
6. Khoá chính (Primary key): Một hay nhiều trường dùng để nhận dạng duy nhất từng dòng trong bảng dữ liệu gọi là khoá chính. Mỗi bảng có một khoá chính. Dữ liệu trong khoá chính phải là duy nhất cho mỗi bản ghi. Khoá chính còn được dùng để tạo các liên kết giữa các bảng trong một CSDL.
7. Khóa kết nối: Trong 1 CSDL thường có nhiều bảng, các bảng này có mối liên kết với nhau. Để xác định mối liên kết này, ta dùng khóa kết nối. Thông thường khóa kết nối của 2 bảng là cột có cùng tên nằm ở 2 bảng đó.
II. Qui ước tên trường
Tên trường dùng để mô tả dữ liệu chứa trong trường, tên trường dài tối đa 64 ký tự và có thể chứa các kí tự chữ cái, chữ số, khoảng trắng và các kí tự đặc biệt khác.
Tên trường không được phép chứa dấu chấm (.), chấm than (!), dấu huyền (`), dấu móc vuông ([])
Tên trường không được bắt đầu bằng khoảng trắng
Tên trường không phân biệt chữ hoa, chữ thường. Ví dụ: Số báo danh, Họ tên, Toan, Ly,…
III. Các loại dữ liệu
1). Text: các từ hoặc số không được sử dụng trong các phép tính. Chiều dài tối đa cho kiểu text là 255 kí tự
2). Memo: một trường mở sử dụng cho các lời ghi chú3). Number: Các số âm hoặc dương4). Date/Time: Ngày tháng, thời gian5). Currency: tiền tệ6). AutoNumber: một trường số được tự động nhập
vào7). Yes/No: logic8). OLE Object: một đối tượng như ảnh,...9). Hyperlink: các địa chỉ Web
IV. Tạo bảng
1. Bước 1: Mở cửa sổ thiết kế bảng (Table Design) Cách 1: Từ cửa sổ Database, trong mục Object chọn
Tables/ Create table in Design view/Design
Tạo bảng (tiếp)
Cách 2: Từ cửa sổ Database, trong mục Object, chọn Tables/ kích biểu tượng New, cửa sổ New Table xuất hiện
Tạo bảng (tiếp)
Chọn Design view/OK Kết thúc bước 1, ta có cửa số thiết kế bảng(Table Design)
Tạo bảng (tiếp)
2. Bước 2: Thiết kế các trường (cột ) của bảngTrong cửa sổ như trong hình trên, chúng ta lần lượt thực
hiện các công việc sau: Nhập tên trường trong mục Field name:
Đặt trỏ chuột vào dòng bất kì của cột Field name Gõ tên trường
Chọn kiểu dữ liệu của trường trong mục Data Type Kích vào dấu mũi tên xuống, xuất hiện danh sách
kiểu dữ liệu Kích chọn kiểu cần dùng
Ghi mô tả của trường trong mục Description (không bắt buộc)
Tạo bảng (tiếp)
Nhập các thuộc tính của trường trong phần General và phần Lookup (trình bày ở phần sau)
Nhập thuộc tính của bảng trong phần Table Properties (trình bày trong phần sau)
Xác định khoá chính: Đánh dấu các trường trong khoá chính Kích hoạt biểu tượng chìa khóa hoặc chọn menu
Edit/Primary key, khi đó xuất hiện biểu tượng chìa khoá ở phía trước của trường được chọn làm khoá chính.
Tạo bảng (tiếp)
3. Bước 3: Ghi lại cấu trúc bảng vừa tạo Chọn biểu tượng đĩa mềm trên thanh công cụ. Hộp
thoại Save As xuất hiện Nhập tên bảng trong phần Table Name/OK
V. Thuộc tính trường (Field Properties)
1. Field size: số kí tự tối đa để lưu trữ dữ liệu trong trường.
2. Format: khuôn dạng của dữ liệu khi hiển thị 3. Decimal Places: dùng cho các trường Number và
Currency để xác định số chữ số được hiển thị và số chữ số sau dấu thập phân
4. Input mask: Khuôn dạng của dữ liệu nhập. Đó là xâu kí tự chứa những kí tự sau:
0: Các chữ số. Bắt buộc nhập 9: các chữ số hoặc dấu cách. Không bắt buộc nhập #: các chữ số, dấu +, - hoặc dấu cách. Không bắt buộc nhập L: Chữ cái. Bắt buộc nhập
Thuộc tính trường (tiếp)
?: chữ cái. Không bắt buộc nhập A: Chữ cái hoặc chữ số. Bắt buộc nhập a: chữ cái hoặc chữ số. Không bắt buộc nhập &: Ký tự bất kì hoặc khoảng trống. Bắt buộc nhập .,:-/: các dấu phân cách dùng cho kiểu số và ngày
giờ. Nếu có kí tự chữ cái cố định thì chữ cái đó được
đặt trong cặp dấu “”5. Caption:Chú thích6. Default Value: xác định 1 giá trị cho các mục nhập
mới. Ta sẽ nhập giá trị thường được nhập nhất cho các trường
Thuộc tính trường (tiếp)
7. Validation Rule : qui định ràng buộc về dữ liệu nhập vào. Điều kiện ràng buộc có thể dùng: Các hằng: phải dùng các dấu phân cách: cặp””
cho kiểu xâu, cặp # # cho ngày giờ Các phép so sánh: =,>,<,>=,<=,<> Các phép toán logic: NOT, AND, OR,... Các toán tử đặc biệt: Between, In, Like,...
8. Validation Text: Thông báo khi dữ liệu nhập vào không thỏa mãn ràng buộc
Thuộc tính trường (tiếp)
9. Lookup- tham chiếu: Khi muốn ràng buộc để dữ liệu của trường này chỉ nhận các giá trị của một trường nào đó trong 1 bảng khác, ta khai báo trong Lookup.
Trong trang Lookup cần khai báo các thông số sau: Display Control: Chọn Listbox hoặc Combobox Row Source Type: Kiểu nguồn dữ liệu, dạng bảng hoặc
danh sách giá trị Row Source: Nguồn dữ liệu, tên bảng truy vấn hay danh
sách giá trị Bound Column: Số thứ tự của cột được tham chiếu đến(cột
cho giá trị trong bảng gốc) Column Count: Tổng số cột hiển thị trong hộp Column width: Độ rộng cột
VI. Thuộc tính bảng (Table Properties)
Khi các ràng buộc dữ liệu liên quan đến nhiều trường trong bảng, ta phải xác định tại Table Properties.
Từ cửa sổ Table Design, kích phải chuột, chọn Properties
Xuất hiện cửa sổ Table Properties cho phép đặt ràng buộc (tương tự như Fields Properties)
Tại Validation Rule, ta xây dựng biểu thức thể hiện ràng buộc của các trường trong bảng.
VII. Các thao tác trên bảng
Chỉnh sửa bảng: Mở bảng cần chỉnh sửa trong Design View Chọn bảng và kích nút Design
Chèn trường: Chọn hàng bên dưới vị trí ta muốn chèn Kích Insert Rows
Xóa trường Chọn trường cần xóa Kích Delete Rows (không xóa trường khóa)
Các thao tác trên bảng(tiếp)
Đổi tên trường: Chọn tên trường cần đổi Nhập tên mới cho trường
Thay đổi kiểu dữ liệu: Kích vào cột DataType của trường cần đổi Kích mũi tên xổ xuống Chọn kiểu Lưu bảng
Các thao tác trên bảng(tiếp)
Di chuyển trường: Kích chọn trường cần di chuyển Rê kéo đến vị trí mới rồi nhả chuột
Chỉnh kích cỡ hàng Vào menu Format/Row Height, xuất hiện hộp thoại
Row Height Nhập độ cao mới cho hàng vào hộp Row height Các hàng đồng loạt được thay đổi độ cao
Các thao tác trên bảng (tiếp)
Dấu cột: Ta có thể tạm dấu những cột không muốn xem bằng
cách Kích chọn cột muốn dấu Vào menu Format/Hide Columns
Hiện cột: Vào menu Format/Unhide Columns Kích bỏ chọn vào những trường không muốn ẩn Close
Các thao tác trên bảng(tiếp)
Xóa bản ghi: Kích chọn bản ghi cần xóa Kích nút Delete Record hoặc nhấn phím Delete Kích chọn Yes
Thay đổi độ rộng cột Kích chọn cột cần thay đổi Vào menu Format/Column Width, xuất hiện hộp thoại
Column Width Nhập độ rộng mới cho cột
VIII. Nhập, sửa dữ liệu
Nhập dữ liệu sử dụng Edit Mode: Mở bảng trong Datasheet View Nhập dữ liệu
Sửa đổi dữ liệu: Mở bảng trong Datasheet View Làm các thao tác sửa đổi
Nhập, sửa dữ liệu (tiếp)
Chỉnh sửa toàn bộ nội dung của một trường: Đặt trỏ chuột tại cạnh trái trường, con trỏ biến
thành dấu cộng Kích lên trường, toàn bộ trường được chọn Nhập thông tin mới
Chỉnh sửa một phần nội dung trường: Kích trên trường ta muốn chỉnh sửa, dấu nhắc sẽ
xuất hiện trong trường Thay thế phần dữ liệu cần sửa bằng thông tin mới
IX. Tìm kiếm và thay thế
Tìm kiếm Kích trên trường cần tìm kiếm Kích nút Edit/ Find. hộp thoại Find and
Replace xuất hiện Nhập dữ liệu cần tìm vào ô Find What Kích nút Find next để tìm tiếp. Nếu không
còn bản ghi nào thỏa mãn nữa thì Access sẽ Đưa ra thông báo
Tìm kiếm và thay thế (tiếp)
Thay thế dữ liệu: Kích vào trường ta muốn thay thế dữ liệu Kích menu Edit/Replace, hộp thoại Find and Replace xuất hiện Nhập dữ liệu sẽ được thay thế trong hộp Find What Nhập dữ liệu thay thế trong hộp Replace with Chọn kiểu duyệt trên toàn bảng hay chỉ trong cột ban đầu trong
hộp Look in Chọn kiểu duyệt lên xuống hoặc toàn bộ trong khung Search Kích vào hộp Match Case để chỉ định chỉ những dữ liệu nào
chính xác với điều kiện duyệt Kích vào Search Fields As Formatted để chỉ định chỉ những
phần nào chính xác với kiểu định dạng của điều kiện duyệt Kích nút Replace All để thay thế tất cả các dữ liệu tìm được
X. Sắp xếp dữ liệu
Sắp xếp dữ liệu
Một cách mặc định, các bản ghi được sắp xếp theo thứ tự khi nhập vào. ta có thể sắp xếp lại :
Kích chọn trường cần sắp xếp Kích nút Record/ Sort Ascending để sắp tăng dần hoặc
Sort Descending để sắp xếp giàm dần Hủy bỏ việc sắp xếp:
Vào menu Record/Remove Filter/Sort. Thứ tự sắp xếp mặc định cũ sẽ được lưu lại
XI. Lọc dữ liệu
Lọc bằng sự lựa chọn-Filter by Selection: Kích lên ô có giá trị trường bằng giá trị cần lọc Kích lên nút Record/Filter by Selection. Sau
khi lọc, chỉ những bản ghi có giá trị của trường đã chọn bằng giá trị lọc mới được hiển thị.
Để xóa lọc, kích nút Record/Remove Filter. Nút này sẽ trở thành Apply Filter
Ví dụ: để đưa ra những chuyến hàng có số lượng=10 thì trong vào bảng CHUYENHANG, kích chọn ô thuộc trường SOLUONG có giá trị 10. Sau đó kích Record/Filter by Selection.
Lọc dữ liệu(tiếp)
Lọc bằng Form-Filter by Form: Lọc dữ liệu bằng Form cho phép lọc dựa trên nhiều hơn 1 điều kiện:
Kích nút Record/Filter by Form. Kích lên trường ta muốn lọc Chọn điều kiện lọc Kích chọn AND hoặc OR nếu cần sử dụng Kích nút Record/Apply Filter. Kết quả lọc
sẽ xuất hiện trong bảng Đóng và lưu bảng
XII. Tạo quan hệ giữa các bảng
Đưa bảng vào cửa sổ Relationship: Trên thanh công cụ của cửa sổ Access, kích
Tools/Relationship, xuất hiện hộp thoại Show Table Kích chọn tên các bảng cần thiết lập quan hệ, kích Add Kích Close để đóng hộp thoại
Tạo quan hệ: Kích chọn trường muốn tạo kết nối trong bảng 1(Bảng ở
đầu 1) rồi rê thả sang trường tương ứng trong bảng 2 (bảng ở đầu nhiều). Hộp thoại Edit Relationship xuất hiện
Kích Creat Xuất hiện đường liên kết nối 2 bảng
Tạo quan hệ giữa các bảng(tiếp)
Loại bỏ quan hệ: Kích chọn đường liên kết Nhấn phím Delete, xuất hiện hộp thoại Delete Kích chọn Yes
Bài tập
Bảng PHONG - phòng ban trong cơ quan
STT Tên trường Kiểu Độ rộng
Ý nghĩa Kiểm soát
1 MAPHONG text 3 Mã phòng ban 3 chữ cái
2 TENPHONG
text 40 tên phòng ban
3 DIACHI text 50 dịa chỉ phòng ban
Bảng DMNN-danh mục ngoại ngữ
STT Tên trường
Kiểu Độ rộng Ý nghĩa Kiểm soát
1 MANN text 2 Mã ngoại ngữ
2 chữ số
2 TênNN text 20 Tên ngoại ngữ
Bảng NHANVIEN-Nhân viên
1 MANV text 5 2 kí tự đầu là chữ, 3 kí tự sau là số
2 HOTEN text 40
3 NAM Yes/No Nam: True, Nữ:False
4 NGAYSINH Date/Time
Từ 18 đến 60 tuổi
5 LUONG Number Long Integer
từ 200.000 đến 3.000.000
6 MAPHONG text 3 Phải tồn tại trong bảng PHONG
7 NGAYBC Date/Time
> ngày sinh 18 năm trở lên
Bảng TDNN-trình độ ngoại ngữ
1 MANV text 5 mã nhân viên Phải tồn tại trong bảng NHANVIEN
2 MANN text 2 Mã ngoại ngữ Phải tồn tại trong bảng DMNN
3 TDO text 1 Trình độ ngoại ngữ
A,B,C,D,E,F
CHƯƠNG 3: MỘT SỐ THAO TÁC TRÊN CSDL
I. Import dữ liệu
1. Import Table từ CSDL khác • Mở cửa sổ CSDL đích (CSDL cần gắn
bảng vào)• Kích phải chuột / Import…• Chọn đường dẫn đến CSDL nguồn (CSDL
chứa bảng cần lấy) / Import• Xuất hiện cửa sổ Import Object.• Chọn tên bảng cần lấy / OK
Import dữ liệu (tiếp)
2. Import Table từ Excel • Mở cửa sổ CSDL đích (CSDL cần gắn bảng vào)• Kích phải chuột / Import…• Trong cửa sổ Import, trong mục Files of type,
chọn Microsoft Excel• Chọn file excel cần lấy dữ liệu / Import.• Chọn Next để chuyển sang các bước tiếp theo.• Lựa chọn 1 trong 2 cách:
• Dữ liệu của file Excel đó tạo thành 1 table mới/ Chọn trường làm khóa chính
• Dữ liệu của file Excel đó sẽ đưa vào bảng đã tồn tại/ Chọn tên bảng.
II. Export dữ liệu
1. Export Table sang CSDL khác • Trong cửa sổ Database của CSDL nguồn (CSDL
cần lấy bảng ra)• Kích chọn tên bảng cần Export• Kích phải chuột / Export…• Chọn đường dẫn đến CSDL đích (CSDL cần gắn
bảng vào) • Đặt tên cho bảng ở CSDL đích• Chọn Definition and Data: nếu muốn lấy cả cấu trúc và
dữ liệu.• Chọn Definition Only: nếu chỉ lấy cấu trúc
Export dữ liệu (tiếp)
2. Export Table sang Excel • Trong cửa sổ Database của CSDL nguồn
(CSDL cần lấy bảng ra)• Kích chọn tên bảng cần Export• Kích phải chuột / Export…• Chọn 1 trong 2 cách sau:
• Để tạo 1 file Excel mới: Trong mục Save as type, chọn Microsoft Excel/ Đặt tên cho file.
• Để tạo 1 sheet trong 1 file Excel đã tồn tại: Chọn đường dẫn đến file đích/ Đặt tên cho sheet đó.
CHƯƠNG 4: QUERY
I. Giới thiệu Query
1. Tác dụng của Query Dùng để trả lời các câu hỏi có tính chất tức
thời Dùng để thực hiện tìm kiếm, hiển thị các bản
ghi thỏa mãn yêu cầu nào đó. Query giống như bộ lọc
Dùng làm nguồn dữ liệu cho các biểu mẫu, báo cáo
Dùng để tạo lập, cập nhật CSDL
Giới thiệu Query (tiếp)
2. Các loại Query: Select query, Parameter query, Crosstab
query, Action query. Hầu hết các query được sử dụng trong
các CSDL được gọi là các Select query bởi vì chúng chọn các bản ghi dựa vào tiêu chuẩn mà ta xác lập. Những query này gọi là query đơn giản.
Kết quả của các query được hiển thị dưới dạng bảng
3. Các cách tạo Query: Query Wizard, Query Design (ngôn ngữ QBE) hoặc dùng câu lệnh SQL (ngôn ngữ SQL)
II. Các toán tử và biểu thức trong Access
1. Toán tử số học: +: Cộng 2 toán hạng ([luong]+[phucap]) -: Trừ 2 toán hạng (Date()-30) -(toán tử đơn): thay đổi dấu của toán tử đơn
(-123) *: nhân 2 toán hạng ([heso]*[luong]) /: chia 2 toán hạng (15.2/12.5) \: chia 2 toán hạng nguyên (5\2) Mod: trả về số dư của phép chia 2 số nguyên
(5 mod 2) ^: nâng lên lũy thừa (4^3)
Các toán tử và biểu thức trong Access (tiếp)
2. Toán logic: AND: và (True and False=False,True and
True=True) OR: hoặc (True or False=True, False or
False=False) NOT: phủ định (Not True=False, Not
False=True)
Các toán tử và biểu thức trong Access(tiếp)
3. Các toán tử khác: Like: xác định 1 chuỗi có bắt đầu bằng 1 hay
nhiều kí tự nào đó không. Like đi cùng các kí tự: ?- thay cho 1 kí tự; *-thay cho 1 xâu kí tự (Like “Jon*”)
In: Xác định 1 giá trị chuỗi có thuộc vào danh sách giá trị hay không (in(“A”,”B”,”C”))
Between: Xác định 1 số có nằm trong miền giá trị đã chỉ định hay không (between 1 and 5)
Các toán tử và biểu thức trong Access(tiếp)
4. Hàm ngày giờ: Date(): trả về ngày hiện tại của hệ thống Day(exp):trả về ngày của biểu thức exp
(Day(#7/15/2005#)=15) Month(exp): trả về tháng của bt exp
(Month(#7/15/2005#)=7)) Year(exp): trả về năm của bt exp
(Year(#7/15/2005#)=2005))
Các toán tử và biểu thức trong Access(tiếp)
5. Hàm xử lý dữ liệu kiểu Text: Format(exp):Định dạng bt theo các dạng thức
thích hợp (Format(Date(),”dd-mm-yyyy”)) LCase(exp):Trả về chữ thường của exp UCase(exp): Trả về chữ hoa của exp LTrim(exp): xóa các dấu cách ở đầu chuỗi RTrim(exp): xóa các dấu cách ở cuối chuỗi Trim(exp): xóa các dấu cách ở đầu và cuối
chuỗi Str(exp):Chuyển 1 số thành chuỗi Val(exp): Chuyển 1 chuỗi thành số
III. Tạo truy vấn bằng QBE (Query by Example)
Bước1: Trong cửa sổ Database, trong mục Object kích chọn đối tượng Query.Có 2 cách sau:
- Kích chọn New/Design View/OK- Kích đúp vào dòng Create query in Design
View. Bước 2: Sau bước 1, Hộp thoại Show table xuất hiện
cho phép chọn bảng hoặc query tham gia vào query Kích chọn tên bảng(hoặc query). Kích nút Add/Close Cửa sổ Query được chia thành 2 khung.
a. Khung trên (Khung Table) hiển thị các bảng được sử dụng trong query và các mối liên kết giữa các bảng
Tạo truy vấn bằng QBE (tiếp)
b. Khung dưới (Khung lưới) có các hàng và cột. Mỗi cột dành cho 1 trường. Các hàng bao gồm:
Field: dùng để hiển thị tên trường Table: tên bảng tham gia vào query Sort: sắp xếp trườngShow: hiển thị trường trong kết quả của query Criteria: các điều kiện để lọc bản ghiOr: dùng khi có điều kiện ORBước 3: Lựa chọn các trường cần hiển thị trong kết quả truy vấn hoặc liên quan đến các điều kiện tìm kiếm. Sau đó soạn thảo các điều kiện tìm kiếm trong Criteria
Tạo truy vấn bằng QBE (tiếp)
Bước 4: Thực hiện truy vấn theo 1 trong 2 cách:- Chọn biểu tượng ! trên thanh công cụ- Trên thanh menu chọn Query/Run
Bước 5: Ghi lại truy vấn nếu muốn bằng 1 trong 2 cách:
- Chọn biểu tượng đĩa mềm trên thanh công cụ
- Trên thanh menu chọn File/Save
IV. Truy vấn chọn (Select Query)
Cách tạo: Giống nhu cách tạo truy vấn đã trình bày trong mục III.
Ví dụ 1: Tìm họ tên, ngày sinh của các nhân viên nữ
Truy vấn chọn(tiếp)
Ví dụ 2: Đưa ra toàn bộ thông tin về các nhân viên nữ có lương từ 500000 đến 1000000
Truy vấn chọn (tiếp)
Ví dụ 3: Đưa ra tên, phòng của các nhân viên đủ tiêu chuẩn về hưu năm nay: nam từ 60, nữ từ 55 tuổi
Truy vấn chọn (tiếp)
Ví dụ 4: Tìm họ tên, tên phòng của các nhân viên biết tiếng ANH hoặc PHAP
V. Truy vấn tính toán
Cách tạo: Tạo truy vấn như trên (truy vấn chọn) Chuyển từ truy vấn chọn sang truy vấn tính
toán bằng cách kích chọn biểu tượng Total (dấu xíchma) trên thanh công cụ hoặc trên thanh menu chọn View/Total
Sau khi thực hiện các bước trên, cửa sổ của truy vấn tính toán có dạng sau:
Truy vấn tính toán (tiếp)
Truy vấn tính toán (tiếp)
Trong mục Total có những lựa chọn sau: Group by: chỉ ra các trường phân nhóm Sum: tính tổng Avg: Tính trung bình Min: Tính giá trị nhỏ nhất Max: Tính giá trị lớn nhất Count: Đếm First: Tìm bản ghi đầu tiên Last: Tìm bản ghi cuối cùng Expression: bt tính toán đi kèm với các hàm Where: điều kiện lọc các bản ghi tham gia vào tính
toán
Truy vấn tính toán (tiếp)
Ví dụ 1: Tìm tổng số nhân viên nữ trong cơ quan
Truy vấn tính toán (tiếp)
Ví dụ 2: Tính tuổi trung bình của các nhân viên phòng TAIVU
Truy vấn tính toán (tiếp)
Ghi chú: Để tạo 1 trường mới trong query: Trong mục Field, gõ tên trường mới theo
cấu trúc như sau: <tên trường mới>: <biểu thức> tên trường đã có phải đặt trong cặp ngoặc vuông
[]. Ví dụ: tạo ra trường THUONG có giá trị bằng
1.5 LUONG, ta viết như sau: THUONG: 1.5*[LUONG]
Truy vấn tính toán (tiếp)
Ví dụ 3:Tính tiền thưởng cho nhân viên phòng KHOAHOC bằng 1,5 lương
Truy vấn tính toán (tiếp)
Ví dụ 4: Đưa ra bảng tổng hợp lương trong cơ quan bao gồm: tên phòng, tổng lương của phòng
VI. Truy vấn tham số (Parameter Query)
Truy vấn tham số là truy vấn khi thực hiện sẽ đòi hỏi giá trị tham số nhập từ bàn phím.
Cách tạo truy vấn tham số: Thực hiện tạo truy vấn chọn thông thường Để biến một đối tượng nào đó thành tham
số ta chỉ cần để nó trong cặp ngoặc vuông
Truy vấn tham số (tiếp)
Ví dụ 1: Đưa ra danh sách nhân viên học ngoại ngữ với tên ngoại ngữ nhập từ bàn phím
Ví dụ 2: Đưa ra danh sách nhân viên gồm mã nhân viên, họ tên, ngày sinh, tên phòng của phòng có mã phòng nhập từ bàn phím
Truy vấn có tham số (tiếp)
Ví dụ 2: Đưa ra danh sách nhân viên gồm mã nhân viên, họ tên, ngày sinh, tên phòng của 1 phòng có mã phòng nhập từ bàn phím
VII. Truy vấn tạo lập (Make-Table Query)
Khi cần tạo 1 bảng mới từ một tập hợp con dữ liệu trong 1 bảng hiện có. Ta thực hiện các bước sau:
Tạo query để thực hiện việc đưa ra các bản ghi mà ta muốn đưa vào bảng mới
Kích chọn trên thanh menu Query/Make Table Query
Đặt tên cho bảng mới trong khung Table Name của hộp thoại Make Table
Nếu bảng mới sẽ nằm trong CSDL hiện thời thì chọn Current Database. Nếu không thì chọn Another Database và nhập tên của CSDL ta muốn thêm bảng mới vào
Truy vấn tạo lập (tiếp)
Ví dụ 1: Tạo bảng NAM để lưu những nhân viên là nam giới của cơ quan
Truy vấn tạo lập (tiếp)
Truy vấn tạo lập (tiếp)
Ví dụ 2: Lưu trữ những nhân viên có lương từ 1500000 đến 2000000 hoặc sinh trước năm 1975 vào bảng mới có tên LUU
Ví dụ 3: Lưu trữ những nhân viên có trình độ ngoại ngữ là B,C,D sang bảng mới có tên TDO-BCD
VIII. Truy vấn bổ sung (Append Query)
Khi cần thực hiện bổ sung 1 nhóm các bản ghi từ 1 hoặc nhiều bảng vào 1 bảng khác (đã có) ta dùng truy vấn bổ sung.
Cách tạo: Tạo truy vấn thông thường. Tên trường và thứ tự
trường của bảng lấy kết quả và bảng cần thêm vào phải giống nhau.
Chọn Query/Append Query Chọn bảng cần bổ sung thông tin trong mục Table
Name/OK Chọn Current Database hoặc Another Database
cho phù hợp. Trong khung lưới xuất hiện dòng Append To cho ta
chọn tên trường mà dữ liệu tương ứng sẽ được nhập tiếp vào
Truy vấn bổ sung (tiếp)
Xác định các giá trị sau: Field: Các trường cho dữ liệu hoặc liên quan
đến điều kiện chọn Table: Bảng Sort: Sắp xếp dữ liệu sẽ bổ sung theo thứ tự
tăng hoặc giảm của trường được chọn Append to: Trường nhận dữ liệu. Ngầm định
là trường trùng tên trong bảng cho dữ liệu. Criteria: điều kiện chọn các bản ghi để bổ
sung
Truy vấn bổ sung (tiếp)
Ví dụ 1:Đưa vào bảng LUU (đã có) thông tin về nhân viên mới, mã nhân viên nhập tư bàn phím
Ví dụ 1: Bổ sung vào bảng LUU (đã có) thông tin về nhân viên của phòng PQT
Ví dụ 2: Bổ sung vào bảng NAM (đã có) thông tin về nhân viên có mã nhân viên nhập từ bàn phím
Truy vấn bổ sung (tiếp)
Ví dụ2: Nhập thông tin về nhân viên mới (nhập từ bàn phím) đưa vào bảng LUU
IX. Truy vấn loại bỏ (Delete Query)
Sử dụng để xóa các bản ghi khỏi 1 bảng Cách tạo:
Tạo truy vấn thông thường Trên hộp thoại Show Table chọn các bảng
liên quan đến điều kiện loại bỏ và 1 bảng cần loại bỏ các bản ghi
Trên menu, kích chọn Query/Delete query.
Trên khung lưới xuất hiện dòng Delete trong đó có các lựa chọn From và Where do Access tự điền vào
Truy vấn loại bỏ (tiếp)
Ví dụ 1: Xóa thông tin về nhân viên có MANV nhập từ bàn phím
Truy vấn loại bỏ (tiếp)
Ví dụ 2: Xóa bỏ thông tin về trình độ ngoại ngữ của nhân viên có MAPHONG là PQT
X. Truy vấn cập nhật (Update Query)
Sử dụng khi cần thay đổi 1 số lượng lớn các bản ghi
Cách tạo: Tạo truy vấn thông thường bao gồm bảng cần
cập nhật và bảng liên quan đến điều kiện Trên thanh menu chọn Query/Update Query Trên khung lưới xuất hiện dòng Update To
dùng để chứa các giá trị mới của trường tương ứng
Ví dụ: tăng lương cho những nhân viên vào biên chế trước năm 1980 thêm 20%
Truy vấn cập nhật (tiếp)
Ví dụ 1: Những nhân viên vào biên chế trước 1/1/1995 thì tăng lương gấp đôi
Truy vấn cập nhật (tiếp)
Ví dụ 2: Những nhân viên phòng DAOTAO và phòng KHOAHOC được cập nhật trình độ ngoại ngữ là C
XI. Truy vấn Crosstab
Dùng để thống kê thông tin trên 2 hoặc nhiều cột trong 1 bảng hoặc 1 query
Cách tạo: Tạo truy vấn thôngthường Trên thanh menu chọn Query/Crosstab
Query Chọn trường để nhóm theo hàng(Row
Heading-tiêu đề hàng) Chọn trường để nhóm theo cột (Column
Heading-tiêu đề cột) Chọn giá trị để lưu ở các ô giao của hàng và
cột (Value). Ở đó có thể dùng các hàm SUM, COUNT,... để tính toán
Truy vấn Crosstab (tiếp)
Ví dụ 1: Tính tổng số nam nữ trong từng phòng
Truy vấn Crosstab (tiếp)
Kết quả thực hiện truy vấn
Truy vấn Crosstab (tiếp)
Ví dụ2: Thống kê trình độ ngoại ngữ của từng phòng
Ví dụ 3: Lập bảng thống kê tên phòng và số người học ngoại ngữ theo tên ngoại ngữ
Ví dụ: Phòng KHOAHOC có 2 người học tiếng ANH, 4 người học tiếng PHAP,…
Ví dụ 4: Thống kê tổng lương của từng phòng theo giới tính:
Ví dụ: phòng PTV có tổng lương của Nam là 3000000, tổng lương của Nữ là 5000000,…
Ví dụ 5: Thống kê số nam và nữ vào biên chế sau năm 1990 của từng phòng.
XII. Tạo Query bằng SQL
XII. Tạo Query bằng SQL
1).Cú phápCú pháp đơn giản nhất của SQL là:
SELECT <danh sách tên cột>FROM <tên bảng>WHERE <biểu thức logic >
Hiểu là: đưa ra cái gì từ đâu thỏa mãn điều kiện gì
Tạo Query bằng SQL(tiếp)
2).Tìm kiếm không điều kiệnCú pháp:
SELECT <danh sách tên cột>FROM <tên bảng>
Ví dụ 1: Cho biết thông tin về các nhân viênselect MANV, HOTEN, GTINH, LUONG, MAPHONGFrom NHANVIEN Dấu * thay cho việc liệt kê tất cả các cột của
bảngselect *From NHANVIEN
Tạo Query bằng SQL(tiếp)
3).Tìm kiếm với điều kiện đơn giảnCú pháp:
SELECT <danh sách tên cột>FROM <tên bảng>WHERE <biểu thức logic>
Trong đó <biểu thức logic> thường chứa: Toán tử so sánh: >,>=,<,<=,=,<> Toán tử logic: NOT, AND, OR
Tạo Query bằng SQL(tiếp)
Ví dụ 2: Cho biết MANV, họ tên của các nhân viên nữselect MANV, HOTENFrom NHANVIENWhere GTINH=False
Ví dụ 3: Cho biết thông tin của những nhân viên có lương >1.000.000 select *From NHANVIENWhere LUONG> 1.000.000
Tạo Query bằng SQL(tiếp)
Ví dụ 3’: Nhân viên hoặc là nữ hoặc là có lương từ 1.000.000 đến 2.000.000Select *
From NHANVIENWhere (GTINH=False) OR (LUONG>=1.000.000 AND LUONG <=2.000.000)
Tạo Query bằng SQL(tiếp)
4).Tìm kiếm với BETWEENCú pháp:
SELECT <danh sách tên cột>FROM <tên bảng>WHERE <tên cột> BETWEEN <gtrị1> AND <gtri 2>
Tạo Query bằng SQL(tiếp)
Ví dụ 4 : Đưa ra thông tin của các nhân viên có lương từ 200.000 đến 700.000
Select *From NHANVIENWhere LUONG Between 200.000 and 700.000
Tạo Query bằng SQL(tiếp)
5).Tìm kiếm với INCú pháp:
SELECT <danh sách tên cột>FROM <tên bảng>WHERE <tên cột> IN (<gtrị1>,…, <gtrị n>)
Ví dụ 5: Đưa ra thông tin về các nhân viên có mã phòng là “PTV”, “PDT”, “PKH”
Select * From NHANVIENWhere MAPHONG in (“PTV”, “PHC”, “PDT”)
Tạo Query bằng SQL(tiếp)
6).Tìm kiếm với LIKECú pháp:
SELECT <danh sách tên cột>FROM <tên bảng>WHERE <tên cột> LIKE <xâu>
Trong đó: <tên cột> phải có kiểu xâu <xâu> thường chứa kí hiệu % dùng để thay cho
1 xâu con; kí hiệu _ dùng để thay cho 1 kí tự.
Tạo Query bằng SQL(tiếp)
Ví dụ 6: Tìm những nhân viên có họ “Nguyễn”Select *From NHANVIENWhere HOTEN Like “Nguyễn%”
Tạo Query bằng SQL(tiếp)
7). Sử dụng phép toán số học Ta có thể sử dụng các biểu thức số học trong
mệnh đề SELECT hoặc WHERE của câu lệnh SQL. Các phép toán số học là +, -, *, /
Ví dụ 7: Cho biết Họ tên và lương mới của các nhân viên nữ nếu lương của họ được tăng thêm 10% Select HOTEN, LUONG+ LUONG*0.1 From NHANVIENWhere GTINH=False
Tạo Query bằng SQL(tiếp)
Ví dụ 8: Đưa ra thông tin của các nhân viên mà nếu lương của họ được tăng 10% thì >2.000.000Select *From NHANVIENWhere LUONG+0.1*LUONG>2.000.000
Tạo Query bằng SQL(tiếp)
8). Các hàm trong SQL: COUNT: đếm số các giá trị trong cột SUM: tính tổng các giá trị trong cột (số) AVG: tính trung bình cộng các giá trị trong
cột (số) MIN: tìm giá trị nhỏ nhất MAX: tìm giá trị lớn nhất
Tạo Query bằng SQL(tiếp)
Ví dụ 9: Cho biết số người của phòng có mã phòng là “PDT”
Select COUNT (MANV)
From NHANVIENWhere MAPHONG=“PDT”
Ví dụ 10: Cho biết mức lương cao nhất của các nhân viên
Select MAX (LUONG) From NHANVIEN
Tạo Query bằng SQL(tiếp)
9). Sử dụng mệnh đề GROUP BY và HAVING SQL sử dụng mệnh đề GROUP BY<tên thuộc
tính> để tìm kiếm theo nhóm các bản ghi có cùng giá trị <tên thuộc tính>. Kết quả tìm kiếm là danh sách các bản ghi được liệt kê theo nhóm, hết nhóm này đến nhóm khác
Mệnh đề HAVING luôn đi sau GROUP BY và miền tác động của nó là từng nhóm của GROUP BY chứ không phải là toàn bảng.
Tạo Query bằng SQL(tiếp)
SELECT <danh sách cột>FROM <tên bảng>WHERE <btlogic1>GROUP BY <tên cột>HAVING <bt logic2>
Tạo Query bằng SQL(tiếp)
Ví dụ 11: Cho biết số người của từng phòngSelect COUNT (MANV)From NHANVIENGroup by MAPHONG
Ví dụ 12: Cho biết lương cao nhất trong từng phòng và tổng lương của từng phòngSelect MAPHONG,MAX(LUONG) AS
Max_luongphong, SUM(LUONG) AS tong_luongphong
From NHANVIENGroup by MAPHONG
Tạo Query bằng SQL(tiếp)
Ví dụ 13 : Đưa ra mã phòng và tổng lương của các phòng có tổng lương >4000000
Select MAPHONG, sum(LUONG)From NHANVIENGroup by MAPHONGHaving SUM (LUONG)>4000000
Tạo Query bằng SQL(tiếp)
10). Kết nối các bảng:- Trong trường hợp câu hỏi liên quan đến nhiều
bảng, ta phải kết nối các bảng với nhau. - Khi sử dụng nhiều bảng trong câu SQL, với
những thuộc tính xuất hiện ở nhiều bảng, ta phải xác định rõ thuộc tính đó ở bảng nào bằng cách viết: <tên bảng>.<tên thuộc tính chung>
- Cú pháp:SELECT <danh sách cột>FROM <bảng1>, <bảng2> WHERE <bảng1>.<cột chung>=<bảng2>.<cột chung>
Tạo Query bằng SQL(tiếp)
Ví dụ 14: Cho biết mã nhân viên, họ tên, lương của các nhân viên phòng DAOTAOSelect MANV, HOTEN, LUONGFrom NHANVIEN, PHONGWhere NHANVIEN.MAPHONG=PHONG.MAPHONG And TENPHONG=“DAOTAO”
Ví dụ 15: Cho biết mã nhân viên, họ tên của các nhân viên phòng DAOTAO và có trình độ ngoại ngữ CSelect MANV, HOTENFrom NHANVIEN, PHONG, TDNNWhere NHANVIEN.MANV=PHONG.MANV
And NHANVIEN.MANV=TDNN.MANV And TENPHONG=“DAOTAO” And TDO=“C”
Tạo Query bằng SQL(tiếp)
Cho biết thông tin về phòng của nhân viên có mã nhân viên là “P15”
Select PHONG.* From NHANVIEN, PHONG Where
NHANVIEN.MAPHONG=PHONG.MAPHONG and MANV=“P15”
Tạo Query bằng SQL(tiếp)
11).Truy vấn lồng nhau:Trong nhiều bài toán, kết quả của 1 câu tìm kiếm lại được
tham gia vào 1 câu tìm kiếm khác. Khi đó ta phải dùng cấu trúc truy vấn lồng nhau, tức là nhiều cấu trúc SELECT...FROM...WHERE lồng nhau.
Ví dụ 16: Đưa ra danh sách nhân viên phòng TAIVUSelect * From NHANVIENWhere MAPHONG = ( Select MAPHONG
From PHONGWhere TENPHONG=“TAIVU”)
Tạo Query bằng SQL(tiếp)
Select * From NHANVIEN, PHONG Where
NHANVIEN.MAPHONG=PHONG.MAPHONG and TENPHONG=“TAIVU”
Tạo Query bằng SQL(tiếp)
Ví dụ 17: Đưa ra thông tin về người có lương cao nhấtSelect * From NHANVIENWhere LUONG= ( Select MAX(LUONG)
From NHANVIEN)
Tạo Query bằng SQL(tiếp)
8). Các lượng từ: Lượng từ Tồn tại-EXISTS: Cấu trúc: EXISTS<tập hợp> trả về giá trị đúng nếu tập hợp
này khác rỗng Ví dụ 18: Cho biết thông tin về những nhân viên biết
ngoại ngữSelect * From NHANVIENWhere Exists (Select *
From TDNN, NHANVIENWhere
NHANVIEN.MANV=TDNN.MANV)
Tạo Query bằng SQL(tiếp)
Lượng từ Với mọi-ALL: <tên thuộc tính><phép so sánh> ALL <tập hợp
giá trị> Ví dụ 19: Cho biết những nhân viên có lương cao hơn
lương của mọi nhân viên phòng PTVSelect *From NHANVIENWhere LUONG> ALL ( Select LUONG
From NHANVIENWhere
MAPHONG=‘PTV’)
Bài tập
1. Đưa ra thông tin về các phòng2. Đưa ra MANV, HOTEN, LUONG của những nhân viên
sinh trước năm 19753. Đưa ra tổng lương của phòng KHOAHOC4. Đưa ra danh sách nhân viên có lương thấp nhất5. Đưa ra tên phòng có số nhân viên lớn hơn 106. Đưa ra MANV, hoten, luong, tenphong của nhân viên
có mã nhân viên “S09”7. Đưa ra thông tin về phòng có lương trung
bình>2.000.0008. Đưa ra thông tin về các nhân viên có mã nhân viên là
“S02”, “S04”, “S07”9. Tính phụ cấp cho các nhân viên sinh trước năm 1950
theo công thức phụ cấp= 15% lương.
1. Đưa ra thông tin về các phòng
Select *From PHONG
2. Đưa ra MANV, HOTEN, LUONG của những nhân viên sinh trước năm 1975
Select MANV, HOTEN, LUONG From NHANVIEN Where NGAYSINH
<#01/01/1975#
3. Đưa ra tổng lương của phòng KHOAHOC
Select SUM(LUONG)From NHANVIEN, PHONGWhere
NHANVIEN.MAPHONG=PHONG.MAPHONG and TENPHONG=“KHOAHOC”
Select sum (LUONG)From NHANVIENWhere MAPHONG=
(Select MAPHONGFrom PHONGWhere TENPHONG=“KHOAHOC”)
4. Đưa ra danh sách nhân viên có lương thấp nhất
Select *From NHANVIENWhere LUONG=
(Select MIN(LUONG)From NHANVIEN)
5. Đưa ra tên phòng có số nhân viên lớn hơn 10
Select TENPHONGFrom PHONGWhere MAPHONG =
(Select MAPHONGFrom NHANVIENGroup by MAPHONGHaving COUNT(MANV)>10)
6. Đưa ra MANV, hoten, luong, tenphong của nhân viên có mã nhân viên “S09”
Select MANV, HOTEN, LUONG, TENPHONGFrom NHANVIEN, PHONGWhere
NHANVIEN.MAPHONG=PHONG.MAPHONG and MANV=“S09”
7. Đưa ra thông tin về phòng có lương trung bình>2.000.000
Select *From PHONGWhere MAPHONG in ( Select MAPHONG
From NHANVIEN Group by MAPHONG
Having AVG(LUONG)>2.000.000)
8. Đưa ra thông tin về các nhân viên có mã nhân viên là “S02”, “S04”, “S07”
Select *From NHANVIENWhere MANV in (“S02”,”S04”, “S07”)
9. Tính phụ cấp cho các nhân viên sinh trước năm 1950 theo công thức phụ cấp= 15% lương.
Select 0.15*LUONG as PHUCAPFrom NHANVIENWhere NGAYSINH <#01/01/1950#
SELECT TENPHONG, COUNT (MANV) AS SONV
FROM NHANVIEN INNER JOIN PHONG ON NHANVIEN.MAPHONG=PHONG.MAPHONG
GROUP BY TENPHONG HAVING COUNT(MANV)>10
GiỚI THIỆU HỆ QUẢN TRỊ CSDL ACCESS
BÀI KIỂM TRA
Cho CSDL BAN_HANG gồm các bảng sau: CONGTY : MACT, TENCT, VON SANPHAM: MASP, TENSP, MAU, GIA BAN: MACH, MACT, MASP, SLUONG
Hãy thực hiện các truy vấn sau bằng SQL:Bài 1: 1. Đưa ra tên các công ty đã bán sản phẩm với số
lượng =70.2. Đưa ra MACT, MASP, SLUONG, GIA, THANH_TIEN
của mỗi lần bán hàng. Biết rằng THANH_TIEN=SLUONG*GIA
Bài 2:1. Đưa ra danh sách các sản phẩm hoặc có
màu DO và giá <100, hoặc có màu DEN và giá >120.
2.Tìm mã công ty đã bán sản phẩm với số lượng nhỏ nhất.
Bài 3:1. Đưa ra danh sách các sản phẩm có tên
bắt đầu bằng chữ BUT.2. Cho biết số lượng các công ty.
Bài 4:1. Đưa ra tên các sản phẩm có màu XANH2. Mỗi Mã sản phẩm đã được bán với tổng
số lượng là bao nhiêu?Bài 5:1. Đưa ra danh sách công ty.2. Cho biết tên công ty đã thực hiện bán
hàng từ 2 lần trở lên.
CHƯƠNG 5: FORM-BIỂU MẪU
I. Giới thiệu Form
Form là giao diện chủ yếu giữa người và máy Form thường dùng để:
Thiết kế màn hình nhập dữ liệu Thiết kế menu Thiết kế các màn hình tra cứu thông tin Thiết kế các màn hình giới thiệu, trợ gíup
Yêu cầu khi thiết kế giao diện phải thuận tiện cho người sử dụng
Mọi đối tượng xuất hiện trên Form được gọi là điều khiển. Điều khiển được chia thành 3 loại:
Giới thiệu Form (tiếp)
Điều khiển bị buộc (Bound Control): Là điều khiển có nguồn dữ liệu lấy từ CSDL. Nhờ điều khiển loại này ta có thể tra cứu thông tin trong CSDL hoặc cập nhật thông tin vào CSDL
Điều khiển không bị buộc (Unbound Control): là điều khiển mà thông tin không gắn với nguồn dữ liệu. Thường gặp dưới dạng tiêu đề, đường kẻ,... cũng có thể là hộp văn bản (text box) dùng để nhập dữ liệu trong trường hợp đặc biệt
Điều khiển tính toán được (Calculate Control): Là điều khiển mà giá trị của nó được tính toán từ giá trị của các điều khiển khác
Ví dụ: tongluong= Sum ([luong])thanhtien= [soluong]*[dongia]
II. Thiết kế Form
Từ cửa sổ Database, trong phần Object chọn Form/New/New Form
Trong cửa sổ New Form có 2 cách tạo Form Sử dụng Form Wizard Sử dụng Design View
Thiết kế Form (tiếp)
1). Dùng Form WizardTrong cửa sổ NewForrm, kích chọn Form WizardXuất hiện các bước như sau: B1: Chọn bảng làm nguồn dữ liệu/Next B2: Chọn trường xuất hiện trên Form/Next B3: Chọn kiểu trình bày Form/Next B4: Chọn kiểu nền cho Form/Next B5: Nhập tiêu đề Form/FinishKhi tạo Form bằng Wizard, trên Form chỉ có các
điều khiển bị buộc. Muốn Form có thêm các loại điều khiển khác nữa, ta phải kết hợp với Form Design.
Thiết kế Form (tiếp)
2). Dùng Design View: Trong cửa sổ New Form, chọn Design View Trong cửa sổ thiết kế Form này, quan trọng
nhất là Fieldlist và Toolbox. Để ẩn hoặc hiện 2 công cụ này ta chọn trên menu View/Fieldlist và View/Toolbox
Fieldlist: dùng trong trường hợp Form bị buộc vào nguồn dữ liệu nào đó
Hộp công cụ Toolbox: dùng để thiết kế các điều khiển trên Form
Thiết kế Form (tiếp)
3). Các thành phần trên Toolbox: Label: nhãn Text box: hộp văn bản Option Group: nhóm lựa chọn Toggle Button: nút bật tắt Option Button: nút lựa chọn Check box: hộp kiểm tra ComBo Box: Hộp combo List Box: hộp thiết kế Command Button: nút lệnh
Thiết kế Form (tiếp)
Image: ảnh Unbound Object Frame: khung ảnh-không bị
buộc Bound Object Frame: Khung ảnh bị buộc Page Break: đường ngắt trang-khi in Tab Control: tab SubFrom: Form con Line: đường thẳng Rectangle: khung chữ nhật More Controls: Các điều khiển hoạt động khác
III. Thiết kế các điều khiển trên Form
1. Vị trí của các điều khiển:Khi thiết kế các điều khiển, ta quan tâm đến vị trí
của nó trên form
Thiết kế các điều khiển trên Form (tiếp)
Page header/Page footer: tiêu đề đầu và cuối mỗi trang
Form header: dùng để chứa các tiêu đề như tên Form, tên trường
Form footer: dùng để chứa các nút lệnh thao tác trên bản ghi hoặc các dòng tổng cộng
Detail: phần quan trọng nhất của Form. Với những Form có dữ liệu thì đây là phần lặp lại với mỗi bản ghi. Muốn dữ liệu được hiển thị như phiếu nhập dữ liệu thì dàn dọc các điều khiển. Muốn dữ liệu hiển thị dưới dạng bảng thì dàn ngang các điều khiển trên Detail
Thiết kế các điều khiển trên Form (tiếp)
2. Căn chỉnh các điều khiểnCó thể sao chép, cắt, dán, xóa các điều khiển (chỉ với 1 số
loại nào đó) Đánh dấu các điều khiển:
Đánh dấu theo cột Đánh dấu theo hàng Đánh dấu theo khung Đánh dấu các điều khiển rời rạc
Căn chỉnh các điều khiển: Chọn mục Format Align: gióng đều Vertical Spacing: khoảng cách dòng giữa các điều khiển Horizotal Spacecing: khoảng cách cột giữa các điều
khiển Size: làm cho các điều khiển có cùng độ cao
Thiết kế các điều khiển trên Form (tiếp)
3. Điều khiển hộp văn bản (TextBox) Hộp văn bản là điều khiển quan trọng nhất
trên Form. Có thể thuộc cả 3 loại: bị buộc, không bị buộc và tính toán được.
Nếu là không bị buộc Thường dùng để nhập dữ liệu. Cách tạo: kéo từ toolbox vào Form
Nếu là bị buộc Thường dùng để hiển thị dữ liệu của bảng. Cách tạo: Kéo từ Fieldlist vào Form
Thiết kế các điều khiển trên Form (tiếp)
Nếu là điều khiển tính toán: Thường dùng để tính toán thông qua các điều khiển
khác. Cách tạo:
Tạo 1 điều khiển không bị buộc. Sau đó đưa các biểu thức vào
Thiết kế các điều khiển trên Form (tiếp)
4. Nhãn (Label) Dùng làm tiêu đề, chú giải,… Chủ yếu quan tâm đến hình thức trình bày trên
nhãn: font, màu sắc,…
Thiết kế các điều khiển trên Form (tiếp)
5. Hộp liệt kê (List Box) và Combo (Combo Box) Khi muốn chọn 1 trong nhiều giá trị để nhập vào
trường (trên 5 giá trị) ta dùng List box hoặc Combo box Combo box: thường được dùng nhiều trên màn hình
nhập dữ liệu, tìm kiếm List box: thường được dùng trên màn hình hiển thị, tra
cứu Có thể thêm các giá trị khác (không có trong danh
sách) vào hộp Combo box và không thể thêm 1 giá trị mới vào List box
Có 2 cách tạo List box/Combo box:
Thiết kế các điều khiển trên Form (tiếp)
Dùng Wizard: Bật Control Wizard Chọn List box/Combo box trên Toolbox Kéo vào Form, Wizard khởi động Chọn nguồn dữ liệu: lấy từ bảng hay danh sách giá
trị Chọn bảng hoặc danh sách giá trị nguồn Chọn các trường hiện trong hộp Quyết định có hiện trường khoá hay không Chọn trường nhận dữ liệu (Form phải có nguồn dữ
liệu. Trường nhận dữ liệu là 1 trong các trường của bảng hoặc truy vấn nguồn dữ liệu)
Thiết kế các điều khiển trên Form (tiếp)
Không dùng Wizard Tắt Control Wizard Chọn biểu tượng List box/Combo box kéo vào Form Mở thuộc tính của List box/Combo box, xác định các
thuộc tính sau: Row Source Type: Chọn Table/Query hoặc Value List Row Source: Tên bảng hoặc Query hoặc danh sách
giá trị phân cách nhau bằng dấu ;. Cũng có thể là 1 lệnh SQL
Bound Column: cột cho giá trị Column Count: Số các cột sẽ hiển thị dữ liệu trong
hộp Limit to list: Dùng riêng cho Combo box. Khi thêm
giá trị vào, giá trị này sẽ được cập nhật vào nguồn nếu thuộc tính này chọn là No.
Thiết kế các điều khiển trên Form (tiếp)
6. Nút lệnh (Command Button) Khi ta kích hoạt nút lệnh, HQTCSDL sẽ thực
hiện 1 công việc. Công việc đó có thể đơn giản là mở 1 Form, cũng có thể là thực hiện tính điểm TB của SV của trường ĐH
Để tạo nút lệnh ta có thể dùng Wizard hoặc lập trình
Dùng Wizard: Bật Control Wizard Chọn lĩnh vực của nút lệnh Chọn đối tượng và tham số của hành động Chọn hình thức trình bày của nút lệnh
Thiết kế các điều khiển trên Form (tiếp)
Không dùng Wizard: Tắt Control Wizard Chọn nút lệnh, đưa vào Form Lập trình xử lý sự kiện nút lệnh
Thiết kế các điều khiển trên Form (tiếp)
7. Thuộc tính của Form:Kích phải chuột / Chọn Properties, xuất hiện hộp
thoại Properties chứa các khai báo thuộc tính Forma). Về hình thức trình bày
Default View: dạng hiển thị ngầm định của Form Scroll bars: các thanh cuộn để chuyển điều khiển lên
xuống Navigation Button: các nút để dịch chuyển bản ghi Dividing Lines: Đường phân chia các bộ phận của
Form Picture: hình ảnh trên toàn Form MinMax Buttons: Nút cho phép thu nhỏ, phóng to kích
cỡ Form
Thuộc tính của Form (tiếp)
b). Về dữ liệu trên Form Records Source: tên truy vấn, bảng nguồn dữ liệu
hoặc văn bản SQL của nguồn dữ liệuChú ý: Khi thiết lập nguồn bằng SQL thì mọi trường
xuất hiện trên cửa sổ Design của Form phải xuất hiện trên SQL (mặc dù là các trương đó có được bằng cách kéo chuột)
Allow Filter: cho phép lọc dữ liệu hiện trên Form Allow Deletion: cho phép xoá các bản ghi trên Form Allow Edits: cho phép chỉnh sửa dữ liệu trên Form Allow Additions: cho phép bổ sung bản ghi trên Form
Thuộc tính của Form (tiếp)
c). Các thuộc tính khác Popup: Form được mở trên các Form
khác Modal: Không thể kích hoạt bất cứ vị
trí nào ngoài phạm vi Form Menu bar: menu hiện khi mở Form Short cut menu: menu hiện khi nhấn
chuột phải
Thuộc tính của Form (tiếp)
Ví dụ:tạo form để xem và cập nhật thông tin cho bảng PHONG. Form được phép thêm, sửa, không được xoá
Có thể làm như sau:
Thuộc tính của Form (tiếp)
Từ cửa sổ Database, trong mục Object chọn Form/ Create form in Design view. Cửa sổ thiết kế xuất hiện.
Từ cửa sổ thiết kế form, kích phải chuột/Properties. chọn nguồn dữ liệu của form là bảng PHONG.
Đặt thông số cho các thuộc tính: Allow Deletion: No Allow Edits: Yes Allow Additions: Yes
Thiết kế các điều khiển trên form như sau: Kéo rê các trường cần hiển thị trên form (các trường
này lấy từ nguồn dữ liệu của form – Field List) vào cửa sổ thiết kế
Hiệu chỉnh lại các nhãn (Lables) trên form như sau:
Thuộc tính của Form (tiếp)
IV. Form chính-phụ
1. Giới thiệu Dùng để nhập dữ liệu đồng thời vào nhiều bảng. Form chính - phụ đặc biệt có hiệu quả khi ta muốn
hiển thị dữ liệu trong các bảng có quan hệ 1:n. Form chính hiển thị dữ liệu trong bảng có quan hệ 1, Form phụ hiển thị dữ liệu trong bảng có quan hệ n. Khi di chuyển sang một bản ghi mới trong Form chính thì
form phụ sẽ hiển thị một tập hợp các bản ghi nối kết tới bản ghi mới trong form chính.
Khi tạo Form phụ, ta có thể thiết kế để nó hiển thị dưới dạng bảng tính, Form đơn, biểu đồ,…
Một Form chính có thể có nhiều Form phụ. Chỉ có yêu cầu là phải có ít nhất một trường chung cho từng Form phụ với Form chính.
Form chính-phụ (tiếp)
2. Cách tạo form chính – phụ: a.Dùng Wizard Từ cửa sổ Database, trong mục Object, kích
chọn Form Hộp thoại New Form xuất hiện, kích đúp Form
Wizard xuất hiện các bước của Form Wizard Bước 1:
chọn bảng hoặc truy vấn nguồn của Form chính (bảng ở đầu 1 của quan hệ 1:n)
Kích chọn tên trường xuất hiện trong Form chính
Form chính-phụ (tiếp)
Bước 2: Vẫn trong hộp thoại trên, chọn bảng hoặc truy vấn nguồn của Form
phụ (bảng ở đầu n của quan hệ 1:n) Kích chọn tên trường xuất hiện trong
Form phụ Kích Next,
Bước 3: chọn Form With subform(s) Tiếp theo là các hộp thoại hướng dẫn của
Wizard. Khi ta kích Finish, Access sẽ tạo ra 2 Form, một Form chính và một Form phụ bên trong Form chính.
Form chính-phụ (tiếp)
b. Không dùng Wizard: Tạo form chính. Tạo form phụ một cách độc lập. Trong cửa sổ thiết kế form phụ, xây
dựng điều kiện kết nối 2 form. Mở cửa sổ thiết kế form chính đồng
thời với cửa sổ Database. Kéo form phụ vào form chính rồi thả.
Form chính-phụ (tiếp)
c. Làm quen với cách viết:
[loại đối tượng]![tên đối tượng]![trường liên kết]
Ví dụ: Biểu thức kết nối 2 Form:[FORMS]![<tên Form chính>]![<tên trường kết
nối>]
Form chính-phụ (tiếp)
d. Ví dụ: Tạo một form chính “Danh sách phòng”, mỗi phòng tương ứng với một danh sách nhân viên trong form phụ “Danh sách nhân viên”.
Bước 1: Tạo form chính CHINH với tiêu đề “danh sách phòng”
Dùng Design View Chọn nguồn dữ liệu là bảng PHONG Ghi lại thiết kế form CHINH
Bước 2: Tạo form phụ PHU với tiêu đề “danh sách nhân viên”
Dùng Design View Chọn nguồn dữ liệu là văn bản SQL đưa ra các n.v
thỏa đk kết nối. Thiết lập kết nối với form CHINH thông qua
MAPHONG tại Criteria
Form chính-phụ (tiếp)
Đặt Defaul View là Datasheet (nếu muốn Form phụ hiển thị dưới dạng bảng)
Ghi lại thiết kế form PHU Bước 3:
Mở cửa sổ thiết kế của form CHINH và cửa sổ Database
Kéo form PHU thả vào vị trí muốn đặt trong form CHINH
Ghi lại tất cả thiết kế này.
Form chính-phụ (tiếp)
Form chính-phụ (tiếp)
Kết quả như sau:
Form chính-phụ (tiếp)
Ví dụ 2: Tạo Form chính –phụ đưa ra danh sách nhân viên theo ngoại ngữ đã học
V. Dùng Form chính-phụ để tìm kiếm
Form chính-phụ được dùng để tìm kiếm thông tin.
Nó thực hiện như một Parameter Query. Thông thường, điều kiện tìm kiếm được nhập
vào một textbox trên form chính. Sau khi Enter, thì nó sẽ đưa ra thông tin cần
thiết, thể hiện trên form phụ. Textbox trên form chính là loại không bị buộc,
nó chỉ dùng để nhập điều kiện tìm kiếm. Như vậy, phải có ràng buộc giữa form phụ và
textbox này.
Dùng Form chính-phụ để tìm kiếm(tiếp)
Ví dụ 1: Thiết kế form chính-phụ để tìm kiếm các nhân viên theo tên phòng.
Khi chạy Form, trên Form chính chứa 1 text box để nhận tên phòng cần tìm. Trên Form phụ sẽ xuất hiện danh sách nhân viên của phòng vừa nhập tên.
Bước1: Thiết kế form chính CHINH1 không có nguồn dữ liệu. Chứa 1 textbox [TEXT i] để nhập tên phòng cần tìm.
Dùng Form chính-phụ để tìm kiếm(tiếp)
Bước 2: Thiết kế form PHU1- Nguồn dữ liệu là văn bản SQL chứa
thông tin về các nhân viên và tên phòng tương ứng.
- Thiết lập điều kiện liên kết với form chính:
TENPHONG=[FORMS]![CHINH1]![TEXT i]
Dùng Form chính-phụ để tìm kiếm(tiếp)
Bước 3: Mở cửa sổ thiết kế form CHINH1 đồng
thời với cửa sổ Database. Kéo form PHU1 thả vào form CHINH1.
Bước 4: Trong trang Properties của form
PHU1. thiết lập điều kiện liên kết ở thuộc tính: Link Child Field và Link Master Field cho phù hợp
Dùng Form chính-phụ để tìm kiếm(tiếp)
Ví dụ 2:
Tạo form chính –phụ để tìm kiếm thông tin về các nhân viên học một ngoại ngữ nào đó (tên ngoại ngữ nhập vào 1 textbox)
CHƯƠNG 6: REPORT- BÁO CÁO
I. Giới thiệu về báo cáo
Báo cáo dùng để in ra giấy những thông tin kết xuất từ CSDL theo khuôn dạng, theo yêu cầu của người sử dụng.
Báo cáo có nhiều dạng, nhưng thông dụng nhất là các dạng sau:
Báo cáo dạng văn bản, trong đó văn bản kết hợp với các thông tin lấy từ CSDL, ví dụ, giấy mời được giửi tới các thành viên mà danh sách được lưu trữ trong CSDL, thẻ ra vào, …
Báo cáo dạng đơn giản với thông tin được lấy trực tiếp từ CSDL, ví dụ danh sách nhân viên, bảng lương.
Báo cáo thực hiện một số tính toán, thống kê. Báo cáo dạng biểu đồ, nhãn thư, …
II. Tạo báo cáo
Để tạo khuôn dạng của báo cáo ta làm như sau: Cách 1: Từ cửa sổ Database, trong phần
Objects chọn Report / Create report in Design view hoặc Create report by using wizard
Cách 2: Từ cửa sổ Database, trong phần Objects chọn Report / New, cửa sổ New Report xuất hiện với các lựa chọn như sau:
Tạo báo cáo (tiếp)
Auto Report: Tự động đưa ra báo cáo khi đã chọn nguồn dữ liệu. Không được chọn thông tin nào.
Report Wizard: Người sử dụng phải lựa chọn các mục sau:
Chọn nguồn dữ liệu (bảng hoặc truy vấn). Chọn trường dùng trong báo cáo. Chọn trường cần phân nhóm (nếu muốn tạo báo
cáo phân nhóm ) Sắp thứ tự (nếu cần). Dạng và kiểu trình bày của báo cáo.
Dùng Wizard có thể tạo báo cáo nhanh nhưng kích cỡ của báo cáo thường lớn, khuông dạng và font chữ theo ngầm định của Access nên thường phải sửa thiết kế.
Tạo báo cáo (tiếp)
Báo cáo dạng nhãn (Label Report): Để tạo một báo cáo dạng này cần thực hiện lần lượt các bước sau:
Xác định kích cỡ và cách bố trí các nhãn trên giấy.
Font chữ ngầm định. Các trường cần lấy thông tin. Trường cần sắp xếp. Mở thiết kế của báo cáo dạng nhãn, điều
chỉnh lại một số điều khiển cho phù hợp yêu cầu thực tế.
III. Các thành phần của báo cáo
Từ cửa sổ New Report chọn mục Design View. Màn hình thiết kế báo cáo hiện ra với 3 chế độ song song tồn tại, đó là:
Design View: Thiết kế báo cáo. Print Preview: Xem hình ảnh của báo cáo với
kích thước thật và dữ liệu thật. Layout Preview: Chỉ xem hình ảnh của báo
cáo, còn dữ liệu chưa chắc chính xác, vì Access có thể bỏ qua các điều kiện chọn, kết nối, …
Các thành phần của báo cáo (tiếp)
Trên màn hình thiết kế báo cáo cũng luôn để 2 công cụ là Toolbox và Fieldlist. Các thành phần trong cửa sổ thiết kế báo cáo gồm:
Detail: Lặp lại theo từng bộ dữ liệu (từng bản ghi trong bảng hoặc truy vấn nguồn).
Page Header/Page Footer: Lập lại mỗi trang một lần. Phần này thường chứa số trang, ngày tháng lập báo cáo, …
Report Header/Report Footer: Mỗi báo cáo lặp một lần. Phần này chứa tiêu đề chung của toàn báo cáo và các dòng tổng cộng.
Ngoài ra các báo cáo có phân nhóm còn chứa Group Header/Footer dùng làm tiêu đề và các dòng tổng cộng cho từng nhóm trong báo cáo.
Các thành phần của báo cáo (tiếp)
1. Thiết kế báo cáo dạng văn bản Gồm những văn bản giống nhau được gửi tới mỗi
đối tượng có thông tin trong CSDL. Đặc trưng của các báo cáo dạng này là văn bản trộn lẫn với thông tin trong CSDL. Vì vậy, toàn bộ thiết kế nằm trong phần Detail. Trong báo cáo thường gồm các điều khiển:
Nhãn: Chứa các đoạn văn bản với font chữ theo yêu cầu thực tế.
Textbox: Có thể chứa thông tin lấy trực tiếp từ nguồn dữ liệu hoặc kết xuất từ những thông tin trong CSDL. Do vậy Text box gồm 2 loại: bị buộc và tính toán được.
Ảnh: Có thể bị buộc hoặc không bị buộc.
Các thành phần của báo cáo (tiếp)
2. Thiết kế báo cáo đơn giản dạng bảng Tiêu đề: Nếu tiêu đề chỉ xuất hiện ở trang đầu chọn
Report Header. Nếu tiêu đề xuất hiện trên mọi trang chọn Page Header.
Đầu cột: Thường để ở Page Header Text box chứa dữ liệu nguyên dạng: Kéo các dữ liệu
xuất hiện trong bảng từ Field List vào phần Detail. Xóa nhãn đi kèm điều khiển. Việc căn chỉnh giống như căn chỉnh điều khiển trên form.
Nếu muốn các giá trị trùng nhau chỉ xuất hiện 1 lần, ví dụ tên người đi kèm tên ngoại ngữ mà người đó biết, mở thuộc tính của Textbox đặt Hide Duplicate là Yes.
Để có các textbox có độ cao giống nhau, nên chọn cách sao chép hoặc tác động vào thuộc tính của điều khiển.
Các thành phần của báo cáo (tiếp)
Tạo các Textbox (điều khiển tính toán được) chứa dữ liệu kết xuất dạng = <Biểu thức>
Có những Textbox được dùng làm trung gian để tính giá trị cho những textbox khác. Khi ấy phải đặt thuộc tính Visible là No.
Dòng tổng cộng đặt tại Report Footer. Số trang hoặc ngày lập báo cáo có thể để ở Page
Footer. Hàm Page, cho biết số của trang hiện thời. Hàm Pages, cho biết tổng số trang của báo cáo. Hàm Now() cho biết ngày tháng hiện tại
Muốn kẻ khung dùng các điều khiển dạng Line. Muốn chính xác sử dụng thuộc tính left, width, top, height. Tại Textbox đặt thuộc tính Border Style chọn Solid/Dashes …
Các thành phần của báo cáo (tiếp)
Cuối báo cáo (Report Footer) thường có các dòng tổng cộng là các điều khiển dạng tính toán được với các hàm thư viện hoặc các hàm thư viện có điều kiện, đó là: = Sum| Avg (<Biểu thức số>) =Count| Min| Max (<Biểu thức>)
IV.Sắp xếp và phân nhóm trên báo cáo
Muốn dữ liệu xuất hiện trong báo cáo được sắp xếp theo một thứ tự nào đó, không nhất thiết phải sắp xếp trên truy vấn. Có thể sắp xếp ngay trên báo cáo. Để thực hiện công việc này, cần mở hộp thoại Sorting and Grouping (Có thể mở hộp thoại Sorting and Grouping bằng cách chọn View hoặc kích chuột phải). Cửa sổ Sorting and Grouping có dạng như sau:
Sắp xếp và phân nhóm trên báo cáo(tiếp)
Sắp xếp và phân nhóm trên báo cáo(tiếp)
Sau khi sắp xếp xong có thể phân nhóm dữ liệu – cũng làm việc trên hộp thoại nói trên. Nếu đặt Group Header/Footer là Yes, sẽ xuất hiện tiêu đề trên và dưới cho mỗi nhóm và do vậy có thể dùng tiêu đề, kẻ đầu cột cũng như tính toán ứng với mỗi nhóm.
Có thể phân nhóm theo nhiều trường cũng như phân nhóm theo trường kết xuất.
V. Báo cáo chính-phụ
Khi tạo báo cáo với nguồn dữ liệu lấy từ nhiều bảng và phải đảm bảo đúng khuôn dạng thực tế, người ta phải dùng báo cáo chính-phụ, ví dụ phiếu xuất vật tư, lý lịch nhân viên, …
Cách tạo báo cáo chính – phụ gồm các bước sau: Tạo báo cáo chính. Tạo báo cáo phụ độc lập. Mở đồng thời cửa sổ thiết kế báo cáo chính và cửa
sổ Database. Kéo báo cáo phụ từ cửa sổ Database vào.
Mở thuộc tính của điều khiển Subreport trên báo cáo chính. Kiểm tra sự kết nối dữ liệu qua các thuộc tính LinkMasterFields và LinkChildFields.
VI. Một số ví dụ về thiết kế báo cáo
1.Ví dụ 1:
Thiết kế báo “Thẻ ra vào”, có nội dung được trình bày như sau:
THẺ RA VÀOSố thẻ:Họ tên: Nam/nữNăm sinh:Đơn vị:
Ảnh
Một số ví dụ về thiết kế báo cáo (tiếp)
Để có được nguồn dữ liệu cho báo cáo, cần thiết kế truy vấn: Tìm MãNV, Họ tên, Năm sinh, Giới tính (Nam/nữ), Tên phòng. Dữ liệu cho truy vấn này được lấy từ bảng NHANVIEN và bảng PHONG.
Vì thẻ ra vào được in cho từng nhân viên, có nghĩa là toàn bộ thông tin trên tờ thẻ được lặp lại với mỗi bản ghi về nhân viên nên toàn bộ các thông tin trên thẻ đều được để trong phần Detail.
Thiết kế của thẻ ra vào được thể hiện như sau:
Bước 1: Mở cửa sổ thiết kế báo cáo (report)Từ cửa sổ Database, trong phần Objects chọn Report/ Create report in Design view
Một số ví dụ về thiết kế báo cáo (tiếp)
Bước 2: Chọn nguồn dữ liệu cho báo cáo là bảng NHANVIEN
Bước 3: Thiết kế các điều khiển trên báo cáo Kéo rê các trường cần hiển thị trên report (các
trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và text box để hiển thị giới tính trên report như sau:
Một số ví dụ về thiết kế báo cáo (tiếp)
Một số ví dụ về thiết kế báo cáo
(tiếp)
2. Ví dụ 2: Tạo 1 báo cáo thống kê trình độ ngoại ngữ của từng phòng. Trong báo cáo chính có: MAPHONG,
TENPHONG Trong báo phụ có: HOTEN, NGAYSINH,
TENNN, TDO của các nhân viên trong phòng tương ứng
Một số ví dụ về thiết kế báo cáo (tiếp)
3. Ví dụ 3:Tạo báo cáo cho biết danh sách nhân viên của từng phòng và tổng số nhân viên của phòng đó. Với mã phòng nhập từ bàn phím hoặc chọn trên form. Như sau:
DANH SÁCH NHÂN VIÊN PHÒNG …
Tổng cộng: …. NgườiCác bước tạo báo cáo này: Tạo nguồn dữ liệu cho report là một truy vấn tham số gồm
các thông tin: Tìm mã nhân viên, họ tên, ngày sinh, giới tính của các nhân viên thuộc phòng X, X nhập từ bàn phím (hoặc chọn trên form).
Sau đó thiết kế báo cáo như sau:
Họ và tên Ngày sinh Giới tính
Một số ví dụ về thiết kế báo cáo (tiếp)
Một số ví dụ về thiết kế báo cáo (tiếp)
4. Ví dụ 4:Tạo danh sách nhân viên toàn cơ quan nhận tiền theo mẫu sau:DANH SÁCH NHÂN VIÊN TOÀN CƠ QUAN NHẬN TIỀN …
PHÒNG TỔ CHỨC
Tổng toàn phòng ……
PHÒNG TÀI VỤ
Tổng toàn phòng ……Tổng cộng toàn cơ quan.
Trong đó, lý do nhận tiền và số tiền nhận nhập từ bàn phím.
STT Họ tên Số tiền Kí nhận
STT Họ tên Số tiền Kí nhận
Một số ví dụ về thiết kế báo cáo (tiếp)
Để thiết kế báo cáo trên chúng ta làm như sau: Tạo nguồn dữ liệu là một truy vấn tham số
gồm các thông tin: tên phòng, họ tên nhân viên, số tiền nhận (số tiền là 1 tham số được nhập từ bàn phím).
Đặt con trỏ trên báo cáo, click chuột phải -> Sorting and Grouping, cửa sổ Sorting and Grouping xuất hiện, trong cửa sổ này chúng ta thiết kế như sau:
Một số ví dụ về thiết kế báo cáo (tiếp)
Kéo rê các trường cần hiển thị trên report (các trường này lấy từ nguồn dữ liệu của report – Field List) vào cửa sổ thiết kế, sau đó hiệu chỉnh lại các nhãn (Lables) và thêm các nhãn, các text box mới trên report như sau:
Một số ví dụ về thiết kế báo cáo (tiếp)
CHƯƠNG 7: MACRO
I. Khái niệm
Macro là tập hợp của một hoặc nhiều thao tác nhằm tạo ra một hoạt động nào đó.
Macro giúp ta thực hiện một cách tự động các công việc, chẳng hạn ta có thể chạy một macro để in một báo biểu khi người sử dụng kích vào một nút lệnh.
Một macro có thể bao gồm một hoặc một chuỗi các hành động hoặc cũng có thể chứa một tập hợp macro.
Macro giống như một kiểu lập trình rất đơn giản dùng để thực hiện tự động một số thao tác hoặc một chuỗi hoạt động phức tạp. Hơn thế nữa, ta không cần phải biết lập trình, Access đã cung cấp sẵn cho ta các thứ cần thiết để tạo nên macro.
II. Mở cửa sổ Macro
Từ cửa sổ Database, trong mục Object, kích chọn đối tượng Macro
Kích New, trên màn hình xuất hiện cửa sổ Macro Design View
III. Thanh công cụ của Macro
Sau khi xuất hiện cửa sổ Macro Design View, ta thấy trên màn hình có thanh công cụ sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Thanh công cụ của Macro (tiếp)
1,2,3,4,5,6,7,8,9 giống như thanh Standard 10. Macro Names : Ẩn/hiện cột Macro name
trong cửa sổ Macro. 11. Conditions : Ẩn/hiện cột Conditions. Cột này
dùng để định nghĩa các điều kiện mà khi nó là True thì thao tác kèm theo mới được thực hiện, tương đương View/Condition
12. Insert Rows : để chèn thêm một dòng, tương đương Insert/Row
Thanh công cụ của Macro (tiếp)
13. Delete Rows : để xoá một dòng, tương đương Edit/Delete Rows
14. Run : Chạy một macro, tương đương Tools/Macro/Run Macro
15. Single Step : dùng để thực hiện từng thao tác một của macro và hiển thị kết quả của các bước đó, tương đương Run/Single Step
16. Build : Hộp tạo biểu thức 17. Database Window : đặt lại cửa sổ Database 18. New Object : danh mục các đối tượng 19. Microsoft Access Help : trợ giúp
IV. Tạo macro và đưa hành động vào Sau khi xuất hiện cửa sổ Macro Design View, muốn
tạo macro và đưa hành động vào ta làm như sau: Kích vào mũi tên xuống ở cột Action, ta thấy các lệnh
Macro hiện ra, Kích chọn một Macro mà ta muốn thực hiện. Trong phần cuối của cửa sổ là các tham số của các hành
động Cột Comment dùng để ghi chú thích cho các hành động
tương ứng (không bắt buộc phải ghi) Để thêm các hành động khác vào macro ta chuyển con
trỏ xuống dòng dưới và thực hiện lại các thao tác trên. Khi chạy macro, Access sẽ thực hiện các hành động
theo đúng thứ tự đã sắp xếp trong macro. Lưu lại Macro bằng cách chọn File/Save. Nhập tên cho Macro
V. Chạy macro
1. Chạy một macro đơn: Để chạy một macro từ cửa sổ Macro,
kích biểu tượng Run trên thanh công cụ. Để chạy một macro từ cửa sổ Database,
kích dòng Macros và kích đúp vào tên của macro mà ta cần thực hiện.
Trên menu Tools, trỏ chuột vào Macro, kích Run Macro, và sau đó chọn macro từ danh sách Macro Name.
Chạy Macro (tiếp)
2. Chạy macro từ một macro khácTa phải thêm hành động RunMacro vào
macro đã có bằng cách: Kích chọn RunMacro trong danh sách
Action ở một dòng trống. Đặt thông số Macro Name là tên của
macro mà ta muốn chạy.
VI. Sửa macro
1. Thêm hành động vào macro. Nếu muốn chèn thêm một hành động vào
giữa 2 hành động đã có thì kích vào dòng ngay bên dưới dòng hành động ta muốn thêm.
Kích Insert Row trên thanh công cụ Trong cột Action, kích vào mũi tên xuống để
hiển thị danh sách hành động Kích chọn hành động mà ta muốn sử dụng Cột Comment dùng để ghi lời chú thích cho
hành động tương ứng, không bắt buộc phải nhập.
Sửa macro (tiếp)
2. Di chuyển hành động trong macro: Kích chọn vào dòng hành động cần
di chuyển Kéo thả đến vị trí mới
Sửa macro (tiếp)
3. Ẩn/hiện cột Name và Condition trong macro
Đối với một macro: Để ẩn hoặc hiện cột Macro Name, kích biểu tượng
Macro Name trên thanh công cụ Để ẩn hoặc hiện cột Condition, kích vào biểu tượng
Conditions trên thanh công cụ Đặt mặc định cho mọi macro
Trên thanh công cụ, kích Tools/Options Kích chọn trang View Dưới mục Show In Macro Design, kích chọn hoặc bỏ
chọn vào ô Names Colummn và Conditons Column
VII. Macro có điều kiện
Ta có thể tạo ra các hành động có điều kiện cho Macro bằng cách thêm vào cửa sổ Macro Design một cột Condition. Nếu điều kiện thoả (true), Access thực hiện hành động trong dòng có chứa điều kiện. Nếu điều kiện không thoả, Access bỏ qua hành động trong dòng đó và di chuyển đến dòng kế tiếp để thực hiện. Biểu thức điều kiện phải trả về giá trị True/False hoặc Yes/No. Để đặt điều kiện cho macro, ta làm như sau:
Trong cửa sổ Macro, kích vào biểu tượng Conditions trên thanh công cụ, xuất hiện cột Condition.
Nhập biểu thức điều kiện đơn giản vào ô Condition hoặc kích biểu tượng Build trên thanh công cụ để xây dựng biểu thức điều kiện phức tạp.
Trong cột Action, nhập hành động mà ta muốn Access sẽ thực hiện khi điều kiện đúng.
Macro có điều kiện (tiếp)
Cách nhập biểu thức điều kiện vào đối số của hành động
Cách gõ biểu thức: Bắt đầu bằng dấu “=”, tiếp theo là biểu thức.
Biểu thức là sự kết hợp của các toán tử logic, toán tử số học, các hằng, các hàm, tên trường, các điều khiển,…
Ví dụ: nếu macro có điều kiện [DONGIA]>1000000
tức là nếu giá trị trong trường DONGIA >1000000 thì macro tương ứng với điều kiện sẽ chạy.
VIII. Áp dụng macro vào Form
Tạo nút lệnh trên Form Kích Properties trên Toolbar Trên hộp thoại Command Button, kích Event/On Click. Kích vào mũi tên xổ xuống trong dòng On Click. Chọn tên
macro cần chạy Kích vào dấu… để làm xuất hiện cửa sổ Macro Design của
macro đó. Kích nút Condition/Build trên Toobar để làm xuất hiện
hộp thoại tạo biểu thức. Kích nút Forms/All Forms và kích đúp vào tên mẫu biểu. Chọn trường tham gia vào điều kiện Tạo biểu thức Kích OK để đóng hộp tạo biểu thức Đóng cửa sổ Macro
Áp dụng macro vào Form (Tiếp)
Ví dụ 1: Tạo một biểu mẫu biểu chứa thông tin về các phòng. Trong biểu mẫu có một nút lệnh Xem thông tin nhân viên. Khi kích vào nút lệnh này thì sẽ chạy macro để mở bảng NHANVIEN.
Ví dụ 2: Tạo một biểu mẫu biểu chứa thông tin về các nhân viên. Trong biểu mẫu có một nút lệnh Xem thông tin về trình độ ngoại ngữ. Những nhân viên nào ở phòng PKH thì khi kích vào nút lệnh này thì sẽ chạy macro để mở bảng TDNN.
CHƯƠNG 8: MENU
I. Tạo thanh Toolbar
Kích chọn View trên thanh công cụ Kích chọn Toolbars/Customize Xuất hiện cửa sổ Customize Kích chọn New/đặt tên cho Toolbar Kích chọn Tên Toolbar/Properties, xuất hiện
cửa sổ Toolbar Properties với các thông số: Toolbar name: tên của toolbar Type: kiểu của toolbar: menu bar, toolbar, popup Docking: Allow any, Can’t change, No vertical, No
Horizontal Show on Toolbar Menu: hiển thị trên thanh công cụ
Tạo thanh Toolbar (tiếp)
Allow Customizing: được phép thay đổi theo yêu cầu
Allow Resizing: được phép thay đổi kích thước
Allow Moving: được phép di chuyển Allow showing/Hiding: được phép hiển
thị/ẩnVí dụ: Tạo Toolbar QUAN_LI_NHAN_SU
II. Đưa nút lệnh, menu vào Toolbar
Bước 1: Kích vào biểu tượng mũi tên xuống trên Toolbar vừa tạo
Bước 2: Trỏ chuột vào Add or Remove Buttons, và kích chọn Customize.
Bước 3: Thực hiện theo một trong các yêu cầu sau: Thêm nút vào Toolbar:
Kích chọn trang Commands Trong hộp Categories, kích chọn loại lệnh mà ta
muốn thêm Kéo các lệnh hoặc macro ta muốn thêm từ hộp
Commands thả vào Toolbar vừa tạo.
Đưa nút lệnh, menu vào Toolbar (tiếp)
Thêm menu vào Toolbar Kích chọn trang Command Trong hộp Categories, kích vào Built-in Menus Kéo menu ta muốn thêm từ hộp Commands thả vào Toolbar vừa
tạo. Thêm menu tự tạo vào Toolbar
Kích chọn trang Command Trong hộp Categories, kích vào New Menu Kéo New Menu từ hộp Commands thả vào Toolbar Kích phải chuột vào menu mới, đặt tên cho menu vào ô Name và ấn
ENTER. Bước 4: Trong hộp Customize, kích CloseVí dụ: - Thêm Menu File, Edit- Thêm nút Open, Save- Thêm menu tự tạo: TIM_KIEM, NHAP_LIEU, BAO_CAO
III. Đưa menu tự tạo vào Toolbar
Trong menu ta có thể đưa các lệnh vào bằng cách kích vào menu đó, kéo các lệnh, macro,… từ hộp Command và thả vào menu.
Từ cửa sổ Customize, kích vào All Queries trong hộp Categories. Trong hộp Commands sẽ xuất hiện tất cả các truy vấn mà ta có. Kích chọn tên truy vấn cần thêm, kéo thả vào menu
Ví dụ: Đưa vào menu TIM_KIEM 1 số query
IV. Xoá một Toolbar
Trên menu View, kích chuột vào Toolbars/Customize.
Kích chọn trang Toolbars Trong hộp Toolbars, chọn tên Toolbar mà ta
muốn xoá Kích Delete. Lưu ý: Ta không thể xoá các Toolbar dạng
Built_in Toolbar (là các Toolbar có sẵn của Access) chẳng hạn như Toolbar Database, Form Design,…. Khi ta kích chọn vào các Toolbar này thì nút Reset sẽ nổi lên còn nút Delete sẽ chìm xuống không cho phép ta thực hiện thao tác xoá.
V. Xoá một Menu
Trên menu Tools, kích Customize.
Xuất hiện hộp thoại Customize, kéo menu mà ta muốn xoá thả vào hộp Customize.
VI. Xoá một nút từ Toolbar
Trên toolbar, kích vào Toolbar Options . Trỏ chuột vào mục Add or Remove Buttons,
và thực hiện theo một trong những yêu c ầu sau:
Xoá một nút dạng Built_in Button khỏi Toolbar: Trỏ vào tên của Toolbar Kích bỏ chọn vào hộp kiểm của nút mà ta muốn xoá.
Xoá nút từ Toolbar tự tạo Kích Customize. Trên toolbar, kích phải chuột vào nút mà ta muốn xoá. Kích Delete. Trên hộp thoại Customize, kích Close.
Recommended