Một CSDL có thể có rất nhiều bảng, các bảng phải được thiết kế saocho có thể lưu trữ được đầy đủ dữ liệu cần thiết, đảm bảo giảm tối đa tìnhtrạng gây dư thừa dữ liệu dư thừa dữ liệu được
Trang 1Chương I: Tổng quan về Microsoft Access
CHƯƠNG I : TỔNG QUAN VỀ MICROSOFT ACCESS
1.1 Giới thiệu chung
- Microsoft Access là một hệ quản trị cơ sở dữ liệu chạy trên môi trườngWindows Microsoft Access cho chúng ta một công cụ hiệu lực và đầy sứcmạnh trong công việc tổ chức, tìm kiếm và quản lý thông tin
- Microsoft Access cho ta các khả năng thao tác dữ liệu, khả năng liênkết và công cụ truy vấn mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh.Người sử dụng có thể chỉ dùng một truy vấn để làm việc với các dạng CSDLkhác nhau
- Microsoft Access và khả năng kết xuất dữ liệu cho phép người sử dụngthiết kế những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu quản
lý, có thể vận động dữ liệu và kết hợp các biểu mẫu và báo cáo trong một tàiliệu và trình bày kết quả theo dạng thức chuyên nghiệp
1.2 Cài đặt Microsoft Access :
1.2.1 Yêu cầu về phần cứng và hệ điều hành
- Máy vi tính cấu hình 486 trở lên, chạy trên nền hệ điều hành Windows
95 trở lên
- Bộ nhớ RAM tối thiểu 32MB
- Dung lượng đĩa cứng tối đa 640MB
1.2.2 Cài đặt Microsoft Access
- Khởi động hệ điều hành Windows thành công
- Đưa bộ cài đặt chương trình và kích hoạt chúng từ tập tin Setup.exe
- Trả lời yêu cầu lệnh cụ thể theo từng màn hình
1.3 Thiết kế một cơ sở dữ liệu :
1.3.1 Khái niệm về cơ sở dữ liệu
- Dưới góc độ của Microsoft Access, CSDL là một kho chứa thông tin –
là tập hợp những số liệu liên quan đến một chủ đề hay một mục đích quản lýkhai thác nào đó
- Trước khi chúng ta sử dụng Microsoft Access để thực sự xây dựng cácTable, các Form, và các đối tượng khác sẽ làm nên cơ sở dữ liệu của chúng ta,điều quan trọng là phải dành thời gian để thiết kế cơ sở dữ liệu Cho dù chúng tađang sử dụng một cơ sở dữ liệu Microsoft Access hoặc một đề án MicrosoftAccess, thì việc thiết kế tốt cơ sở dữ liệu là nền tảng chủ yếu để tạo một cơ sở
Trang 2Chương I: Tổng quan về Microsoft Access
dữ liệu nhằm thực hiện những gì mà chúng ta muốn một cách hiệu quả, chínhxác
1.3.2 Các bước thiết kế một cơ sở dữ liệu và xác định mục tiêu khai thác.
Bước 1: Xác định mục tiêu khai thác CSDL của chúng ta Điều nàyquyết định các loại sự kiện chúng ta sẽ đưa vào MS Access
Bước 2: Xác định các bảng dữ liệu cần thiết
Bước 3: Xác định trường
Bước 4: Xác định các mối quan hệ giữa các bảng
Bước 5: Tinh chế, hiệu chỉnh lại thiết kế
1.3.3 Xác định các bảng cần thiết trong cơ sở dữ liệu.
Một CSDL có thể có rất nhiều bảng, các bảng phải được thiết kế saocho có thể lưu trữ được đầy đủ dữ liệu cần thiết, đảm bảo giảm tối đa tìnhtrạng gây dư thừa dữ liệu (dư thừa dữ liệu được hiểu đơn giản là tình trạng lưutrữ những dữ liệu không cần thiết trên một số bảng Tác hại của hiện tượngnày sẽ gây: sai lệch dữ liệu tác nghiệp và làm tăng dung lượng dữ liệu khôngcần thiết); giảm tối đa dung lượng CSDL có thể, đồng thời tạo môi trường làmviệc thuận lợi cho việc phát triển ứng dụng trong các bước tiếp theo
1.3.4 Xác định trường.
Sau khi đã xác định xong các bảng cần thiết, tiếp đến ta phải chỉ ra thôngtin nó cần quản lý trong mỗi bảng, đó là xác định các trường Mỗi loại thôngtin trong bảng gọi là trường Mọi mẫu tin trong cùng một bảng đều có chungcấu trúc các trường Ví dụ: Trong lý lịch khoa học cán bộ, những trường (thôngtin) cần quản lý l: “HỌ VÀ TÊN”, “CHUYÊN MÔN”, “HỌC VỊ”, “HỌCHÀM”,
1.3.5 Xác định các mối quan hệ.
Nhìn vào mỗi bảng dữ liệu và xem xét dữ liệu trong bảng này liên hệ thếnào với dữ liệu trong bảng khác Thêm trường hoặc tạo bảng mới để làm ramối quan hệ này Đây là vấn đề hết sức quan trọng, tạo được quan hệ tốt sẽgiúp chúng ta nhanh chóng truy tìm tìm và kết xuất dữ liệu
1.3.6 Tinh chế lại thiết kế.
Phân tích lại thiết kế ban đầu để tìm lỗi, tạo bảng dữ liệu và nhập vào vàibản ghi, thử xem CSDL đó phản ánh thế nào với những yêu cầu truy xuất của
Trang 3Chương I: Tổng quan về Microsoft Access
chúng ta, có rút được kết quả đúng từ những bảng dữ liệu đó không Thực hiệncác chỉnh sửa thiết kế nếu thấy cần thiết
1.3.7 So sánh quan hệ cơ sở dữ liệu và ứng dụng vào tính
Những ứng dụng cơ sở dữ liệu có thế được chia thành hai loại cơ bản:các ứng dụng làm việc với cơ sở dữ liệu độc lập và các ứng dụng làm việc với
cơ sở dữ liệu quan hệ Bảng tính Excel là một chương trình xử lý cơ sở dữ liệuđộc lập đó là các bảng Trong bảng, tất cả thông tin liên quan phải được đưavào cùng một bảng Có nghĩa là bất cứ thông tin nào dùng chung cho một sốmẫu tin (bản ghi) sẽ được lặp lại cho mỗi bản ghi đó Ngược lại trong MsAccess, một cơ sở dữ liệu quan hệ sử dụng nhiều bảng khác nhau Một mốiquan hệ cho phép bạn nhập thông tin vào một bảng và kết nối thông tin đó vớimột bản ghi trong một bảng khác thông qua một ký hiệu nhận dạng gọi là khoá
1.4 Khởi động và sử dụng các đối tượng trong cơ sở dữ liệu :
1.4.1 Khởi động và thoát khỏi Access
1 Khởi động
Có nhiều cách để khởi động Microsoft Access Tuy nhiên, chúng ta làmquen với cách khởi động cơ bản sau: từ menu Start -> programs -> chọn biểutượng của Microsoft Access
Sau khi kích hoạt khởi động, Microsoft Access sẽ yêu cầu chúng ta thựchiện các công việc tương ứng với hộp thoại Microsoft Access (Hình 1) nhưsau:
• Blank Database: tạo một CSDL
mới
• Database Wizard: tạo một
CSDL mới với sự hỗ trợ tự
động của Microsoft Access
• Open an Existing Database: mở
một CSDL đã tạo tương ứng với
việc lựa chọn đường dẫn (chúng
Trang 4Chương I: Tổng quan về Microsoft Access
Microsoft Access sẽ yêu cầu chúng ta xác nhận thêm các thông tin cơ bản cho CSDL sẽ tạo, tương ứng với hộp thoại File New Database (Hình 2) như sau:
2 Thoát khỏi Access:
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằngmột trong các cách:
Cách 1: Mở thực đơn FILE->EXIT
Cách 2: Nhấn tổ hợp phím nóng Alt + F4
Hình 2: Hộp thoại File New Database
Hình 3: Giao diện Microsoft Access
Trang 5Chương I: Tổng quan về Microsoft Access
Cách 3: Hoặc sử dụng nút Close trên cửa sổ Access đang mở
1.4.2 Tạo mới và mở cơ sở dữ liệu.
1 Tạo mới một CSDL: thao tác này cho phép chúng ta tạo mới hoàn toàn một CSDL Thao tác thực hiện như sau:
Bước 1: Từ menu FILE
-> NEW (hoặc kích chuột vào
biểu tượng New trên thanh
công cụ Standard) -> xuất hiện
hộp thoại New (Hình 4) với các
thông số như sau:
• Tab General: cho phép
Chú ý: Phần này chúng ta làm quen với việc tạo một CSDL trống (Tab General) với các thao tác thực hiện tiếp theo như sau:
Bước 2: Chọn nút OK tương ứng với mục Blank Database để chấp nhậntạo CSDL trống -> xuất hiện hộp thoại File new database (Hình 5) với cácthông số như sau:
Trang 6Chương I: Tổng quan về Microsoft Access
Từ menu FILE -> OPEN hoặc kích chuột vào biểu tượng Open trên
thanh công cụ Standard -> xuất hiện hộp thoại Open (Hình 6) với các thông sốnhư sau:
• Tab Queries (Truy vấn):là công cụ để truy vấn thông tin và thực hiện cácthao tác trên số liệu và quản lý chúng Chúng ta thường sử dụng Query
để liên kết các số liệu nằm trên các Table khác nhau trong CSDL nhằm
để chọn lựa ra các dữ liệu cần quan tâm Ngoài ra, Query còn là công cụ
Hình 6: Hộp thoại Open
Hình 7: Cửa sổ Databases
Trang 7Chương I: Tổng quan về Microsoft Access
để cập nhật số liệu, tạo Table mới, xoá số liệu… thông qua các câu lệnhtrên Microsoft Access
• Tab Forms (biểu mẫu): dùng vào mục đích thiết kế các màn hình nhậphoặc truy xuất dữ liệu và quản lý chúng, nhằm đảm bảo tính thân thiệnhoá các thao tác truy cập đến dữ liệu giữa con người và CSDL
• Tab Reports (báo biểu): là nơi dùng để thiết kế kết quả cuối cùng vàquản lý các báo cáo đã thiết kế của một quá trình khai thác dữ liệu trênCSDL Từ đây, chúng ta có thể thiết kế các báo cáo tổng hợp về các dữliệu đã lưu trữ trên CSDL
• Tab Macros (lệnh ngầm): là nơi dùng để thiết kế và quản lý các lệnhnhằm tự động hoá một thao tác có tính chất lặp đi lặp lại nhiều lần trongcác quá trình truy xuất dữ liệu Macro của Microsoft Access được xemnhư một công cụ lập trình đơn giản, giúp chúng ta thao tác thông tin mộtcách có khoa học và hiệu quả hơn
• Tab Modules (đơn thể): là nơi dùng để thiết kế các hàm, thủ tục truy xuất
dữ liệu Module hoạt động tương tự như Macro, tuy nhiên sản phẩm cuốicùng của Module là các hàm/các thủ tục, còn sản phẩm cuối cùng củaMacro là các lệnh
Trang 8• Số liệu được lưu trữ trên nhiều dòng, mỗi dòng được gọi là một mẫu tin(Record).
• Trên mỗi dòng có các cột gọi là trường (Field)
2.2 Tạo bảng mới trong cơ sở dữ liệu: Tạo bảng không dùng Table Wizard
2.2.1 Cửa sổ Table trong chế độ Design view
Khởi động trình thiết kế cấu trúc bảng ở chế độ Design View
Ở thẻ Tables, nhấn nút New, chọn Design View, nhấn OK
Hoặc nhấn trên thẻ Tables Hộp thoại thiết
kế cấu trúc một bảng xuất hiện:
Hình 2.1 Hộp thoại New Table
Trang 9Chương 2: Bảng (Table)
2.2.2 Thêm trường vào bảng.
Ở mục Field Name: nhập tên trường cần thiết kế cho bảng
2.2.3 Đặt tên trường.
Tên trường không nên chứa dấu cách (space), chữ tiếng Việt có dấu.Tên các trường trong bảng phải không được trùng lẫn nhau
2.2.4 Các kiểu dữ liệu và chọn kiểu dữ liệu
Khai báo kiểu dữ liệu cho các trường của bảng, bằng cách chọn kiểu
dữ liệu cho từng trường ở cột Data Type tương ứng.
Các kiểu dữ liệu trong Access
Text Chứa các xâu ký tự có chiều dài lên đến 255 ký tự
Memo Chứa các văn bản có thể lên đến 65535 ký tự
Date/Time Chứa các giá trị ngày/giờ
Currency Chứa các giá trị thuộc kiểu tiền tệ
Autonumber Giá trị số tăng liên tục do Microsoft Access gắn vào
Yes/No Giá trị luân lý (Boolean) (Đúng/Sai)
OLE Object Chứa các đối tượng nhúng (hình ảnh, tài liệu Word…)
Hyperlink Chứa chuỗi văn bản là đầu mối liên kết một địa chỉ trên
InternetHình 2.2 Cửa sở Table trong chế độ Design New
Trang 10Lookup Wizard Chứa giá trị trong danh sách các giá trị
Để chọn kiểu dữ liệu, có thể dùng chuột chọn kiểu dữ liệu từ hộp thả;mặt khác cũng có thể nhấn ký tự đầu tiên của kiểu dữ liệu cần chọn mỗi khiđịnh vị đến ô Data Type cần làm việc Ví dụ:
Ví dụ: Thiết kế một bảng dữ liệu như sau:
Trang 11Chương 2: Bảng (Table)
• Điều khiển cách hiển thị dữ liệu
• Hạn chế một số sai lầm khi nhập dữ liệu
• Xác định trị mặc định nhiên của 1 trường
• Quy định trường sắp xếp dữ liệu
Để quy định thuộc tính cho một trường, trong cửa sổ định nghĩa cấu trúcbảng, chọn truờng cần đặt thuộc tính, sau đó xác định từng thuộc tính Chúng ta
sẽ tiếp tục nghiên cứu ở chương III
2.2.6 Bố trí lại và xóa trường
- Để bố trí lại các trường trong bảng dữ liệu: Khởi động ở cửa sổ Open,chọn trường và di chuyển đến vị trí mới
- Xóa một trường: Chọn trường cần xóa (nhấp chuột tại biên trái của
dòng chứa trường cần xóa), bấm phím Delete Hoặc đặt con trỏ tại trường cần xóa rồi chọn trên menu Edit/Delete Row.
2.2.7 Đặt khóa chính cho bảng và ghi bảng
1 Đặt khoá chính cho bảng
Sức mạnh của một Hệ QTCSDL như Microsoft Access, là khả năng mauchóng truy tìm và rút dữ liệu từ nhiều bảng khác nhau trong CSDL Để hệthống có thể làm được điều này một cách hiệu quả, mỗi bảng trong CSDL cần
có một trường hoặc một nhóm các trường có thể xác định duy nhất một mẫu tintrong số rất nhiều mẫu tin đang có trong bảng Đây thường là một mã nhậndiện như Mã nhân viên hay Số Báo Danh của học sinh Theo thuật ngữ CSDL
trường này được gọi là khóa chính (primary key) của bảng MS Access dùng
trường khóa chính để kết nối dữ liệu nhanh chóng từ nhiều bảng và xuất ra kếtquả yêu cầu
Nếu trong bảng chúng ta đã có một trường sao cho ứng với mỗi trị thuộctrường đó chúng ta xác định duy nhất một mẫu tin của bảng, chúng ta có thểdùng trường đó làm trường khóa của bảng Từ đó cho ta thấy rằng tất cả các trịtrong trường khóa chính phải khác nhau Chẳng hạn đừng dùng tên người làmtrường khóa vì tên trường là không duy nhất
Nếu không tìm được mã nhận diện cho bảng nào đó, chúng ta có thể
dùng một trường kiểu Autonumter (ví dụ Số Thứ Tự) để làm trường khóa
chính
Khi chọn trường làm khóa chính chúng ta lưu ý mấy điểm sau:
Trang 12• Kích thước của khóa chính ảnh hưởng đến tốc độ truy xuất CSDL Đểđạt hiệu quả tối ưu, dùng kích thước nhỏ nhất để xác định mọi giá trị cầnđưa vào trường.
Ta có thể tự chọn trường làm khóa chính cho bảng bằng các bước sau đây:
(2)- bảng CANBO trường MaCanBo sẽ là trường khóa vì không thể tồn
tại 2 cán bộ nào trong bảng này trùng MaCanBo
(3)- bảng HANGBAN của CSDL Quản lý bán hàng, 2 trường hangID và hoadonID là một bộ trường khoá Vì không thể trên một hoá đơn
bán hàng nào có bán một mặt hàng nào đó ghi lặp lại 2 lần
chú ý: Không phải mọi trường đều có thể làm khóa chính, mà chỉ có các
trường có các kiểu dữ liệu không phải là Memo và OLE Object., Hyper Link.
Để hủy bỏ khóa chính hoặc các đã thiết lập thì thực hiện lệnh View Indexes, trong hộp thoại này chọn và xóa đi những trường khóa đã thiết lập:
-2 Ghi bảng dữ liệu
Trang 13Chương 2: Bảng (Table)
Sau khi thiết kế xong, ta tiến hành lưu bảng vào CSDL, có thể thực hiệnmột trong hai thao tác sau:
- Thực hiện lệnh File - Save.
- Nhắp chọn nút trên thanh công cụ của mục này (Table Design)
- Hãy gõ tên bảng và nhấn OK.
• Tên bảng không nên chứa dấu cách, các ký tự đặc biệt khác hoặcchữ Việt có dấu
2.3 Xem và thêm mẫu tin vào bảng.
- Muốn xem thông tin trong một bảng chúng ta phải chuyển bảng sang
một chế độ hiển thị khác gọi là Datasheet Trong chế độ hiển thị này, mỗi bản
ghi hay còn gọi là mẫu tin được thể hiện trên một hàng ngang, hàng đầu tiên làcác tên trường
Hình 2.6 Hộp thoại Save
Trang 14Chương 2: Bảng (Table)
- Sau đây là các cách để chuyển sang chế độ hiển thị Datasheet:
• Trong của sổ Database của CSDL đang mở, nhấp chọn tab Table
Trong mục này chọn bảng cần hiển thị rồi chọn nút Open, bảng sẽ
được mở để bổ sung và chỉnh sửa dữ liệu
• Ta có thể chuyển sang chế độ Datasheet ngay khi đang ở trong chếDesign, bằng cách nhắp chọn nút thì bảng sẽ chuyển sang chế
độ Datasheet, để quay trở về chế độ Design, ta nhắp chọn lại nút
Hoặc chọn lệnh View - /Design View.
- Sau khi hoàn thành công việc thiết kế cấu trúc bảng, ta tiến hành nhập dữ liệu,tức là thêm các mẫu tin, cho bảng Hiển thị bảng ở chế độ hiển thị Datasheet,mỗi hàng đại diện cho một mẫu tin
- Đang đứng tại một mẫu tin nào đó (không phải là mẫu tin mới), chọn nút
trên thanh công cụ Hoặc thực hiện lệnh Record - Go To – New để bổ sung
mẫu tin mới
- Khi đang nhập dữ liệu cho một mẫu tin nào đó, thì đầu hàng của mẫutin đó xuất hiện biểu tượng
Shift Tab Sang ô phía trước
Trang 15Chương 2: Bảng (Table)
- Để không phụ thuộc vào điều này, ta nên chọn font trước khi tiến hành
nhập dữ liệu Trong chế độ hiển thị Datasheet, thực hiện lệnh Format - Font
- Khi nhập dữ liệu là trường cho trường OLE Object, ta thực hiện như
sau: Lệnh Edit - Object
Ví dụ: Cho 2 bảng dữ liệu
Bảng Danhsach(Masv, ten, Ngaysinh, gioitinh) và bảng Diemthi(Masv, diem)
Ten Ngaysinh Gioitin
h
Ví dụ: Trong một khoa của một trường học nào đó có nhiều sinh viên,
những một sinh viên thuộc một khoa nhất định Ta có 2 bảng dữ liệu như sau:
Trang 16Chương 2: Bảng (Table)
Bảng Danhsachkhoa(Makhoa, tenkhoa, sodthoai)
Bảng danhsachsv(Makhoa, Ten, Quequan, lop)
c Quan hệ nhiều nhiều( ∞-∞ )
Trong quan hệ nhiều nhiều, mỗi bản ghi trong bảng A có thể có khônghoặc nhiều bản ghi trong bảng B và ngược lại mỗi bản ghi trong bảng B có thể
có không hoặc nhiều bản ghi trong bảng A
Khi gặp mối quan hệ nhiều- nhiều để không gây nên sự trùng lặp và dưthừa dữ liệu thì người ta tách quan hệ nhiều-nhiều thành 2 quan hệ một-nhiềubằng cách tạo ra một bảng phụ chứa khóa chính của 2 bảng đó
Ví dụ: Một giáo viên có thể dạy cho nhiều trường và một trường có nhiều
giáo viên tham gia giảng dạy Đây là một mối quan hệ nhiều-nhiều
Bảng Danhsachgv(Magv,ten)
Bảng Danhsachtruong(Matruong, Tentruong)
Tạo ra bảng Phancongday(Magv, matruong)
g
Matruon g
tentruon g
Trang 17Bảng Danhsachtruong và bảng Phancongday có mối quan hệ 1-∞ dựa
trên trường Matruong.
2 Thiết lập mối quan hệ giữa các bảng dữ
liệu (Relationships)
- Tại cửa sổ Database, thực hiện
lệnh Tools/Relationship
- Trong cửa sổ Show Table chọn
Table và chọn các bảng cần thiết lập quan
hệ, sau đó chọn Add và Close.
- Kéo trường liên kết của
bảng quan hệ vào trường của bảng
được quan hệ (Table related)
Trang 18• Trường hợp vi phạm các quy tắc trên thì sẽ nhận được thông báo lỗi.
Ví dụ: Thiết lập quan hệ cho các bảng như sau
2.4.2 Xem và điều chỉnh các quan hệ đã có trong cơ sở dữ liệu.
- Xem các quan hệ đã có: chọn nút trên Relationships trên thanh
công cụ
- Muốn sửa các quan hệ:
Chọn hiển thị các quan hệChọn quan hệ cần sửa (nhắp chuột tại đường nối giữa 2 bảng)
Chọn trên menu Relationships/Edit Relationships
- Xóa quan hệ: Chọn quan hệ cần xóa, bấm phím Delete
2.4.3 Tùy chọn Cascade Update và Cascade Delete.
Trang 19Chương 2: Bảng (Table)
Trong khi chọn mối quan hệ giữa các bảng, có 2 thuộc tính tham chiếu
toàn vẹn đó là Cascade update related fields,Cascade Delete related records,
có thiết lập 2 thuộc tính này.
Nếu chọn thuộc tính Cascade update related fields, khi dữ liệu trên khoá
chính của bảng bên một thay đổi thì Access sẽ tự động cập nhật sự thay đổi đóvào các trường tương ứng (có quan hệ) trên các bảng bên Nhiều, hay nói cáchkhác, dữ liệu ở bảng bên nhiều cũng thay đổi theo
Nếu chọn thuộc tính Cascade Delete related records, khi dữ liệu trên
bảng bên một bị xoá thì dữ liệu trên bảng bên nhiều cũng sẽ bị xoá
Trang 20Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
CHƯƠNG III:
CHỈNH SỬA CẤU TRÚC VÀ TINH CHẾ BẢNG
3.1 Thiết lập các đặc trưng trường (thuộc tính trường)
3.1.1 Điều chỉnh kích thước trường (Field Size) :
- Đối với dữ liệu kiểu chuỗi, chọn kích thước tối đa của dữ liệu
- Đối với dữ liệu kiểu số, chọn 1 trong các loại có ý nghĩa như sau:
Hình 2.4 Quy định khuôn dạng hiển thị dữ liệu cho một trường của bảng
Quy định dạng hiển thị dữ liệu, tùy thuộc vào từng kiểu dữ liệu.
Trang 21Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Hiển thị chuỗiKhông cóKhông biết
Kiểu Number
Trang 22Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Định dạng do ACCESS cung cấp
Dạng Dữ liệu Hiển thị
GeneralNumber
<Phần 1>:Chuỗi định dạng tương ứng trong trường hợp số dương
<Phần 2>: Chuỗi định dạng tương ứng trong trường hợp số âm
<Phần 3>: Chuỗi định dạng tương ứng trong trường hợp số bằng zero
<Phần 4>: Chuỗi định dạng tương ứng trong trường hợp null
Số dương hiển thị bình thường
Số âm được bao giữa 2 dấu ngoặc
Số zero bị bỏ trống
Trang 23Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Null hiện chữ Null+0.0;
-0.0;
0.0
Hiển thị dấu + phía trước nếu số dươngHiển thị dấu - phía trước nếu số âmHiển thị 0.0 nếu âm hoặc Null
Kiểu Date/Time
Các kiểu định dạng do ACCESS cung cấp
Các ký tự định dạng
General date 10/30/99 5:10:30PMLong date Friday, may 30 ,
Trang 24Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
<Phần 2>: Trường hợp giá trị trường đúng
<Phần 3>: Trường hợp giá trị trường sai
Ví dụ
Trang 25Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Trường hợp
3.1.3 Tạo mặt nạ nhập cho dữ liệu (Input Mask) :
Để quy định khuôn dạng nhập liệu cho bảng, ta có thể gõ trực tiếp các
mã quy định cho khuôn dạng (xem chi tiết trong bảng Các ký hiệu dùng choInput Mask) hoặc chọn nút ở dòng Input Mask và dùng công cụ Input MaskWizard để chọn khuôn dạng (Hình 2.5)
Bảng các ký hiệu dùng làm Input Mask
< Các ký tự bên phải được đổi thành chữ thường
> Các ký tự bên phải được đổi thành chữ hoa
\<Ký tự> Ký tự theo sau \ sẽ được đưa thẳng vào
Trang 26Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Hình 2.5 Cửa sổ Input Mask Wizard
Ví dụ
Input mask Dữ liệu nhập vào
3.1.4 Thuộc tính Required (Trường bắt buộc phải có số liệu) :
Thuộc tính này nếu đặt là Yes thì bắt buộc nhập dữ liệu cho trườngtương ứng mà không được bỏ trống
3.1.5 Thuộc tính Default Value (Giá trị mặc nhiên của trường ) :
Trong truờng hợp muốn quy định một giá trị mặc định cho một trường ta
gõ giá trị mặc định vào dòng Defalt Valid trong mục Field Properties của cửa
sổ thiết kế cấu trúc cho bảng; giá trị này có thể là một hằng hay một hàm cósẵn của Access Basic (nhưng không chấp nhận các hàm người dùng) Giá trịnày sẽ là giá trị ngầm định cho trường khi nhập dữ liệu Nếu cần ta có thể nhậpgiá trị khác giá trị ngầm định của truờng
3.1.6 Giá trị rỗng và chuỗi rỗng:
Một trường chứa giá trị rỗng (null) tức là tr ường chưa có dữ liệu.Một trường chứa chuỗi có độ dài bằng 0 tức là trường có dữ liệu nhưng chuỗirỗng “”
3.1.7 Thuộc tính Validation Ruler và thuộc tính Validation text :
Quy định quy tắc hợp lệ dữ liệu (Validation rule) để giới hạn giá trị nhậpvào cho một trường Khi giới hạn này bị vi phạm sẽ có câu thông báo ởValidation text
Các phép toán có thể dùng trong Validation rule
Trang 27Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
Phép so sánh >, <, >=, <=, =, <>
Phép toán về chuỗi Like, In, Between Giống như, trong,
3.3 Thuộc tính bảng
Mở bảng ở chế độ Design View,
chọn View/Properties
Description: Dòng mô tả bảng
Validation Rule: Quy tắc hợp lệ dữ
liệu cho toàn bảng
Validation Text: Thông báo lỗi khi
dữ liệu không hợp lệ
3.4 Qui tắc hợp lệ đối với mẫu tin
- Khi tiến hành nhập những mẫu tin mới phải nhập đúng với thuộc tính
đã thiết lập cho trường, lúc đó mẫu tin mới được xem là hợp lệ
- Nếu bạn nhập mẫu tin có giá trị ở trường nào đó có độ dài lớn hơn độdài đã được thiết lập cho thuộc tính Field Size, thì Access sẽ thông báo:
Trang 28Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
3.6 Thay đổi cấu trúc bảng đã có dữ liệu
3.6.1 Cập nhật những đối tượng cơ sở dữ liệu
- Khi thêm một trường vào bảng hay xoá một trường khỏi bảng, cần phải thêmhay xoá trường đó ra khỏi truy vấn, biểu mẫu, báo cáo,… dựa trên nền củabảng đó Nếu đổi tên phải trường phải đổi tên đó bất cứ chỗ nào có tham chiếuđến trường đó
- Cần kiểm tra tham chiếu đến trường vừa được thay đổi ở những nơi sau:
+ Các trường tính toán trong các truy vấn
+ Thuộc tính ControlSource trong các báo cáo và biểu mẫu
+ Các thuộc tính khác của biểu mẫu và báo cáo như Validation Rule hayLink Master Field
Trang 29Chương 3: Chỉnh sửa cấu trúc và tinh chế bảng
+ Các biểu thức trong Macro và Module
3.6.2 Thay đổi kiểu dữ liệu
- Kích hoạt Table ở cửa sổ Design View
- Chọn trường cần thay đổi kiểu dữ liệu
- Chọn kiểu dữ liệu thích hợp
- Lưu bảng tính
3.6.2 Các lỗi thường gặp khi thay đổi cấu trúc bảng
Khi thay đổi cấu trúc của bảng bạn cần chú ý đến việc thay đổi thuộctính của các trường, tên trường, phải thống nhất giữa các bảng có thiết lậpquan hệ Nếu không Access sẽ thông báo lỗi sau khi bạn thay đổi cấu trúc của
bảng:
3.7 Một số hàm thường dùng trong ACCESS :
Hàm Left$(<Chuỗi>,<n>): Trích bên trái chuỗi n ký tự.
Hàm Right$(<Chuỗi>,<n>): Trích bên phải chuỗi n ký tự.
Hàm Ucase(<Chuỗi>): Trả lại một chuỗi in hoa.
Hàm Lcase(<Chuỗi>): Trả lại một chuỗi in thường.
Hàm IIF(<Điều kiện>,<Giá trị 1>,< Giá trị 2>): Nếu <Điều kiện>
nhận giá trị true thì hàm trả lại <Giá trị 1>, ngược lại hàm trả lại <Giá trị 2>.Ứng dụng của các hàm này vào việc lọc dữ liệu
Trang 30Chương 4: Truy vấn (Query)
CHƯƠNG IV: TRUY VẤN (QUERY)
Sức mạnh thực sự của CSDL là khả năng tìm đúng và đầy đủ thông tin
mà chúng ta cần biết, trình bày dữ liệu sắp xếp theo ý muốn Để đáp ứng yêucầu trên, Acces cung cấp một công cụ truy vấn cho phép đặt câu hỏi với dữ liệuđang chứa bên trong các bảng trong CSDL
4.1 Khái niệm về truy vấn và các loại truy vấn
Ví dụ:
Cho 2 bảng dữ liệu KHOHANG (MAHANG, TENHANG, GIA)
BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA) Hãy hiểnthị những khách hàng mua hàng trong tháng 7 bao gồm các thông tin:MAHANG, TENHANG, GIA, TENKHACH
Sau khi thực hiện truy vấn, dữ liệu thỏa mãn yêu cầu được rút ra và tậphợp vào một bảng kết qủa gọi là Dynaset (Dynamic set) Dynaset cũng hoạtđộng như 1 bảng (Table) nhưng nó không phải là bảng và kết quả khi hiển thị
có thể cho phép sửa đổi
Một loại bảng thể hiện kết quả truy vấn khác là Snapshot, nó tương tựnhư dynaset tuy nhiên không thể sửa đổi thông tin ( Như truy vấn Crosstab )
4.1.2 Các loại truy vấn
Select Query : Truy vấn chọn
Crosstab Query : Truy vấn tham khỏa chéo (Thể hiện dòng và cột)
Action Query : Truy vấn hành động gồm
Truy vấn tạo bảng (make table Query )
Truy vấn nối (append Query )
Truy vấn cập nhật ( Update Query )
Truy vấn xóa dữ liệu ( Delete Query )
SQL Query : Truy vấn được viết bởi ngôn ngữ SQL
Trang 31Chương 4: Truy vấn (Query)
Pass throught Query : Gởi các lệnh đến một CSDL SQL như MicrosoftSQL server
4.2 Cách tạo truy vấn
4.2.1 Tạo truy vấn “Query Wizard”
Trong cửa sổ database, chọn Queries, chọn lệnh New, xuất hiện hộp thoại NewQuery:
Chọn Simple Query Wizard, nhấn OK, xuất hiện Simple Query Wizard:
Ở hộp Table/Queries: Chọn bảng chứa các trường đưa vào Query
Ở hộp Available fields: Chứa các trường có trong bảng được chọn
Chọn trường cần đưa vào Query rồi nhấn nút >; muốn chọn tất cả các trườngthì nhấn nút >>
Nhấn Next, xuất hiện hộp thoại Wizard thứ hai (hình 4.3) nếu như bạn đã chọncác trường số để đưa vào Query ngược lại sẽ xuất hiện hình 4.4:
Hình 4.1 Hộp thoại New Query
Hình 4.2 Hộp thoại Simple Qery Wizard đầu tiên
Trang 32Chương 4: Truy vấn (Query)
Nhập tiêu đề mới cho Query trong hộp What title do you want for your query?Nếu bạn muốn hiển thị query thì chọn Open the query to view information để
mở query trong chế độ hiển thị datasheet
Chọn Modify the query design để mở query trong chế độ hiển thị design
Nhấn nút finish để hoàn thành
4.2.2 Tạo truy vấn “From Scratch Method”
Hình 4.3 Hộp thoại thứ hai của Simple Query Wizard nếu chọn trường số
Hình 4.4 Hộp thoại cuối cùng của Simple Query Wizard
Trang 33Chương 4: Truy vấn (Query)
Trong cửa sổ database, chọn Queries, chọn lệnh New, xuất hiện hộpthoại New Query -> Design Query:
Access mở cửa sổ Select Query đồng
thời với hộp thoại Show Table, chọn
Table/Query có chứa dữ liệu cần thiết cho
Tham gia vào truy vấn
Chọn các trường tham gia vào truy
vấn trong hộp Field
Để nêu điều kiện cho trường nào thì
Gõ điều kiện tại dọng Criteria của trường đó
Muốn sắp xếp thự tự thì chọn tại dòng
Sort, chọn Ascending (tăng dần), Descending (giảm dần)
Để che không cho trường nào xuất hiện trong Query thì tại dòng Showtắt thuộc tính Show
Chọn nút Close để đóng và lưu Query
Như vậy bạn vừa tạo xong một Query theo kiểu “Select Query”
Ví dụ:
4.3 Một số xử lý khi thực hiện truy vấn
4.3.1 Chọn trường và thêm trường vào truy vấn
Trang 34Chương 4: Truy vấn (Query)
Mở query trong chế độ hiển thị design:
Trong ô Field chọn trường cần đưa vào query
Trong ô Table chọn bảng chứa trường cần đưa vào query
Đánh dấu chọn trong ô Show để hiển thị trường được chọn trong query
4.3.2 Sắp xếp lại, chèn và xóa các trường
1 Sắp xếp lại các trường
- Chọn trường cần thay đổi vị trí
- Rê đến vị trí mới, thả chuột
- Kéo chuột để tăng, giảm độ rộng của trường cho phù hợp rồi thả chuột
4.3.4 Thể hiện tên bảng trong vùng lưới QBE
Trang 35Chương 4: Truy vấn (Query)
Muốn biết tên trường hiện tại trong vùng lưới QBE là của tên bảng nào,tại chế độ Design View người sử dụng thực hiện View/tables name
4.3.5 Xem bảng kết quả của truy vấn.
Tại cửa sổ Database chọn tên truy vấn rồi chọn Open, hoặc trong khithiết kế truy vấn thực hiện lệnh View/datasheet View
4.3.6 Đổi tên trường trong truy vấn.
Đổi tên trường trong truy vấn mục đích là làm cho bảng kết xuất dễ đọchơn (Trừ khi đã quy định thuộc tính Caption)
Muốn đổi tên tiêu đề cột thực hiện theo các bước sau:
- Mở truy vấn ở chế độ Design View
- Chọn vào bên trái ký tự đầu tiên của tên trường trong vùng lưới QBE
- Gõ vào tên mới, theo sau là dấu 2 chấm (:)
4.3.7 Định thứ tự sắp xếp
Có thể sử dụng nhanh trong chế độ datasheet View
Có thể tạo sắp xếp trong khi thiết kế truy vấn bằng cách chọn Ascending(tăng dần) hoặc Descending (giảm dần) trong hàng Sort của vùng lưới QBE
Chú ý: Nếu có nhiều trường định vị sắp xếp thì theo thứ tự ưu tiên từ trái sang phải.
Trang 36Chương 4: Truy vấn (Query)
4.3.8 Lập tiêu chuẩn chọn lựa (Criteria)
1 Chọn một nhóm các bản ghi thỏa mãn một điều kiện nào đó
Muốn thực hiện các phép chọn trong khi thể hiện truy vấn người tathường sử dụng các phép toán sau:
Trong ngày 10/10/97Between
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có ngaysinhtrong khoảng thời gian từ 05/0784 đến 10/09/85 bao gồm các trường: Tenlop,Masv,Hotensv, Ngaysinh
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấnĐưa các trường Tenlop, Masv, hotensv, ngaysinh vào vùng lưới QBETrong hàng Criteria của trường Ngaysinh: Between #05/02/84# and
#10/09/85#
Trang 37Chương 4: Truy vấn (Query)
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có Tenlop bắt đầu là
"T" bao gồm các trường: Tenlop, Hotensv, Ngaysinh,
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh vào vùng lưới QBE
Trong hàng Criteria của trường Tenlop: Like "T*"
3 Chọn các bản ghi không phù hợp với một giá trị nào đó
Dùng toán tử Not
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Tenlopkhông bắt đầu là "T" bao gồm các trường: Tenlop, Hotensv, Ngaysinh,
Trang 38
Chương 4: Truy vấn (Query)
4 Định nhiều tiêu chuẩn trong lựa chọn
Dùng phép “Và” và phép “Hoặc” trong một trường
Muốn quy định nhiều tiêu chuẩn trong cùng một trường, chúng ta phải
sử dụng toán tử AND (và ) cùng toán tử OR (hoặc)
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là
"Nguyễn" và Tên "Thuỷ" bao gồm các trường: Tenlop, Hotensv, Ngaysinh.Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh vào vùng lưới QBE
Trong hàng Criteria của trường Hotensv : Like "Nguyễn *" and "* Thuỷ"
Dùng phép “Và” và phép “Hoặc”trên nhiều trường
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là
"Nguyễn" và tên "Thuỷ" và có quê quán ở "Huế" bao gồm các trường: Tenlop,Hotensv, ngaysinh Quequan
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, quequan vào vùng lưới QBE
Trong hàng Criteria của trường Hotensv: Like "Nguyễn *" and "* Thuỷ",trường Quequan: Huế
Trang 39Chương 4: Truy vấn (Query)
Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là "Lê"hoặc có quê quán ở "Đà Nẵng bao gồm các trường: Tenlop, Hotensv,Ngaysinh, Quequan
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, Quequan vào vùng lưới QBE
Trong hàng Criteria của trường Hotensv : Like "Lê *" Trong hàng or củatrường Quequan : Đà Nẵng
Trang 40Chương 4: Truy vấn (Query)
5 Chọn các bản ghi có chứa có giá trị
Chúng ta có thể chọn các bản ghi có chứa hoặc không chứa giá trị, chẳng hạnnhư tìm những sinh viên mà không có số điện thoại nhà ở
Access cung cấp 2 phép toán
Ví dụ:
Tạo một truy vấn để hiển thị danh sách những sinh viên không có học bổng baogồm các trường: Tenlop, Hotensv, hocbong
6 Chọn các bản ghi thuộc danh sách các giá trị nào đó
Chúng ta có thể sử dụng phép toán IN (Danh sách giá trị)
Ví dụ
Tạo một truy vấn để hiển thị danh sách những sinh viên thuộc lớp "TTH05"hoặc "CT04A" hoặc "CT04B" bao gồm các trường: Tenlop, Hotensv, hocbong