Tải bản đầy đủ (.ppt) (242 trang)

ACCESS TOAN TAP

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>

<b>ACCESS</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

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



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3></div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

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.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

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




</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

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



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


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

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


<b>máy cài Microsoft Office Shortcut </b>



<b>Bar (thanh bảng chọn ở phía trên, góc </b>



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Khởi động Access (tiếp)



Cách 3:




Có thể tạo biểu tượng tắt (ShortCut) cho



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

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


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Cửa sổ làm việc của Access (tiếp)



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


hiển thị thanh cơng cụ nào thì kích vào


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


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

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,


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

Tạo cơ sở dữ liệu mới-Database (tiếp)



 B3: Đặt tên cho Database


vào mục File name


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

VI. Làm việc với cơ sở dữ liệu đã có



<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


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

Làm việc với cơ sở dữ liệu đã có (tiếp)



<b>2. Nếu thanh tác vụ chưa mở:</b>



 <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ư


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

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), …


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

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.



</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

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

<b>: Từ thanh menu, chọn File/Exit</b>



Cách 2

: Kích vào nút Close trên thanh



tiêu đề



</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

IX. Công cụ Wizard và Builder




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


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

Công cụ Wizard và Builder (tiếp)



<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


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20></div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

I. Một số thuật ngữ



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


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

Một số thuật ngữ (tiếp)



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


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

Một số thuật ngữ (tiếp)



<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


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.


<b>7. Khóa kết nối: Trong 1 CSDL thường có nhiều bảng, </b>


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

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


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

III. Các loại dữ liệu



<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



</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

IV. Tạo bảng



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


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

Tạo bảng (tiếp)



</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

Tạo bảng (tiếp)



 <b>Chọn Design view/OK</b>


</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

Tạo bảng (tiếp)



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


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30>

Tạo bảng (tiếp)




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


</div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

Tạo bảng (tiếp)



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


</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

V. Thuộc tính trường (Field Properties)



<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


</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

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 “”



</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

Thuộc tính trường (tiếp)



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


</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

Thuộc tính trường (tiếp)



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


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36>

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


</div>
<span class='text_page_counter'>(37)</span><div class='page_container' data-page=37>

VII. Các thao tác trên bảng



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


</div>
<span class='text_page_counter'>(38)</span><div class='page_container' data-page=38>

Các thao tác trên bảng(tiếp)



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


</div>
<span class='text_page_counter'>(39)</span><div class='page_container' data-page=39>

Các thao tác trên bảng(tiếp)



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


</div>
<span class='text_page_counter'>(40)</span><div class='page_container' data-page=40>

Các thao tác trên bảng (tiếp)



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


</div>
<span class='text_page_counter'>(41)</span><div class='page_container' data-page=41>

Các thao tác trên bảng(tiếp)



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


</div>
<span class='text_page_counter'>(42)</span><div class='page_container' data-page=42>

VIII. Nhập, sửa dữ liệu



 <b>Nhập dữ liệu sử dụng Edit Mode:</b>
 Mở bảng trong Datasheet View


 Nhập dữ liệu


 <b>Sửa đổi dữ liệu:</b>


</div>
<span class='text_page_counter'>(43)</span><div class='page_container' data-page=43>

Nhập, sửa dữ liệu (tiếp)



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


</div>
<span class='text_page_counter'>(44)</span><div class='page_container' data-page=44>

IX. Tìm kiếm và thay thế



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


</div>
<span class='text_page_counter'>(45)</span><div class='page_container' data-page=45>

Tìm kiếm và thay thế (tiếp)




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


</div>
<span class='text_page_counter'>(46)</span><div class='page_container' data-page=46>

X. Sắp xếp dữ liệu



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



</div>
<span class='text_page_counter'>(47)</span><div class='page_container' data-page=47>

XI. Lọc dữ liệu



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


</div>
<span class='text_page_counter'>(48)</span><div class='page_container' data-page=48>

Lọc dữ liệu(tiếp)



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


</div>
<span class='text_page_counter'>(49)</span><div class='page_container' data-page=49>

XII. Tạo quan hệ giữa các 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 ở


</div>
<span class='text_page_counter'>(50)</span><div class='page_container' data-page=50>

Tạo quan hệ giữa các bảng(tiếp)



 <b>Loại bỏ quan hệ:</b>


 Kích chọn đường liên kết


</div>
<span class='text_page_counter'>(51)</span><div class='page_container' data-page=51></div>
<span class='text_page_counter'>(52)</span><div class='page_container' data-page=52>

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


</div>
<span class='text_page_counter'>(53)</span><div class='page_container' data-page=53>

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ố


</div>
<span class='text_page_counter'>(54)</span><div class='page_container' data-page=54>

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


</div>
<span class='text_page_counter'>(55)</span><div class='page_container' data-page=55>

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



</div>
<span class='text_page_counter'>(56)</span><div class='page_container' data-page=56>

<b>CHƯƠNG 3: </b>



</div>
<span class='text_page_counter'>(57)</span><div class='page_container' data-page=57>

I. Import dữ liệu



<b>1. Import Table từ CSDL khác </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>



Chọn đường dẫn đến CSDL nguồn (CSDL



<b>chứa bảng cần lấy) / Import</b>



</div>
<span class='text_page_counter'>(58)</span><div class='page_container' data-page=58>

Import dữ liệu (tiếp)



<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


</div>
<span class='text_page_counter'>(59)</span><div class='page_container' data-page=59>

II. Export dữ liệu



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


</div>
<span class='text_page_counter'>(60)</span><div class='page_container' data-page=60>

Export dữ liệu (tiếp)



<b>2. Export Table sang Excel </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 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


</div>
<span class='text_page_counter'>(61)</span><div class='page_container' data-page=61></div>
<span class='text_page_counter'>(62)</span><div class='page_container' data-page=62>

I. Giới thiệu Query



<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


</div>
<span class='text_page_counter'>(63)</span><div class='page_container' data-page=63>

Giới thiệu Query (tiếp)



<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



</div>
<span class='text_page_counter'>(64)</span><div class='page_container' data-page=64>

II. Các toán tử và biểu thức trong Access



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


</div>
<span class='text_page_counter'>(65)</span><div class='page_container' data-page=65>

Các toán tử và biểu thức trong Access (tiếp)


<b>2. Toán logic:</b>


 <b>AND: và (True and False=False,True and </b>
True=True)


</div>
<span class='text_page_counter'>(66)</span><div class='page_container' data-page=66>

Các toán tử và biểu thức trong Access(tiếp)


<b>3. Các toán tử khác:</b>


 <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”))


</div>
<span class='text_page_counter'>(67)</span><div class='page_container' data-page=67>

Các toán tử và biểu thức trong Access(tiếp)


<b>4. Hàm ngày giờ:</b>


 <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))


</div>
<span class='text_page_counter'>(68)</span><div class='page_container' data-page=68>

Các toán tử và biểu thức trong Access(tiếp)


<b>5. Hàm xử lý dữ liệu kiểu Text:</b>


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



</div>
<span class='text_page_counter'>(69)</span><div class='page_container' data-page=69>

III. Tạo truy vấn bằng QBE (Query by Example)



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


</div>
<span class='text_page_counter'>(70)</span><div class='page_container' data-page=70>

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ườ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>


</div>
<span class='text_page_counter'>(71)</span><div class='page_container' data-page=71>

Tạo truy vấn bằng QBE (tiếp)



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


</div>
<span class='text_page_counter'>(72)</span><div class='page_container' data-page=72>

IV. Truy vấn chọn (Select Query)



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


</div>
<span class='text_page_counter'>(73)</span><div class='page_container' data-page=73>

Truy vấn chọn(tiếp)



 <b>Ví dụ 2: Đưa ra tồn bộ thơng tin về các nhân viên nữ </b>


</div>
<span class='text_page_counter'>(74)</span><div class='page_container' data-page=74>

Truy vấn chọn (tiếp)



 <b>Ví dụ 3: Đưa ra tên, phịng của các nhân viên đủ tiêu chuẩn </b>


</div>
<span class='text_page_counter'>(75)</span><div class='page_container' data-page=75>

Truy vấn chọn (tiếp)




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


</div>
<span class='text_page_counter'>(76)</span><div class='page_container' data-page=76>

V. Truy vấn tính tốn



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


</div>
<span class='text_page_counter'>(77)</span><div class='page_container' data-page=77></div>
<span class='text_page_counter'>(78)</span><div class='page_container' data-page=78>

Truy vấn tính tốn (tiếp)



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



</div>
<span class='text_page_counter'>(79)</span><div class='page_container' data-page=79>

Truy vấn tính tốn (tiếp)



</div>
<span class='text_page_counter'>(80)</span><div class='page_container' data-page=80>

Truy vấn tính tốn (tiếp)



</div>
<span class='text_page_counter'>(81)</span><div class='page_container' data-page=81>

Truy vấn tính tốn (tiếp)



 <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:


</div>
<span class='text_page_counter'>(82)</span><div class='page_container' data-page=82>

Truy vấn tính tốn (tiếp)



</div>
<span class='text_page_counter'>(83)</span><div class='page_container' data-page=83>

Truy vấn tính tốn (tiếp)



 Ví dụ 4: Đưa ra bảng tổng hợp lương trong cơ quan bao gồm:


</div>
<span class='text_page_counter'>(84)</span><div class='page_container' data-page=84>

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


</div>
<span class='text_page_counter'>(85)</span><div class='page_container' data-page=85>

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


</div>
<span class='text_page_counter'>(86)</span><div class='page_container' data-page=86>

Truy vấn có tham số (tiếp)



</div>
<span class='text_page_counter'>(87)</span><div class='page_container' data-page=87>

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


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


</div>
<span class='text_page_counter'>(88)</span><div class='page_container' data-page=88>

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


</div>
<span class='text_page_counter'>(89)</span><div class='page_container' data-page=89></div>
<span class='text_page_counter'>(90)</span><div class='page_container' data-page=90>

Truy vấn tạo lập (tiếp)



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


</div>
<span class='text_page_counter'>(91)</span><div class='page_container' data-page=91>

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.


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



</div>
<span class='text_page_counter'>(92)</span><div class='page_container' data-page=92>

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.


</div>
<span class='text_page_counter'>(93)</span><div class='page_container' data-page=93>

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,


</div>
<span class='text_page_counter'>(94)</span><div class='page_container' data-page=94>

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ó)



</div>
<span class='text_page_counter'>(95)</span><div class='page_container' data-page=95>

Truy vấn bổ sung (tiếp)



</div>
<span class='text_page_counter'>(96)</span><div class='page_container' data-page=96>

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


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


</div>
<span class='text_page_counter'>(97)</span><div class='page_container' data-page=97>

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


</div>
<span class='text_page_counter'>(98)</span><div class='page_container' data-page=98>

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


</div>
<span class='text_page_counter'>(99)</span><div class='page_container' data-page=99>

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



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


</div>
<span class='text_page_counter'>(100)</span><div class='page_container' data-page=100>

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



</div>
<span class='text_page_counter'>(101)</span><div class='page_container' data-page=101>

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


</div>
<span class='text_page_counter'>(102)</span><div class='page_container' data-page=102>

Truy vấn cập nhật (tiếp)



</div>
<span class='text_page_counter'>(103)</span><div class='page_container' data-page=103>

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


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



</div>
<span class='text_page_counter'>(104)</span><div class='page_container' data-page=104>

Truy vấn Crosstab (tiếp)



</div>
<span class='text_page_counter'>(105)</span><div class='page_container' data-page=105>

Truy vấn Crosstab (tiếp)



</div>
<span class='text_page_counter'>(106)</span><div class='page_container' data-page=106>

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


</div>
<span class='text_page_counter'>(107)</span><div class='page_container' data-page=107></div>
<span class='text_page_counter'>(108)</span><div class='page_container' data-page=108>

XII. Tạo Query bằng SQL



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


</div>
<span class='text_page_counter'>(109)</span><div class='page_container' data-page=109>

Tạo Query bằng SQL(tiếp)



<b>2).Tìm kiếm không điều kiện</b>



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


</div>
<span class='text_page_counter'>(110)</span><div class='page_container' data-page=110>

Tạo Query bằng SQL(tiếp)



<b>3).Tìm kiếm với điều kiện đơn giản</b>



Cú pháp:


SELECT <danh sách tên cột>
FROM <tên bảng>


WHERE <biểu thức logic>



</div>
<span class='text_page_counter'>(111)</span><div class='page_container' data-page=111>

Tạo Query bằng SQL(tiếp)



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


</div>
<span class='text_page_counter'>(112)</span><div class='page_container' data-page=112>

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



Select *


From NHANVIEN


</div>
<span class='text_page_counter'>(113)</span><div class='page_container' data-page=113>

Tạo Query bằng SQL(tiếp)



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


</div>
<span class='text_page_counter'>(114)</span><div class='page_container' data-page=114>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(115)</span><div class='page_container' data-page=115>

Tạo Query bằng SQL(tiếp)



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


</div>
<span class='text_page_counter'>(116)</span><div class='page_container' data-page=116>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(117)</span><div class='page_container' data-page=117>

Tạo Query bằng SQL(tiếp)



<b>Ví dụ 6: Tìm những nhân viên có họ “Nguyễn”</b>


Select *


From NHANVIEN


</div>
<span class='text_page_counter'>(118)</span><div class='page_container' data-page=118>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(119)</span><div class='page_container' data-page=119>

Tạo Query bằng SQL(tiếp)



<b>Ví dụ 8: Đưa ra thơng tin của các nhân </b>



viên mà nếu lương của họ được tăng


10% thì >2.000.000



Select *



From NHANVIEN



</div>
<span class='text_page_counter'>(120)</span><div class='page_container' data-page=120>

Tạo Query bằng SQL(tiếp)



<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ố)


</div>
<span class='text_page_counter'>(121)</span><div class='page_container' data-page=121>

Tạo Query bằng SQL(tiếp)



<b>Ví dụ 9: Cho biết số người của phịng có mã </b>



phịng là “PDT”




Select COUNT (MANV)
From NHANVIEN


Where MAPHONG=“PDT”


<b>Ví dụ 10: Cho biết mức lương cao nhất của </b>



</div>
<span class='text_page_counter'>(122)</span><div class='page_container' data-page=122>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(123)</span><div class='page_container' data-page=123>

Tạo Query bằng SQL(tiếp)



SELECT <danh sách cột>


FROM <tên bảng>



</div>
<span class='text_page_counter'>(124)</span><div class='page_container' data-page=124>

Tạo Query bằng SQL(tiếp)



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


</div>
<span class='text_page_counter'>(125)</span><div class='page_container' data-page=125>

Tạo Query bằng SQL(tiếp)



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


</div>
<span class='text_page_counter'>(126)</span><div class='page_container' data-page=126>

Tạo Query bằng SQL(tiếp)



<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


thuộc tính xuất hiện ở nhiều bảng, ta phải xác định
<b>rõ thuộc tính đó ở bảng nào bằng cách viết: <tên </b>


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


</div>
<span class='text_page_counter'>(127)</span><div class='page_container' data-page=127>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(128)</span><div class='page_container' data-page=128>

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



</div>
<span class='text_page_counter'>(129)</span><div class='page_container' data-page=129>

Tạo Query bằng SQL(tiếp)



<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


</div>
<span class='text_page_counter'>(130)</span><div class='page_container' data-page=130>

Tạo Query bằng SQL(tiếp)



Select *



From NHANVIEN, PHONG



Where




</div>
<span class='text_page_counter'>(131)</span><div class='page_container' data-page=131>

Tạo Query bằng SQL(tiếp)



 <b>Ví dụ 17: Đưa ra thơng tin về người có lương cao </b>
nhất


Select *


From NHANVIEN


</div>
<span class='text_page_counter'>(132)</span><div class='page_container' data-page=132>

Tạo Query bằng SQL(tiếp)



<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



</div>
<span class='text_page_counter'>(133)</span><div class='page_container' data-page=133>

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ị>
 <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


</div>
<span class='text_page_counter'>(134)</span><div class='page_container' data-page=134>

Bài tập



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


</div>
<span class='text_page_counter'>(135)</span><div class='page_container' data-page=135>

1. Đưa ra thơng tin về các phịng


Select *



</div>
<span class='text_page_counter'>(136)</span><div class='page_container' data-page=136>

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



</div>
<span class='text_page_counter'>(137)</span><div class='page_container' data-page=137>

3. Đưa ra tổng lương của phòng KHOAHOC


Select SUM(LUONG)



From NHANVIEN, PHONG


Where



</div>
<span class='text_page_counter'>(138)</span><div class='page_container' data-page=138>

Select sum (LUONG)


From NHANVIEN



Where MAPHONG=




(Select MAPHONG


From PHONG



Where



</div>
<span class='text_page_counter'>(139)</span><div class='page_container' data-page=139>

4. Đưa ra danh sách nhân viên có lương


thấp nhất



Select *



From NHANVIEN


Where LUONG=



</div>
<span class='text_page_counter'>(140)</span><div class='page_container' data-page=140>

5. Đưa ra tên phịng có số nhân viên lớn hơn 10


Select TENPHONG



From PHONG



Where MAPHONG =



(Select MAPHONG
From NHANVIEN


Group by MAPHONG


</div>
<span class='text_page_counter'>(141)</span><div class='page_container' data-page=141>

6. Đưa ra MANV, hoten, luong, tenphong


của nhân viên có mã nhân viên “S09”



Select MANV, HOTEN, LUONG, TENPHONG



From NHANVIEN, PHONG



</div>
<span class='text_page_counter'>(142)</span><div class='page_container' data-page=142>

7. Đưa ra thông tin về phịng có lương


trung bình>2.000.000



Select *


From PHONG


Where MAPHONG in ( Select MAPHONG
From NHANVIEN
Group by MAPHONG


</div>
<span class='text_page_counter'>(143)</span><div class='page_container' data-page=143>

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 NHANVIEN



</div>
<span class='text_page_counter'>(144)</span><div class='page_container' data-page=144>

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 PHUCAP


From NHANVIEN



</div>
<span class='text_page_counter'>(145)</span><div class='page_container' data-page=145>

SELECT TENPHONG, COUNT (MANV) AS



SONV




FROM NHANVIEN INNER JOIN PHONG ON



NHANVIEN.MAPHONG=PHONG.MAPHONG



GROUP BY TENPHONG



</div>
<span class='text_page_counter'>(146)</span><div class='page_container' data-page=146></div>
<span class='text_page_counter'>(147)</span><div class='page_container' data-page=147>

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>Bài 1: </b>


</div>
<span class='text_page_counter'>(148)</span><div class='page_container' data-page=148>

<b>Bài 2:</b>



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>Bài 3:</b>




1. Đưa ra danh sách các sản phẩm có tên bắt


đầu bằng chữ BUT.



</div>
<span class='text_page_counter'>(149)</span><div class='page_container' data-page=149>

<b>Bài 4:</b>



1. Đưa ra tên các sản phẩm có màu XANH



2. Mỗi Mã sản phẩm đã được bán với tổng số


lượng là bao nhiêu?



<b>Bài 5:</b>



1. Đưa ra danh sách công ty.



</div>
<span class='text_page_counter'>(150)</span><div class='page_container' data-page=150></div>
<span class='text_page_counter'>(151)</span><div class='page_container' data-page=151>

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


</div>
<span class='text_page_counter'>(152)</span><div class='page_container' data-page=152>

Giới thiệu Form (tiếp)



 <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])


</div>
<span class='text_page_counter'>(153)</span><div class='page_container' data-page=153>

II. Thiết kế Form



<b>Từ cửa sổ Database, trong phần Object </b>



<b>chọn Form/New/New Form</b>



Trong cửa sổ New Form có 2 cách tạo Form



</div>
<span class='text_page_counter'>(154)</span><div class='page_container' data-page=154>

Thiết kế Form (tiếp)



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


</div>
<span class='text_page_counter'>(155)</span><div class='page_container' data-page=155>

Thiết kế Form (tiếp)



<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 đó


</div>
<span class='text_page_counter'>(156)</span><div class='page_container' data-page=156>

Thiết kế Form (tiếp)




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


</div>
<span class='text_page_counter'>(157)</span><div class='page_container' data-page=157>

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


</div>
<span class='text_page_counter'>(158)</span><div class='page_container' data-page=158>

III. Thiết kế các điều khiển trên Form




<b>1. Vị trí của các điều khiển:</b>


</div>
<span class='text_page_counter'>(159)</span><div class='page_container' data-page=159>

Thiết kế các điều khiển trên Form (tiếp)



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


</div>
<span class='text_page_counter'>(160)</span><div class='page_container' data-page=160>

Thiết kế các điều khiển trên Form (tiếp)



<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


</div>
<span class='text_page_counter'>(161)</span><div class='page_container' data-page=161>

Thiết kế các điều khiển trên Form (tiếp)



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


</div>
<span class='text_page_counter'>(162)</span><div class='page_container' data-page=162>

Thiết kế các điều khiển trên Form (tiếp)



 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:


</div>
<span class='text_page_counter'>(163)</span><div class='page_container' data-page=163>

Thiết kế các điều khiển trên Form (tiếp)



<b>4. Nhãn (Label)</b>


 Dùng làm tiêu đề, chú giải,…


</div>
<span class='text_page_counter'>(164)</span><div class='page_container' data-page=164>

Thiết kế các điều khiển trên Form (tiếp)



<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


</div>
<span class='text_page_counter'>(165)</span><div class='page_container' data-page=165>

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 khố hay khơng


</div>
<span class='text_page_counter'>(166)</span><div class='page_container' data-page=166>

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
 <b>Limit to list: Dùng riêng cho Combo box. Khi thêm giá trị </b>


</div>
<span class='text_page_counter'>(167)</span><div class='page_container' data-page=167>

Thiết kế các điều khiển trên Form (tiếp)



<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


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


</div>
<span class='text_page_counter'>(168)</span><div class='page_container' data-page=168>

Thiết kế các điều khiển trên Form (tiếp)



Không dùng Wizard:


 Tắt Control Wizard


</div>
<span class='text_page_counter'>(169)</span><div class='page_container' data-page=169>

Thiết kế các điều khiển trên Form (tiếp)



<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



</div>
<span class='text_page_counter'>(170)</span><div class='page_container' data-page=170>

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


</div>
<span class='text_page_counter'>(171)</span><div class='page_container' data-page=171>

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 ngồi phạm vi Form



Menu bar: menu hiện khi mở Form



Short cut menu: menu hiện khi nhấn chuột



</div>
<span class='text_page_counter'>(172)</span><div class='page_container' data-page=172>

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 xố


</div>
<span class='text_page_counter'>(173)</span><div class='page_container' data-page=173>

Thuộc tính của Form (tiếp)



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


</div>
<span class='text_page_counter'>(174)</span><div class='page_container' data-page=174></div>
<span class='text_page_counter'>(175)</span><div class='page_container' data-page=175>

IV. Form chính-phụ



<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


</div>
<span class='text_page_counter'>(176)</span><div class='page_container' data-page=176>

Form chính-phụ (tiếp)



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


</div>
<span class='text_page_counter'>(177)</span><div class='page_container' data-page=177>

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ụ
 <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>


</div>
<span class='text_page_counter'>(178)</span><div class='page_container' data-page=178>

Form chính-phụ (tiếp)



<b>b. Khơng dùng Wizard:</b>


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



</div>
<span class='text_page_counter'>(179)</span><div class='page_container' data-page=179>

Form chính-phụ (tiếp)



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


</div>
<span class='text_page_counter'>(180)</span><div class='page_container' data-page=180>

Form chính-phụ (tiếp)



<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>Ghi lại thiết kế form CHINH</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>


</div>
<span class='text_page_counter'>(181)</span><div class='page_container' data-page=181>

Form chính-phụ (tiếp)



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


</div>
<span class='text_page_counter'>(182)</span><div class='page_container' data-page=182></div>
<span class='text_page_counter'>(183)</span><div class='page_container' data-page=183>

Form chính-phụ (tiếp)



</div>
<span class='text_page_counter'>(184)</span><div class='page_container' data-page=184>

Form chính-phụ (tiếp)



Ví dụ 2: Tạo Form chính –phụ đưa ra



</div>
<span class='text_page_counter'>(185)</span><div class='page_container' data-page=185>

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.


</div>
<span class='text_page_counter'>(186)</span><div class='page_container' data-page=186>

Dùng Form chính-phụ để tìm kiếm(tiếp)



<b>Ví dụ 1: Thiết kế form chính-phụ để tìm kiếm </b>



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.



</div>
<span class='text_page_counter'>(187)</span><div class='page_container' data-page=187>

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.



</div>
<span class='text_page_counter'>(188)</span><div class='page_container' data-page=188>

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:



<b>Link Child Field và Link Master Field </b>



</div>
<span class='text_page_counter'>(189)</span><div class='page_container' data-page=189>

Dùng Form chính-phụ để tìm kiếm(tiếp)



 <b>Ví dụ 2:</b>


</div>
<span class='text_page_counter'>(190)</span><div class='page_container' data-page=190></div>
<span class='text_page_counter'>(191)</span><div class='page_container' data-page=191>

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ừ


</div>
<span class='text_page_counter'>(192)</span><div class='page_container' data-page=192>

II. Tạo báo cáo



Để 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>


</div>
<span class='text_page_counter'>(193)</span><div class='page_container' data-page=193>

Tạo báo cáo (tiếp)



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


</div>
<span class='text_page_counter'>(194)</span><div class='page_container' data-page=194>

Tạo báo cáo (tiếp)



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


</div>
<span class='text_page_counter'>(195)</span><div class='page_container' data-page=195>

III. Các thành phần của báo cáo



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


</div>
<span class='text_page_counter'>(196)</span><div class='page_container' data-page=196>

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.


 Ngồi ra các báo cáo có phân nhóm cịn chứa Group


</div>
<span class='text_page_counter'>(197)</span><div class='page_container' data-page=197>

Các thành phần của báo cáo (tiếp)



<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


</div>
<span class='text_page_counter'>(198)</span><div class='page_container' data-page=198>

Các thành phần của báo cáo (tiếp)



<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


</div>
<span class='text_page_counter'>(199)</span><div class='page_container' data-page=199>

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


</div>
<span class='text_page_counter'>(200)</span><div class='page_container' data-page=200>

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 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ố>)


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×