• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Access toan tap
 

Access toan tap

on

  • 15,659 views

 

Statistics

Views

Total Views
15,659
Views on SlideShare
15,659
Embed Views
0

Actions

Likes
3
Downloads
854
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • co cach nao doi mang hinh dang nhap vao form dc ko zj????thank nhju
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Chương 1: Các bài toán quản lý các khái niệm cơ bản về CSDL và Hệ QTCSDL Chương 2: Ngôn ngữ dựa trên phép toán đại số quan hệ Ngôn ngữ truy vấn SQL Chương 3: -Tổ chức tệp của CSDL Tệp chỉ mục Tệp băm Chương 4: -Giới thiệu môi trường làm việc của VFP Các kiểu dữ liệu và kiểu trường của VFP Chương 5: Ngôn ngữ con định nghĩa dữ liệu Ngôn ngữ con cập nhật CSDL Ngôn ngữ con dựa trên các phép toán ĐS Ngôn ngữ con SQL Chương 6: -Thiết kế dự án - Thiết kế khuôn dạng nhập liệu Thiết lập báo cáo Tạo các truy vấn

Access toan tap Access toan tap Presentation Transcript

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