Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1 MB, 242 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
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.
<b>Kích nút Start trên Taskbar của Windows</b>
<b>Di chuyển trỏ chuột đến All Program, một </b>
menu con xuất hiện
<b>Di chuyển trỏ chuột đến Microsoft Office </b>
<b>Tools, một menu con nữa xuất hiện</b>
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
<b>Thanh tiêu đề: Bao gồm tên của phần cửa sổ (Microsoft </b>
Access) và ba nút điều khiển cửa sổ (thu nhỏ, phóng to, đóng).
<b>Thanh Menu chính:</b>
<b>Các thanh cơng cụ: Trong Access có rất nhiều thanh công cụ, </b>
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
<b>View/Toolbars/Customize ... và chọn tên thanh công cụ cần </b>
hiển thị.
<b>Vùng làm việc: Chứa tất cả các cửa sổ của các đối tượng dữ </b>
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,
B3: Đặt tên cho Database
vào mục File name
<b>1. Nếu thanh tác vụ đã được </b>
<b>mở:</b>
B1: Kích chọn tên CSDL
<b>cần mở trong mục Open </b>
<b>a file hoặc kích vào </b>
<b>More file… , trên màn </b>
hình xuất hiện hộp thoại
<b>Open</b>
B2: Chọn tên CSDL cần
<b>B1: Trên menu File, kích Open , xuất </b>
<b>hiện hộp thoại Open</b>
B2: Chọn tên CSDL cần mở (Giống như
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), …
<b>1. Wizard</b>
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.
<b>2. Expresion Builder</b>
Là bộ công cụ thuận tiện nhất để tạo các biểu thức, đặc biệt
<b>1. Bảng (Table): </b>
<b>- Bảng là cấu trúc cơ bản nhất của CSDL quan hệ. Mỗi bảng </b>
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.
<b>2. Tên trường (Field name): được dùng để mô tả mục </b>
dữ liệu cần lưu trữ. Mỗi bảng khơng thể có hai tên
cột trùng nhau
<b>3. Kiểu dữ liệu (Data type): kiểu được dùng để gán </b>
cho dữ liệu chứa trong cột
<b>4. Thuộc tính trường (Field Property): là tập hợp các </b>
đặ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,…
<b>5. Thuộc tính bảng (Table Property): là tập hợp các </b>
<b>6. Khố chính (Primary key): Một hay nhiều trường </b>
dùng để nhận dạng duy nhất từng dòng trong bảng
dữ liệu gọi là khố chính. Mỗi bảng có một khố
chính. Dữ liệu trong khố chính phải là duy nhất cho
<b>7. Khóa kết nối: Trong 1 CSDL thường có nhiều bảng, </b>
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 vng ([])
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.
<b>1). Text: các từ hoặc số khơng được sử dụng trong các </b>
phép tính. Chiều dài tối đa cho kiểu text là 255 kí tự
<b>2). Memo: một trường mở sử dụng cho các lời ghi chú</b>
<b>3). Number: Các số âm hoặc dương</b>
<b>4). Date/Time: Ngày tháng, thời gian</b>
<b>5). Currency: tiền tệ</b>
<b>6). AutoNumber: một trường số được tự động nhập </b>
vào
<b>1. Bước 1: Mở cửa sổ thiết kế bảng (Table Design)</b>
<b>Cách 1: Từ cửa sổ Database, trong mục Object chọn Tables/ </b>
<b>Chọn Design view/OK</b>
<b>2. Bước 2: Thiết kế các trường (cột ) của bảng</b>
Trong 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:
<b>Nhập tên trường trong mục Field name:</b>
Đặt trỏ chuột vào dịng bất kì của cột Field name
Gõ tên trường
<b>Chọn kiểu dữ liệu của trường trong mục Data Type</b>
Kích vào dấu mũi tên xuống, xuất hiện danh sách kiểu dữ
<b>Nhập các thuộc tính của trường trong phần General </b>
<b>và phần Lookup (trình bày ở phần sau)</b>
<b>Nhập thuộc tính của bảng trong phần Table </b>
<b>Properties (trình bày trong phần sau) </b>
Xác định khố chính:
Đánh dấu các trường trong khố chính
Kích hoạt biểu tượng chìa khóa hoặc chọn menu
<b>Edit/Primary key, khi đó xuất hiện biểu tượng chìa khố </b>
<b>3. Bước 3: Ghi lại cấu trúc bảng vừa tạo</b>
Chọn biểu tượng đĩa mềm trên thanh công cụ. Hộp thoại
<b>Save As xuất hiện</b>
<b>1. Field size: số kí tự tối đa để lưu trữ dữ liệu trong </b>
trường.
<b>2. Format: khuôn dạng của dữ liệu khi hiển thị </b>
<b>3. Decimal Places: dùng cho các trường Number và </b>
Currency để xác định số chữ số được hiển thị và số
chữ số sau dấu thập phân
<b>4. Input mask: Khuôn dạng của dữ liệu nhập. Đó là xâu </b>
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
?: 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 “”
<b>7. Validation Rule : qui định ràng buộc về dữ liệu nhập </b>
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,...
<b>8. Validation Text: Thông báo khi dữ liệu nhập vào </b>
<b>9. Lookup- tham chiếu: Khi muốn ràng buộc để dữ liệu của </b>
trường này chỉ nhận các giá trị của một trường nào đó
<b>trong 1 bảng khác, ta khai báo trong Lookup.</b>
Trong trang Lookup cần khai báo các thông số sau:
<b>Display Control: Chọn Listbox hoặc Combobox </b>
<b>Row Source Type: Kiểu nguồn dữ liệu, dạng bảng hoặc </b>
danh sách giá trị
<b>Row Source: Nguồn dữ liệu, tên bảng truy vấn hay danh </b>
sách giá trị
<b>Bound Column: Số thứ tự của cột được tham chiếu đến(cột </b>
Khi các ràng buộc dữ liệu liên quan đến nhiều
<b>trường trong bảng, ta phải xác định tại Table </b>
<b>Properties.</b>
<b>Từ cửa sổ Table Design, kích phải chuột, chọn </b>
<b>Properties</b>
<b>Xuất hiện cửa sổ Table Properties cho phép đặt </b>
<b>ràng buộc (tương tự như Fields Properties) </b>
<b>Chỉnh sửa bảng:</b>
Mở bảng cần chỉnh sửa trong Design View
Chọn bảng và kích nút Design
<b>Chèn trường:</b>
Chọn hàng bên dưới vị trí ta muốn chèn
Kích Insert Rows
<b>Đổi tên trường:</b>
Chọn tên trường cần đổi
Nhập tên mới cho trường
<b>Thay đổi kiểu dữ liệu:</b>
Kích vào cột DataType của trường cần đổi
Kích mũi tên xổ xuống
<b>Di chuyển trường:</b>
Kích chọn trường cần di chuyển
Rê kéo đến vị trí mới rồi nhả chuột
<b>Chỉnh kích cỡ hàng</b>
Vào menu Format/Row Height, xuất hiện hộp thoại
Row Height
<b>Dấu cột:</b>
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
<b>Hiện cột:</b>
Vào menu Format/Unhide Columns
<b>Xóa bản ghi:</b>
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
<b>Thay đổi độ rộng cột</b>
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
<b>Nhập dữ liệu sử dụng Edit Mode:</b>
Mở bảng trong Datasheet View
<b>Sửa đổi dữ liệu:</b>
<b>Chỉnh sửa toàn bộ nội dung của một trường:</b>
Đặ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, tồn bộ trường được chọn
Nhập thông tin mới
<b>Chỉnh sửa một phần nội dung trường:</b>
<b>Tìm kiếm</b>
Kích trên trường cần tìm kiếm
<b>Kích nút Edit/ Find. hộp thoại Find and </b>
<b>Replace xuất hiện</b>
<b>Nhập dữ liệu cần tìm vào ô Find What</b>
<b>Thay thế dữ liệu:</b>
Kích vào trường ta muốn thay thế dữ liệu
<b>Kích menu Edit/Replace, hộp thoại Find and Replace xuất hiện</b>
<b>Nhập dữ liệu sẽ được thay thế trong hộp Find What</b>
<b>Nhập dữ liệu thay thế trong hộp Replace with</b>
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
<b>Sắp xếp dữ liệu</b>
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
<b>Kích nút Record/ Sort Ascending để sắp tăng dần hoặc </b>
<b>Sort Descending để sắp xếp giàm dần</b>
<b>Hủy bỏ việc sắp xếp:</b>
<b>Vào menu Record/Remove Filter/Sort. Thứ tự sắp xếp </b>
<b>Lọc bằng sự lựa chọn-Filter by Selection:</b>
Kích lên ơ có giá trị trường bằng giá trị cần lọc
<b>Kích lên nút Record/Filter by Selection. Sau </b>
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ị.
<b>Để xóa lọc, kích nút Record/Remove Filter. Nút </b>
<b>này sẽ trở thành Apply Filter</b>
<b>Lọc bằng Form-Filter by Form: Lọc dữ liệu </b>
bằng Form cho phép lọc dựa trên nhiều hơn 1
điều kiện:
<b>Kích nút Record/Filter by Form.</b>
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
<b>Kích nút Record/Apply Filter. Kết quả lọc sẽ </b>
xuất hiện trong bảng
<b>Đưa bảng vào cửa sổ Relationship:</b>
Trên thanh công cụ của cửa sổ Access, kích
<b>Tools/Relationship, xuất hiện hộp thoại Show Table</b>
<b>Kích chọn tên các bảng cần thiết lập quan hệ, kích Add</b>
<b>Kích Close để đóng hộp thoại</b>
<b>Tạo quan hệ:</b>
Kích chọn trường muốn tạo kết nối trong bảng 1(Bảng ở
<b>Loại bỏ quan hệ:</b>
Kích chọn đường liên kết
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
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ố
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
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
•
•
•
<b>2. Import Table từ Excel </b>
• Mở cửa sổ CSDL đích (CSDL cần gắn bảng vào)
• <b>Kích phải chuột / Import…</b>
• <b>Trong cửa sổ Import, trong mục Files of type, chọn </b>
<b>Microsoft Excel</b>
• <b>Chọn file excel cần lấy dữ liệu / Import.</b>
• 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
<b>1. Export Table sang CSDL khác </b>
• 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
• <b>Kích phải chuột / Export…</b>
• Chọn đường dẫn đến CSDL đích (CSDL cần gắn bảng
vào)
•
•
•
• Để 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
<b>1. Tác dụng của Query</b>
Dùng để trả lời các câu hỏi có tính chất tức thời
<b>2. Các loại Query:</b>
Select query, Parameter query, Crosstab query,
Action query.
Hầu hết các query được sử dụng trong các CSDL
<b>được gọi là các Select query bởi vì chúng chọn các </b>
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
<b>1. Toán tử số học:</b>
<b>+: Cộng 2 toán hạng ([luong]+[phucap])</b>
<b>-: Trừ 2 toán hạng (Date()-30)</b>
<b>-(toán tử đơn): thay đổi dấu của toán tử đơn </b>
(-123)
<b>*: nhân 2 toán hạng ([heso]*[luong])</b>
<b>/: chia 2 toán hạng (15.2/12.5)</b>
<b>\: chia 2 toán hạng nguyên (5\2)</b>
<b>Mod: trả về số dư của phép chia 2 số nguyên (5 </b>
mod 2)
<b>AND: và (True and False=False,True and </b>
True=True)
<b>Like: xác định 1 chuỗi có bắt đầu bằng 1 hay nhiều </b>
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*”)
<b>In: Xác định 1 giá trị chuỗi có thuộc vào danh sách </b>
giá trị hay không (in(“A”,”B”,”C”))
<b>Date(): trả về ngày hiện tại của hệ thống</b>
<b>Day(exp):trả về ngày của biểu thức exp </b>
(Day(#7/15/2005#)=15)
<b>Month(exp): trả về tháng của bt exp </b>
(Month(#7/15/2005#)=7))
<b>Format(exp):Định dạng bt theo các dạng thức thích </b>
hợp (Format(Date(),”dd-mm-yyyy”))
<b>LCase(exp):Trả về chữ thường của exp</b>
<b>UCase(exp): Trả về chữ hoa của exp</b>
<b>LTrim(exp): xóa các dấu cách ở đầu chuỗi</b>
<b>RTrim(exp): xóa các dấu cách ở cuối chuỗi</b>
<b>Trim(exp): xóa các dấu cách ở đầu và cuối chuỗi</b>
<b>Str(exp):Chuyển 1 số thành chuỗi</b>
<b>Bước1: Trong cửa sổ Database, trong mục Object kích </b>
<b>chọn đối tượng Query.</b>
Có 2 cách sau:
<b>- Kích chọn New/Design View/OK</b>
<b>- Kích đúp vào dịng Create query in Design View. </b>
<b>Bước 2: Sau bước 1, Hộp thoại Show table xuất hiện cho </b>
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).
<b>Kích nút Add/Close</b>
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ường
Show: hiển thị trường trong kết quả của query
Criteria: các điều kiện để lọc bản ghi
Or: dùng khi có điều kiện OR
<b>Bước 3: Lựa chọn các trường cần hiển thị trong kết quả </b>
<b>Bước 4: Thực hiện truy vấn theo 1 trong 2 cách:</b>
<b>- Chọn biểu tượng ! trên thanh công cụ</b>
<b>- Trên thanh menu chọn Query/Run</b>
<b>Bước 5: Ghi lại truy vấn nếu muốn bằng 1 trong 2 </b>
cách:
<b>Cách tạo: Giống nhu cách tạo truy vấn đã trình bày </b>
<b>trong mục III.</b>
<b>Ví dụ 2: Đưa ra tồn bộ thơng tin về các nhân viên nữ </b>
<b>Ví dụ 3: Đưa ra tên, phịng của các nhân viên đủ tiêu chuẩn </b>
<b>Ví dụ 4: Tìm họ tên, tên phòng của các nhân viên biết tiếng </b>
<b>Cách tạo:</b>
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 tốn
<b>bằng cách kích chọn biểu tượng Total (dấu </b>
xíchma) trên thanh cơng cụ hoặc trên thanh menu
<b>chọn View/Total</b>
<b>Trong mục Total có những lựa chọn sau:</b>
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 tốn đi kèm với các hàm
<b>Ghi chú: Để tạo 1 trường mới trong query:</b>
<b>Trong mục Field, gõ tên trường mới theo cấu trúc </b>
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 vng [].
Ví dụ: tạo ra trường THUONG có giá trị bằng 1.5
LUONG, ta viết như sau:
Ví dụ 4: Đưa ra bảng tổng hợp lương trong cơ quan bao gồm:
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
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
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
<b>Kích chọn trên thanh menu Query/Make Table Query</b>
<b>Đặt tên cho bảng mới trong khung Table Name của hộp </b>
<b>thoại Make Table</b>
Nếu bảng mới sẽ nằm trong CSDL hiện thời thì chọn
Ví dụ 1: Tạo bảng NAM để lưu những nhân viên là nam giới
<b>Ví dụ 2: Lưu trữ những nhân viên có lương từ 1500000 đến </b>
2000000 hoặc sinh trước năm 1975 vào bảng mới có tên LUU
<b>Ví dụ 3: Lưu trữ những nhân viên có trình độ ngoại ngữ là </b>
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.
<b>Cách tạo:</b>
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.
<b>Chọn Query/Append Query</b>
<b>Chọn bảng cần bổ sung thông tin trong mục Table </b>
<b>Name/OK</b>
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.
Ví dụ 1:Đưa vào bảng LUU (đã có) thơng tin về nhân viên mới,
Tạo truy vấn thông thường
<b>Trên hộp thoại Show Table chọn các bảng liên </b>
quan đến điều kiện loại bỏ và 1 bảng cần loại bỏ
các bản ghi
<b>Trên menu, kích chọn Query/Delete query. </b>
<b>Trên khung lưới xuất hiện dịng Delete trong đó </b>
Ví dụ 1: Xóa thơng tin về nhân viên có MANV nhập từ bàn
Ví dụ 2: Xóa bỏ thơng tin về trình độ ngoại ngữ của nhân viên
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
<b>Trên thanh menu chọn Query/Update Query</b>
<b>Trên khung lưới xuất hiện dòng Update To dùng </b>
Ví dụ 1: Những nhân viên vào biên chế trước 1/1/1995 thì tăng
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
<b>Trên thanh menu chọn Query/Crosstab Query</b>
<b>Chọn trường để nhóm theo hàng(Row </b>
Heading-tiêu đề hàng)
<b>Chọn trường để nhóm theo cột (Column </b>
<b>Heading-tiêu đề cột)</b>
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
<b>1).Cú pháp</b>
Cú 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 >
Cú pháp:
SELECT <danh sách tên cột>
FROM <tên bảng>
<b>Ví dụ 1: Cho biết thơng tin về các nhân viên</b>
select MANV, HOTEN, GTINH, LUONG, MAPHONG
From NHANVIEN
Cú pháp:
SELECT <danh sách tên cột>
FROM <tên bảng>
WHERE <biểu thức logic>
<b>Ví dụ 2: Cho biết MANV, họ tên của các nhân viên </b>
nữ
select MANV, HOTEN
From NHANVIEN
Where GTINH=False
<b>Ví dụ 3: Cho biết thơng tin của những nhân viên có </b>
lương >1.000.000
Select *
From NHANVIEN
<b>4).Tìm kiếm với BETWEEN</b>
Cú pháp:
SELECT <danh sách tên cột>
FROM <tên bảng>
<b>Ví dụ 4 : Đưa ra thơng tin của các nhân viên có lương </b>
từ 200.000 đến 700.000
Select *
From NHANVIEN
<b>5).Tìm kiếm với IN</b>
Cú 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>)
<b>Ví dụ 5: Đưa ra thơng tin về các nhân viên có mã phịng </b>
<b>6).Tìm kiếm với LIKE</b>
Cú 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
<b>Ví dụ 6: Tìm những nhân viên có họ “Nguyễn”</b>
Select *
From NHANVIEN
<b>7). Sử dụng phép tốn số học</b>
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à +, -, *, /
<b>Ví dụ 7: Cho biết Họ tên và lương mới của các nhân </b>
viên nữ nếu lương của họ được tăng thêm 10%
Select HOTEN, LUONG+ LUONG*0.1
From NHANVIEN
<b>8). Các hàm trong SQL:</b>
<b>COUNT: đếm số các giá trị trong cột </b>
<b>SUM: tính tổng các giá trị trong cột (số)</b>
<b>AVG: tính trung bình cộng các giá trị trong cột </b>
(số)
Select COUNT (MANV)
From NHANVIEN
Where MAPHONG=“PDT”
<b>9). Sử dụng mệnh đề GROUP BY và HAVING</b>
<b>SQL sử dụng mệnh đề GROUP BY<tên thuộc </b>
<b>tính> để tìm kiếm theo nhóm các bản ghi có cùng </b>
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
<b>Ví dụ 11: Cho biết số người của từng phịng</b>
Select COUNT (MANV)
From NHANVIEN
Group by MAPHONG
<b>Ví dụ 12: Cho biết lương cao nhất trong từng phòng </b>
và tổng lương của từng phòng
Select MAPHONG,MAX(LUONG) AS Max_luongphong,
SUM(LUONG) AS tong_luongphong
From NHANVIEN
<b>Ví dụ 13 : Đưa ra mã phòng và tổng lương của các </b>
phịng có tổng lương >4000000
Select MAPHONG, sum(LUONG)
From NHANVIEN
Group by MAPHONG
<b>10). Kết nối các bảng:</b>
- 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
<b>bảng>.<tên thuộc tính chung></b>
<b>- Cú pháp:</b>
SELECT <danh sách cột>
FROM <bảng1>, <bảng2>
<b>Ví dụ 14: Cho biết mã nhân viên, họ tên, lương của các nhân viên </b>
phòng DAOTAO
Select MANV, HOTEN, LUONG
From NHANVIEN, PHONG
Where NHANVIEN.MAPHONG=PHONG.MAPHONG And
TENPHONG=“DAOTAO”
<b>Ví dụ 15: Cho biết mã nhân viên, họ tên của các nhân viên phòng </b>
DAOTAO và có trình độ ngoại ngữ C
Select MANV, HOTEN
From NHANVIEN, PHONG, TDNN
<b>11).Truy vấn lồng nhau:</b>
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.
<b>Ví dụ 16: Đưa ra danh sách nhân viên phòng TAIVU</b>
Select *
From NHANVIEN
<b>Ví dụ 17: Đưa ra thơng tin về người có lương cao </b>
nhất
Select *
From NHANVIEN
<b>8). Các lượng từ:</b>
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
<b>Ví dụ 18: Cho biết thông tin về những nhân viên biết ngoại </b>
ngữ
Select *
From NHANVIEN
Where Exists (Select *
From TDNN, NHANVIEN
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ị>
<b>Ví dụ 19: Cho biết những nhân viên có lương cao hơn lương </b>
của mọi nhân viên phòng PTV
Select *
From NHANVIEN
Where LUONG> ALL ( Select LUONG
From NHANVIEN
1. Đưa ra thông tin về các phòng
2. Đưa ra MANV, HOTEN, LUONG của những nhân viên sinh
trước năm 1975
3. Đưa ra tổng lương của phòng KHOAHOC
4. Đưa ra danh sách nhân viên có lương thấp nhất
5. Đưa ra tên phịng có số nhân viên lớn hơn 10
6. Đư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.000
8. Đư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
(Select MAPHONG
From NHANVIEN
Group by MAPHONG
Select *
From PHONG
Where MAPHONG in ( Select MAPHONG
From NHANVIEN
Group by MAPHONG
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>Bài 1: </b>
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
<b>Điều khiển bị buộc (Bound Control): Là điều khiển có </b>
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
<b>Điều khiển không bị buộc (Unbound Control): là điều </b>
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
<b>Điều khiển tính tốn được (Calculate Control): Là điều </b>
khiển mà giá trị của nó được tính tốn từ giá trị của các điều
khiển khác
Ví dụ: tongluong= Sum ([luong])
<b>1). Dùng Form Wizard</b>
<b>Trong cửa sổ NewForrm, kích chọn Form Wizard</b>
Xuất hiện các bước như sau:
<b>B1: Chọn bảng làm nguồn dữ liệu/Next</b>
<b>B2: Chọn trường xuất hiện trên Form/Next</b>
<b>B3: Chọn kiểu trình bày Form/Next</b>
<b>B4: Chọn kiểu nền cho Form/Next</b>
<b>B5: Nhập tiêu đề Form/Finish</b>
<b>2). Dùng Design View:</b>
<b>Trong cửa sổ New Form, chọn Design View</b>
Trong cửa sổ thiết kế Form này, quan trọng nhất là
<b>Fieldlist và Toolbox. Để ẩn hoặc hiện 2 công cụ </b>
<b>này ta chọn trên menu View/Fieldlist và </b>
<b>View/Toolbox</b>
Fieldlist: dùng trong trường hợp Form bị buộc vào nguồn dữ
liệu nào đó
<b>3). Các thành phần trên Toolbox:</b>
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ế
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
<b>1. Vị trí của các điều khiển:</b>
<b>Page header/Page footer: tiêu đề đầu và cuối </b>
mỗi trang
<b>Form header: dùng để chứa các tiêu đề như tên </b>
Form, tên trường
<b>Form footer: dùng để chứa các nút lệnh thao </b>
tác trên bản ghi hoặc các dòng tổng cộng
<b>2. Căn chỉnh các điều khiển</b>
Có 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
<b>3. Điều khiển hộp văn bản (TextBox)</b>
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 tốn được.
Nếu là khơng bị buộc
Nếu là điều khiển tính tốn:
Thường dùng để tính tốn thơng qua các điều khiển khác.
Cách tạo:
<b>4. Nhãn (Label)</b>
Dùng làm tiêu đề, chú giải,…
<b>5. Hộp liệt kê (List Box) và Combo (Combo Box)</b>
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
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 khố hay khơng
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
<b>Limit to list: Dùng riêng cho Combo box. Khi thêm giá trị </b>
<b>6. Nút lệnh (Command Button)</b>
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
Để 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
<b>7. Thuộc tính của Form:</b>
<b>Kích phải chuột / Chọn Properties, xuất hiện hộp thoại </b>
<b>Properties chứa các khai báo thuộc tính Form</b>
a). 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
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ệu
Chú ý: 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
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 xố
<b>Từ cửa sổ Database, trong mục Object chọn Form/ Create </b>
<b>form in Design view. Cửa sổ thiết kế xuất hiện.</b>
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
<b>1. Giới thiệu</b>
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
<b>2. Cách tạo form chính – phụ: </b>
<b>a.Dùng Wizard </b>
<b>Từ cửa sổ Database, trong mục Object, kích chọn </b>
<b>Form</b>
<b>Hộp thoại New Form xuất hiện, kích đúp Form </b>
<b>Wizard xuất hiện các bước của Form Wizard</b>
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)
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ụ
<b>Kích Next, </b>
<b>Bước 3: chọn Form With subform(s)</b>
Tiếp theo là các hộp thoại hướng dẫn của
<b>Wizard. Khi ta kích Finish, Access sẽ tạo ra 2 </b>
<b>b. Khơng dùng Wizard:</b>
<b>c. Làm quen với cách viết:</b>
<b>[loại đối tượng]![tên đối tượng]![trường liên kết]</b>
Ví dụ: Biểu thức kết nối 2 Form:
<b>d. Ví dụ:</b> 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>Bước 1: Tạo form chính CHINH với tiêu đề “danh sách </b>
<b>phòng” </b>
<b>Dùng Design View</b>
<b>Chọn nguồn dữ liệu là bảng PHONG</b>
<b>Bước 2: Tạo form phụ PHU với tiêu đề “danh sách nhân </b>
<b>viên” </b>
<b>Dùng Design View</b>
<b>Chọn nguồn dữ liệu là văn bản SQL đưa ra các n.v thỏa </b>
<b>đk kết nối.</b>
<b>Thiết lập kết nối với form CHINH thông qua MAPHONG </b>
<b>Đặt Defaul View là Datasheet (nếu muốn Form phụ hiển thị </b>
<b>dưới dạng bảng)</b>
<b>Ghi lại thiết kế form PHU</b>
<b>Bước 3:</b>
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.
-
<b>Ví dụ 2:</b>
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à
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ừ
Để tạo khuôn dạng của báo cáo ta làm như sau:
<b>Cách 1: Từ cửa sổ Database, trong phần Objects </b>
<b>chọn Report / Create report in Design view hoặc </b>
<b>Create report by using wizard </b>
<b>Cách 2: Từ cửa sổ Database, trong phần Objects </b>
chọn <b>Report / New, cửa sổ New Report xuất </b>
<b>Auto Report:</b> 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.
<b>Report Wizard:</b> 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).
<b>Báo cáo dạng nhãn (Label Report):</b> Để 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
<b>Từ cửa sổ New Report chọn mục Design View. Màn </b>
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.
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.
Ngồi ra các báo cáo có phân nhóm cịn chứa Group
<b>1. Thiết kế báo cáo dạng văn bản</b>
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, tồ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
<b>2. Thiết kế báo cáo đơn giản dạng bảng</b>
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
Tạo các Textbox (điều khiển tính tố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
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 tố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ố>)