Access_rido

Chương 1. Giới thiệu HQT CSDL Access

1. Một số khái niệm cơ bản

1.1 Khái niệm HQT CSDL quan hệ

- Cơ sở dữ liệu (Database): là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về một tổ chức nào đó (như một trường đại học, một ngân hàng, một công ty, một nhà máy, ...), được lưu trữ trên các thiết bị nhớ thứ cấp (như băng từ, đĩa từ, ...) để đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng với nhiều mục đích khác nhau.

- Mô h́nh CSDL quan hệ: Theo mô hình này, dữ liệu được thể hiện trong các bảng. Mỗi bảng gồm các dòng và cột, mỗi cột có một tên duy nhất. Mỗi dòng cho thông tin về một đối tượng cụ thể trong quản lý (mỗi dòng thường được gọi là một bản ghi hay một bộ).

- HQTCSDL quan hệ: là phần mềm để tạo lập CSDL theo mô hình CSDL quan hệ và thao tác trên CSDL đó.

1.2 Các tính năng của HQT CSDL quan hệ

- Khả năng lưu trữ dữ liệu lâu dài.

- Truy nhập số lượng lớn thông tin một cách hiệu quả.

- Được xây dựng trên mô hình dữ liệu (quan hệ).

- Ngôn ngữ cấp cao để định nghĩa và thao tác dữ liệu.

- Đồng bộ các truy nhập cạnh tranh.

- Kiểm tra tính đúng đắn của dữ liệu và thẩm quyền truy nhập.

- Phục hồi.

2. HQT CSDL Access

2.1. Khả năng và ứng dụng của Access

- Access là HQTCSDL quan hệ, phù hợp với các bài toán quản lý vừa và nhỏ.

- Access cung cấp hệ thống công cụ phát triển (Development tools) khá mạnh giúp các nhà phát triển phần mềm đơn giản trong việc xây dựng trọn gói các dự án phần mềm quản lý qui mô vừa và nhỏ.

- Access được dùng để:

+ Xây dựng hệ cơ sở dữ liệu (phần cơ sở dữ liệu, còn phần phát triển phần mềm có thể sử dụng các công cụ khác để làm như: Visual Basic, Visual C, Delphi, .Net, ...).

+ Xây dựng chọn gói các phần mềm quản lý quy mô vừa và nhỏ.

2.2. Chế độ làm việc của Access

- Chế độ sử dụng công cụ có sẵn: Giúp cho 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.

2.3 Ngôn ngữ định nghĩa và thao tác dữ liệu

- Ngôn ngữ QBE (Query By Example): cho phép bạn xây dựng các truy vấn dữ liệu bằng cửa sổ thiết kế và bằng các công cụ có sẵn.

- Ngôn ngữ SQL (Structure Query Language): cho phép bạn truy vấn dữ liệu bằng các câu lệnh có cấu trúc.

3. Môi trường làm việc của Microsoft Access

3.1. Khởi động Access

Trên màn hình desktop của Window, kích chuột vào nút Start chọn Progams/Microsoft Office/Micorosoft Office Access.

3.2 Hệ thống menu chính của Access

- File: Các thao tác cơ bản trên tệp.

- Edit: Các thao tác soạn thảo.

- Create Shortcut: tạo lối tắt trên màn hình Windows.

- View: Các chế độ quan sát đối tượng.

- Insert: Thêm một thành phần vào đối tượng đang thiết kế.

- Tools: Các công cụ, tiện ích CSDL.

Relationship: Xem mối quan hệ giữa các bảng trong CSDL.

Database utilities: Các tiện ích cơ sở dữ liệu như:

+ Chuyển đổi dữ liệu giữa các phiên bản (Convert).

+ Nén tệp CSDL (Compact).

+ Tạo menu nhờ công cụ sẵn có (Switch Board).

+ Chia nhỏ tệp CSDL (Split).

+ Tạo tệp MDE, để che giấu các thiết kế.

+ Bảo mật quyền truy nhập (Security).

- Windows: Cách sắp đặt các cửa sổ trên màn hình.

- Help: Trợ giúp

3.3 Các thành phần của CSDL Access

- Bảng (tables): Nơi trực tiếp chứa dữ liệu. Access có thể gộp tới 32 768 đối tượng (tổ hợp các bảng, biểu mẫu, báo biểu, ...), và có thể mở cùng một lúc tới 1 024 bảng nếu như có đủ sẵn tài nguyên. 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): Tạo nguồn dữ liệu cho các giao diện nhập liệu, các báo cáo của người sử dụng trực tuyến, ...

- 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.

- Báo cáo (Report): In dữ liệu từ các bảng hoặc các bộ hỏi theo hầu như bất kỳ dạng thức nào bạn muố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.

- Trang Web (2000): Chứa các trang web xây dựng từ các đối tượng của CSDL.

Chương 2. Tạo lập Cơ sở dữ liệu

1. Tạo CSDL mới

1.1 Tạo CSDL trống

- Chọn File/New trên thanh menu chính sẽ xuất hiện cửa sổ new file bên phải của sổ làm việc của Access.

- Trong cửa sổ new file chọn Blank Database xuất hiện cửa sổ File new database

- Đặt tên CSDL cần tạo vào mục File name, chọn vị trí đặt tệp CSDL trong mục Save in, sau đó kích chuột vào nút Create để tạo CSDL. Access tạo ra một tệp CSDL có tên trùng với tên CSDL và có đuôi là .mdb.

Khi tạo mới một CSDL theo cách này, của sổ làm việc của CSDL sẽ mở ra và người sử dụng (NSD) phải tự thiết kế tất cả các bảng dữ liệu, các đối tượng khác cho CSDL.

1.2 Tạo CSDL theo mẫu có sẵn

- Chọn File/new

- Trong cửa sổ New file chọn mục On my computer, xuất hiện cửa sổ Template.

- Trong cửa sổ Template chọn trang Databases, chọn một CSDL mẫu có sẵn và kích nút OK, cửa sổ File new database xuất hiện để bạn đặt tên cho CSDL.

Chương trình Database Wizard sẽ được khởi động để sinh ra cơ sở dữ liệu mẫu mà bạn đã chọn.

Tạo mới một CSDL theo cách này chúng ta được một CSDL mới đã có sẵn một số bảng, form, report, ...

2. Mở CSDL

- Để mở một CSDL đã tồn tại chúng ta chọn File/ Open, cửa sổ Open sẽ xuất hiện. Trong cửa sổ này bạn phải chọn tệp CSDL có đuôi .mdb, rồi chọn Open.

- Hoặc, Chọn biểu tượng trên thanh công cụ (Toolbar).

Kết quả của thao tác trên là mở ra cửa sổ làm việc của CSDL.

3. Tạo bảng

3.1 Các kiểu dữ liệu

- Text: Xâu ký tự có độ dài £ 255.

- Memo: Văn bản độ dài đến khoảng 65000 ký tự.

- Number: Số thực, số nguyên.

- Date/Time: Ngày giờ.

- Curency: Tiền tệ.

- Autonumber: Số nguyên, tự động tăng thêm khi có bản ghi mới.

- Yes/No: Dữ liệu logic, giá trị thực 0, 1.

- OLE Object: ảnh hoặc văn bản lớn.

- Hyperlink: Địa chỉ trang web

3.2 Tạo cấu trúc bảng

Bước 1: Mở cửa sổ thiết kế cấu trúc bảng

Cách 1: Từ cửa sổ Database, trong mục Object chọn Tables -> Create table in Design view -> Design

Cách 2: Từ cửa sổ Database, trong mục Object chọn Tables -> , cửa sổ New Table như sau xuất hiện. Trong cửa sổ này ta chọn Design View -> OK.

Màn hình tạo bảng

3. Tạo bảng

Bước 2: Thiết kế các trường (cột) của bảng

Từ cửa sổ Table ở trên, chúng ta lần lượt thiết kế từng trường dữ liệu như sau:

- Nhập tên trường trong mục Field Name.

- Chọn kiểu dữ liệu của trường trong mục Data Type

- Ghi mô tả của trường trong mục Description

- Nhập các thuộc tính (ràng buộc) của trường này trong các phần General, phần Lookup

Bước 3: Ghi lại cấu trúc bảng vừa tạo

- Chọn biểu tượng trên thanh công cụ. Cửa sổ Save As xuất hiện

- Nhập tên bảng trong phần Table Name -> OK

Chương 2. Tạo lập Cơ sở dữ liệu

4. Ràng buộc dữ liệu khi thiết kế bảng

Để xác định thuộc tính của trường có thể dùng ngay hộp thoại tạo bảng.

- Field size (độ rộng): Độ rộng của trường số hoặc xâu ký tự.

- Format (khuôn dạng): Khuông dạng của dữ liệu khi hiển thị, phụ thuộc vào kiểu dữ liệu: số, ngày, giờ, logic, khuôn dạng đặc biệt.

- Input Mask (Mặt nạ nhập): Dạng của dữ liệu nhập. Đó là một xâu ký tự, chứa những ký tự sau:

Ký tự

Ý nghĩa

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.

?

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 cho kiểu dữ liêu số và ngày giờ

<

Đổi các ký tự bên phải ký tự này thành chữ thường.

>

Đổi các ký tự bên trái ký tự này thành chữ hoa.

Ký tự khác

Hiện nguyên dạng ký tự đó. Không được lưu trong bảng. Tương tự thuộc tính format. Dùng cách này người sử dụng dễ hiểu hơn.

Password

Che giấu thông tin khi nhập.

Nếu không quen sử dụng, khích hoạt nút ... để gọi Wizard.

- Default Value: Giá trị ngầm định. Thường là một biểu thức, có xuất hiện hằng, các hàm mẫu và các phép toán.

- Required: (Yes/No, ngầm định là No) không cho phép đưa giá trị Null vào trường.

- AlloZeroLength: (Yes/No, ngầm định là No) chỉ dùng cho các trường kiểu Text hoặc Memo, cho phép nhận giá trị là xâu rỗng.

- Caption (Phụ đề): Tên cột khi hiện bảng ở chế độ Datasheet.

- Validation Rule: Một điều kiện mà dữ liệu nhập vào trường phải thỏa. Điều kiện có thể dùng:

+ Các hằng: Phải dùng các dấu phân cách: Cặp nháy kép cho xâu kư tự, cặp # cho ngày giờ.

+ Các phép toán so sánh: =, >, <, >=, <=.

+ Các phép toán logic: NOT, AND, OR, XOR, IMP, EQV.

+ Các toán tử đặc biệt khi thao tác dữ liệu: Between, Like, In, ...

- Default Value: Giá trị ngầm định. Thường là một biểu thức, có xuất hiện hằng, các hàm mẫu và các phép toán.

- Required: (Yes/No, ngầm định là No) không cho phép đưa giá trị Null vào trường.

- AlloZeroLength: (Yes/No, ngầm định là No) chỉ dùng cho các trường kiểu Text hoặc Memo, cho phép nhận giá trị là xâu rỗng.

- Caption (Phụ đề): Tên cột khi hiện bảng ở chế độ Datasheet.

- Validation Rule: Một điều kiện mà dữ liệu nhập vào trường phải thỏa. Điều kiện có thể dùng:

+ Các hằng: Phải dùng các dấu phân cách: Cặp nháy kép cho xâu kư tự, cặp # cho ngày giờ.

+ Các phép toán so sánh: =, >, <, >=, <=.

+ Các phép toán logic: NOT, AND, OR, XOR, IMP, EQV.

+ Các toán tử đặc biệt khi thao tác dữ liệu: Between, Like, In, ...

- Validation Text: Dòng thông báo được hiển thị khi dữ liệu nhập vào trường vi phạm luật được nêu trong Validation Rule.

- Indexed: Có dùng chỉ số cho trường đang xét không.

Chỉ số cho phép sắp xếp dữ liệu theo trường đang xét để tăng tốc độ tìm kiếm. Sau khi xác định chỉ số tại thuộc tính của trường, Access sẽ điền thêm 1 chỉ số mới vào bảng chỉ số. Muốn thay đổi thông tin liên quan đến chỉ số, chọn View-Indexs.

- Lookup: Khi muốn kiểm soát dữ liệu đảm bảo dữ liệu nhập vào một trường chỉ nhận một trong số các giá trị hoặc lấy từ một trường nào đó ở bảng khác, chuyển thành trường dạng Lookup.

+ Display Control: Có thể chọn List Box, hoặc ComboBox thay cho dạng Text Box thông thường.

+ 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, Bảng/truy vấn hoặc danh sách giá trị.

+ Bound Column: Số thứ tự của cột cho giá trị.

+ Column Count: Tổng số cột hiển thị trong hộp.

+ Column width: Độ rộng cột.

Chú ý: Khi xác định những kiểm soát dữ liệu liên quan đến nhiều trường khác nhau, phải xác định tại Table Properties

5. Tạo quan hệ giữa các bảng

Bước 1: Mở cửa số Relationship bằng cách:

• Chọn Tools -> Relationship

• Hoặc kích hoạt biểu tượng trên thanh công cụ

• Hoặc từ cửa sổ Database click chuột phải -> Relationship.

Màn hình Show Table

Từ cửa sổ Show Table chọn các bảng - Tables (hoặc truy vấn - Queries) cần thiết lập quan hệ bằng cách: Chọn tên bảng (tên truy vấn) ->Add.

Bước 2: Thiết lập quan hệ giữa các bảng

- Xác định quan hệ giữa 2 bảng

+ Xác định các trường dùng để kết nối 2 bảng. Đặt con trỏ tại trường liên quan ở bảng này, giữ chuột trái và kéo rê sang trường liên quan ở bảng kia. Bảng như sau xuất hiện:

Trong bảng này chúng ta thực hiện:

+ Xác định toàn vẹn tham chiếu (ràng buộc khi sửa dữ liệu, ràng buộc khi xóa dữ liệu) trong mục Enforce Referential Integrity.

+ Xác định kiểu quan hệ giữa 2 bảng bằng cách chọn Join Type... Trong cửa sổ này chúng ta chọn một kiểu quan hệ phù hợp -> OK -> OK.

- Chọn biểu tượng trên thanh công cụ để ghi lại kết quả.

Cách hiệu chỉnh quan hệ

Bước 1: Mở cửa sổ Relationships như trong bước 1 của phần a. Cửa sổ Relationships xuất hiện như sau: Trong cửa sổ này chúng ta muốn hiệu chỉnh quan hệ giữa 2 bảng nào chúng ta chọn đường liên kết giữa 2 bảng đó -> click chuột phải ->Edit Relationship ...

Bước 2: Cửa sổ Edit Relationship xuất hiện như trong bước 2 của phần a. Trong cửa sổ này chúng ta thực hiện các hiệu chỉnh cần thiết tương tự như bước 2 của phần a.

Mục đích và nội dung

Mục đích

- Giúp sinh viên biết cách mở một CSDL đã tồn tại.

- Giúp sinh viên biết cách tạo một CSDL mới hoàn toàn, cách xây dựng các bảng cho CSDL này.

Nội dung

Tạo CSDL mới

Mở CSDL đã tồn tại

Tạo bảng

Thiết kế các thuộc tính của bảng

Tạo quan hệ giữa các bảng

Chương 3. Thiết kế truy vấn

1. Tổng quan về truy vấn

a. Tác dụng của truy vấn

- Dùng để trả lời các câu hỏi có tính chất tức thời.

- Bộ hỏi được dùng để lựa chọn các bản ghi (record), cập nhật các bảng và bổ sung các bản ghi mới vào bảng.

- Dùng làm nguồn dữ liệu cho các biểu mẫu, báo cáo.

- Tạo lập, cập nhật CSDL.

b. Trong Access, người ta chia truy vấn thành các loại chính sau:

- Truy vấn chọn (Select Query): Thực hiện việc tìm kiếm (kể cả tính toán).

- Truy vấn Crosstab: Thực hiện thống kê trên CSDL.

- Truy vấn hành động (Action Query): Cho phép cập nhật CSDL gồm bổ sung, loại bỏ hay thay đổi.

- Truy vấn định nghĩa dữ liệu, truy vấn hợp.

- Truy vấn Pass Through: Gửi lệnh SQL tới CSDL qua ODBC (ví dụ như CSDL SQL server) trên server để thao tác dữ liệu trên đó.

c. Kết quả của truy vấn hiển thị dưới dạng bảng.

Bảng này có thể thuộc 2 loại: Dynaset, Snapshot.

d. Ngôn ngữ để xây dựng truy vấn

- QBE: Dùng thiết kế các truy vấn thao tác dữ liệu ở mức tương đối đơn giản.

- SQL: Xây dựng tất cả các loại truy vấn

2. Các toán tử trong Access

a. Toán tử số học

Toán tử

Mô tả

Ví dụ

+

Cộng hai toán hạng

[lương]+[phụ cấp]

-

Trừ hai toán hạng

Date-30

-(toán tử đơn)

Thay đổi dấu của một toán hạng

-12345

*

Nhân hai toán hạng

[hệ số]*[lương cơ bản]

/

Chia một toán hạng voái một toán hạng khác

15.2/12.55

\

Chia một toán hạng số nguyên với một toán hạng số nguyên khác.

5\2

Mod

Trả về số dư của phép chia với một số nguyên.

5 Mod 2

^

Nâng lũy thừa một toán hạng (số mũ)

4^3

b. Toán logic

Toán tử

Mô tả

Ví dụ

Kết qủa

And

Và lôgic

True And True

True And False

True

False

Or

Or baog gồm

True Or False

False Or False

True

False

Not

Không lôgic

Not True

Not False

False

True

Xor

Or loại trừ

True Xor False

True Xor True

True

False

c. Hàm ngày và giờ

Hàm

Mô tả

Ví dụ

Trả về

Date()

Trả về ngày hiện tại của hệ thống

Date()

22/1/2005

Day (exp)

Trả về một ngày trong một tháng

Day (#7/15/2004#)

15

Month(exp)

Trả về một tháng trong một năm

Month(#7/15/2004#)

7

Weekday(exp)

Trả về một ngày trong tuần

Weekday(#1/23/2005#)

2

Year(exp)

Cho biết năm của biểu thức

Year(#1/23/2005#)

2005

d. Hàm xử lý kiểu dữ liệu trường Text

Hàm

Mô tả

Ví dụ

Trả về

Format(exp)

Định dạng biểu thức theo các dạng thức thích hợp.

Format(Date(), "dd-mm-yyyy" )

23-Jul-2005

LCase(exp)

Trả về phiên bản chữ thường của một chuỗi.

LCase("Lan")

lan

UCase(exp)

Trả về phiên bản chữ hoa của một chuỗi.

UCase("Lan")

LAN

LTrim(exp)

Xóa tất cả các dấu cách ở đầu chuỗi.

LTrim (" Lan")

Lan

RTrim(exp)

Xóa tất cả các dấu cách ở cuối chuỗi.

RTrim("Lan ")

Lan

Trim(exp)

Xóa tất cả các dấu cách ở đầu và cuối chuỗi.

Trim (" Lan ")

Lan

Str(exp)

Chuyển một số thành một chuỗi.

Str(123.45)

123.45

Val(exp)

Chuyển một chuỗi thành một số

Val("123.45")

123.45

e. Hàm toán học và hàm lượng giác

Hàm

Mô tả

Ví dụ

Trả về

Abs(exp)

Trả về giá trị tuyệt đối của một số

Abs(-1234.5)

1234.5

Atn(exp)

Hàm arctang, tính theo radian.

Atn(1)

0.7853982

Cos(exp)

Hàm cosin, tính theo radian.

Cos(pi/4)

0.707106719949

Exp(exp)

Hàm ex

Exp(2.302585)

9.9999990700

Int(exp)

Trả về phần nguyên của giá trị số

Int(13.5)

Int(-13.5)

13.5

-13.5

Log(exp)

Hàm logarit cơ số e.

Log(10)

2.302585

Sgn(exp)

Hàm dấu

Sgn(-13.5)

Sgn(13.5)

-1

0

Sin(exp)

Hàm sin, tính theo radian.

Sin(pi/4)

0.707106842423

Sqr(exp)

Hàm căn bậc hai.

Sqr(144)

12

Tan(exp)

Hàm tang, tính theo radian.

Tan(pi/4)

1.0000001723

f. Các toán tử khác

Toán tử

Mô tả

Ví dụ

Is

Được dùng với Null để xác định một giá trị nào đó có phải là Null hay Not Null

Is Null

Is Not Null

Like

Xác định một giá trị chuỗi có bắt đầu bằng một hay nhiều ký tự. (Để Like làm việc đúng đắn, ta phải bổ sung một dấu đại diện *, hoặc một hay nhiều dấu ?)

Like "Jon*"

Like "FILE????"

In

Xác định một giá trị chuỗi có thuộc một thành phần của danh sách các giá trị hay không.

In ("CA", "OR", "WA")

Between

Xác định một số có nằm trong một miền giá trị đã chỉ định hay không.

Between 1 And 5

3. Thiết kế truy vấn QBE

3.1 Các bước để tạo truy vấn QBE:

Bước 1: Từ cửa sổ Database ta làm theo một trong hai cách sau:

Cách 1: Từ cửa sổ Database, trong mục Object chọn Query -> New -> Design View -> OK

Cách 2: Từ cửa sổ Database, trong mục Object chọn Query -> Create Query in Design View ->

Bước 2: Từ cửa sổ Show Table chọn các bảng dữ liệu hoặc các truy vấn liên quan đến câu hỏi, bằng cách Chọn tên bảng (hoặc tên truy vấn) -> Add. Kết thúc quá trình chọn bảng, truy vấn chọn Close

Field: Các trường liên quan đến truy vấn. Có thể xuất hiện ở kết quả hoặc điều kiện tìm kiếm.

Trường kết xuất có dạng <Tên trường kết xuất>:<Biểu thức>

Table: Bảng chứa trường được lựa chọn.

Sort: Sắp thứ tự kết quả theo thứ tự tăng hoặc giảm.

Show: Trường xuất hiện ở kết quả.

Criteria: Điều kiện chọn có dạng: <Phép toán quan hệ><Biểu thức>

Hoặc <toán tử thao tác dữ liệu><Biểu thức>

Hai biểu thức trên có thể viết trên một dòng sẽ tổ hợp thành điều kiện and.

Or: Tìm kiếm theo điều kiện Or. Có thể thêm dòng.

Buớc 3: Lựa chọn các trường cần hiển thị trong kết quả của 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 phần Criteria.

Bước 4: Thực hiện truy vấn bằng một trong hai cách sau:

Cách 1: Chọn biểu tượng ! trên thanh công cụ.

Cách 2: Trên thanh menu chọn Query\Run.

Bước 5: Ghi lại kết quả truy vấn (nếu muốn) bằng cách:

Cách 1: Chọn biểu tượng đĩa mềm trên thanh công cụ.

Cách 2: Trên thanh menu chọn File\Save

3.2 Một số truy vấn QBE

a. Truy vấn lựa chọn

Ví dụ 1: Cho biết họ tên, tên phòng làm việc của các nhân viên có đủ tiêu chuẩn về hưu trong năm nay: nam từ 60 tuổi trở nên, nữ từ 55 tuổi trở nên.

Ví dụ 2: Đưa ra danh sách nhân viên nữ trong cơ quan

b. Truy vấn tính toán

Các bước thiết kế một truy vấn tính toán:

- Tạo một truy vấn mới như trong phần 3.1

- Chuyển từ truy vấn chọn thông thường trong phần a (truy vấn chọn) sang truy vấn tính toán bằng cách chọn biểu tượng totals trên thanh công cụ hoặc trên thanh menu chọn View -> Totals.

Trong mục Total của mỗi cột có những lựa chọn sau:

- Group by: Dùng để chỉ ra trường nào là trường phân nhóm.

- Sum: Tính tổng.

- Avg: Tính trung bình.

- Min: Tìm giá trị nhỏ nhất.

- Max: Tìm giá trị lớn nhất.

- Count: Đếm.

- StDev: Tìm độ lệch chuẩn.

- Var: Tìm phương sai.

- First: Tìm bản ghi đầu tiên.

- Last: Tìm bản ghi cuối cùng.

- Expression: Một biểu thức trong tính toán, đi kèm với một tính toán bằng hàm thư viện khác.

- Where: Điều kiện lọc các bản ghi tham gia vào tính toán.

Ví dụ 1: Tính tiền thưởng cho nhân viên phòng "Kỹ thuật" bằng 2,5 lương trung bình.

Ví dụ 2: Thiết kế truy vấn nguồn dữ liệu cho bảng tổng hợp lương trong toàn cơ quan bao gồm: tên phòng, tổng lương mà phòng đó được nhận

c. Truy vấn tham số

Khi thực hiện truy vấn, màn hình nhập giá trị tham số sẽ xuất hiện:

Truy vấn sẽ được thực hiện với giá trị tham số được nhập từ bàn phím cho kết quả hoặc điều kiện.

Cách tạo truy vấn tham số

- Thực hiện các bước tạo truy vấn như trong phần 3.1

- Để biến một đối tượng nào thành truy vấn, chỉ cần bao nó bởi cặp ngoặc

Ví dụ 1: Thiết kế truy vấn chuẩn bị nguồn dữ liệu cho danh sách nhân viên nữ nhận tiền thưởng 8-3. Số tiền nhập vào từ bàn phím.

Ví dụ 2: Đưa ra danh sách nhân viên một phòng, gồm mã nhân viên, họ tên, ngày sinh, tên phòng. Mã phòng nhập từ bàn phím.

d. Phân biệt quan hệ kiểu Inner Join và Outer Join

Ví dụ: Tính tổng số nhân viên trong các phòng của cơ quan. Có thể có phòng mới thành lập chưa có nhân viên. Khi đó, tổng số nhân viên của phòng phải là không. Nếu dùng inner Join thì không đưa ra được những phòng có số nhân viên là 0. Muốn thể hiện đúng kết quả phép kết nối trong truy vấn phải là outer Join (Left Join).

Trường hợp 1: Dùng inner Join

Trường hợp 2: Dùng Outer Join

Cách tạo truy vấn Outer Join

Sau khi mở cửa sổ thiết kế truy vấn. Chọn kiểu truy vấn thích hợp: truy vấn chọn, truy vấn tính toán, truy vấn tham số, ...Muốn chuyển liên kết giữa 2 bảng nào thành Outer Join, ta kích chuột phải vào liên kết đó -> chọn Join Properties. Chọn 2, hoặc 3 là kiểu kết nối Outer Join. Chọn 1 là kiểu kết nối Inner Join. Sau đó thực hiện truy vấn bằng cách chọn biểu tượng ! hoặc trên thanh menu chọn Query -> Run.

Trong trường hợp của ví dụ này, chúng ta đang cần đếm số nhân viên của một phòng, có thể có những phòng chưa có nhân viên. Do đó, chúng ta chọn kiểu quan hệ giữa bảng NHANVIEN và bảng PHONG là kiểu số 2.

e. Truy vấn bổ sung

Khi cần bổ sung dữ liệu vào CSDL có thể thực hiện theo các cách sau:

- Bổ sung các bảng ghi đơn lẻ: Mở bảng hoặc form, thêm một số dòng.

- Bổ sung dữ liệu có sẵn từ các bảng hoặc query khác vào bảng cần lưu bằng cách: lập truy vấn bổ sung.

Để tạo truy vấn bổ sung mới bằng QBE ta làm như sau:

- Tạo truy vấn mới như trong 3.1

- Trên màn hình thiết kế truy vấn chọn mới, chuyển sang truy vấn bổ sung bằng cách chọn menu Query -> Append Query. Cửa sổ sau xuất hiện. Chọn bảng cần bổ sung thông tin trong mục Table Name, sau đó chọn OK.

- Xác định các giá trị sau:

Field: Các trường liên quan - trường cho dữ liệu hoặc có mặt trong điều kiện chọn.

Table: Tên bảng chứa trường được chọn.

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 nhận.

Criteria: Điều kiện chọn các bản ghi để bổ sung.

- Chọn biểu tượng ! để thực hiện truy vấn.

- Mở bảng LUU để xem kết quả.

- Mở truy vấn ở chế độ Datasheet để xem dữ liệu thêm vào CSDL có đúng như ta mong muốn không.

Ví dụ 1: Đưa vào bảng LUU thông tin về nhân viên với mã nhân viên nhập từ bàn phím.

- Đầu tiên tạo truy vấn mới như trong 3.1

- Chọn các bảng chứa thông tin liên quan: NHANVIEN, PHONG.

- Chọn menu Query -> Append Query. Trong cửa sổ Append, chọn LUU trong Table Name.

f. Truy vấn loại bỏ

Nếu loại bỏ một số bản ghi đơn lẻ, có thể loại bỏ trực tiếp trên bảng hoặc form. Truy vấn loại bỏ được sử dụng khi loại bỏ các bản ghi thỏa mãn điều kiện nào đó có thể được thiết kế bằng QBE hoặc bằng SQL để chạy tự động trong chương trình.

Các bước để tạo truy vấn loại bỏ:

- Tạo truy vấn mới, trên màn hình Show Table chọn các bảng liên quan đến truy vấn. Gồm một bảng cần loại bỏ và các bảng liên quan đến điều kiện để loại bỏ.

- Trên thanh menu chọn Query -> Delete Query.

Field: Bảng cần xóa thông tin, các trường liên quan đến điều kiện.

Delete: Access tự điền là From hoặc Where.

Criteria và Or: Điền điều kiện chọn bản ghi để loại bỏ.

- Kích hoạt biểu tượng Datasheet View.

Chú ý: Khi thiết kế truy vấn loại bỏ phải nhớ thiết lập thuộc tính Cascade Delete (trong cửa sổ thiết lập quan hệ giữa các bảng) để tránh phải thực hiện những thao tác không cần thiết.

Ví dụ 1: Xóa thông tin về một nhân viên, với mã nhân viên nhập từ bàn phím.

g. Truy vấn thay đổi.

Thay đổi các giá trị đơn lẻ: Trực tiếp trên bảng hoặc Form.

Khi cần thay đổi hàng loạt bản ghi thỏa mãn điều kiện nào đó: Tạo truy vấn thay đổi.

Các bước tạo truy vấn thay đổi:

- Tạo truy vấn mới, chọn các bảng liên quan: Một bảng cần thay đổi dữ liệu và các bảng liên quan đến điều kiện.

- Trên thanh menu chọn Query -> Update Query.

Field: Trường cần thay đổi hoặc có liên quan đến điều kiện.

Update To: Giá trị mới của trường.

Criteria: Điều kiện chọn bản ghi để thay đổi.

Trước khi thực hiện truy vấn thay đổi, cũng cần xem trước những bản ghi được thay đổi xem sự thay đổi đó có phù hợp với yêu cầu không?

Chú ý: Tương tự như thao tác loại bỏ chú ý đến việc xác lập tùy chọn Cascade Update để tránh những thao tác thay đổi không cần thiết.

Ví dụ 1: Thực hiện những thay đổi sau đây với những nhân viên vào biên chế trước 1/1/1995. Đổi ngày biên chế thành 1/1/95, tăng gấp đôi số lương.

Dùng trong các biểu mẫu thống kê. Đặc trưng quan trọng là có thể chuyển dữ liệu trong bảng thành tiêu đề cột, hàng.

Ví dụ, kết quả của 1 truy vấn Crosstab cho biết số nhân viên nam của mỗi phòng, số nhân viên nữ của mỗi phòng có dạng:

Các bước tạo truy vấn Crosstab:

- Tạo truy vấn mới, chọn bảng hoặc truy vấn nguồn dữ liệu liên quan.

- Trên thanh menu chọn Query -> Crosstab Query

- Chọn các trường để nhóm theo hàng.

- Chọn các trường để nhóm theo cột.

- Chọn giá trị để lưu ở các ô (giao của một hàng và một cột), ở đó có thể dùng các hàm thư viện SUM, COUNT, . . . để tính toán.

Ví dụ 1: Một truy vấn để tính tổng số nam, nữ trong từng phòng, chuẩn bị nguồn dữ liệu cho báo cáo về tỷ lệ nam, nữ trong từng phòng:

Ví dụ 3: Đếm số nhân viên nữ trong cơ quan

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #ridodoji