Bài giảng Access 1

pdf 91 trang phuongnguyen 2570
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Access 1", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_access_1.pdf

Nội dung text: Bài giảng Access 1

  1. Mục lục CH−ơNG I. LμM Vi ệC Với MiCROSOFT ACCESS 6 I. VμO MôI tr−ờng ACCESS 6 II. Ch−ơng TRìNH ACCESS . 7 II.1. Tệp chứa Ch−ơng trình Access 7 II.2. Một hệ Ch−ơng trình do Access tạo ra (hệ Ch−ơng trình Access) 7 III. TạO MộT CSDL Mới 8 IV. LμM VIệC VớI CSDL Đã TồN TạI 10 CHƯƠNG II. BảNG 13 I. Khái niệm bảng 13 II. TạO BảNG 13 II.1. Tạo bảng bằng Design View.1 14 II.2. Tạo bảng bằng Datasheet View : 15 II.3. Tạo bảng bằng Table Wizard 16 II.4. Tạo bảng bằng Import Table 16 II.5. Tạo bảng bằng Link Table 16 III. THUộC TíNH CủA tr−ờng 16 III.1. Công dụng: 16 III.2. Cách đặt giá trị cho các thuộc tính 17 III.3. Tổng quan về các thuộc tính của tr−ờng 17 III.4. Chi tiết về các thuộc tính của tr−ờng 18 III.4.1.Thuộc tính Field Size 18 III.4.2.Thuộc tính Format 18 III.4.3.Thuộc tính Input Mask (mặt lạ nhập liệu). 20 III.4.4. Thuộc tính Default Value 21 III.4.5. Thuộc tính Required (tr−ờng bắt buộc phải có số liệu) 21 III.4.6. Thuộc tính AllowZerolength 21 III.4.7. Thuộc tính ValidationRule 22 III.4.8. Thuộc tính Indexed 22 IV. Thay đổl thiết kế, chỉnh sửa cấu trúc bảng 22 V. ĐặT KHOá CHíNH 23 V.1. Định nghĩa 23 V.2. Lợi ích 23 V.3. Xử lý khoá chính 23 VI. LƯU CấU TRúC BảNG Vμ ĐặT TÊN BảNG 24 VII. Thay đổi cấu trúc bảng vμ nhập dữ liệu 25 VII.1. Thay đổi cấu trúc bảng 25 VII.2. Nhập dữ liệu vμo bảng 25 VII.3. Chuyến đổi giữa hai chế độ nhập dữ liệu vμ thiết kế bảng 25 VIII. Lập quan hệ giữa các bảng 26 VIII.1. Các loại quan hệ trong Access. 26 VIII.2. Cách tạo quan hệ 26 VIII.3. Chỉnh sửa quan hệ. 29 VIII.4. Tính toμn vẹn tham chiếu 29 VIII.5. Xem vμ điều chỉnh các quan hệ đã có trong CSDL 31 VIII.5.1. Xem các quan hệ đã có 31 VIII.5.2. Chỉnh sửa 31 VIII.5.3. Xoá 31 IX.THUộC TíNH CủA BảNG 31 IX.1. Các thuộc tính của bảng 31 IX.2. Đặt thuộc tính 32 CHƯƠNG III. TRUY VấN (QUERY) 33 I. CáC LOạI TRUY VấN 33 II. CáC BƯớC CHíNH Để TạO (THIếT Kế) MộT TRUY VấN MớI 33 III- tạo query bằng design view 34 Bμi giảng Access 1
  2. III. 1-Tạo Select Query 34 III.1.1. Tạo Select Query dùng để chọn các tr−ờng, các bản ghi vμ tính toán 35 III.1.2. Tạo Select Query dùng để tính tổng theo nhóm dữ liệu. 44 III.1.3 Tạo Select Query dùng hỏi -đáp dữ liệu 45 II.2. Tạo Crosstab Query 47 III.3. Tạo Action Query 47 III.3.1. Make Table Query (Truy vấn tạo bảng) 47 III.3.2. Append Query (Truy vấn nối) 48 III.3.3. Update Query (Truy vấn cập nhật) 48 III.3.4. Delete Query (Truy vấn xoá) 48 IV. tạo query bằng wizard 49 IV.1. Tạo Select Query bằng wizard 49 IV.2. Tạo Crosstab Query bằng wizard 49 V- tạo, sửa query bằng mã lệnh sql 49 V.1-Cấu trúc các câu lệnh tạo Query 49 V.2.Cách tạo vμ sửa Query bằng SQL 50 CHƯƠNG V. MẫU BiểU 51 I. KHáI NIệM CHUNG 51 I.1. Cấu trúc của mẫu biểu 51 I.2. Công dụng của các ô điều khiển: 51 I.2.1. Thể hiện dữ liệu 51 I.2.2. Nhập dữ liệu từ bμn phím 51 I.2.3. Thực hiện hμnh động. 51 I.2.4. Tổ chức giao diện Ch−ơng trình 52 I.2.5.Tổ chức hệ Menu Bar cho ch−ơng trình. 52 II. TạO MẫU BIểU Tự ĐộNG Vμ BằNG WIZARD 52 III. Tạo Form bằng Design View 56 III.1. Giới thiệu các loại điều khiển 56 III.1.1. Các loại điều khiển 56 III.1.2. Cách dùng 56 III.2. Điều khiển TextBox 57 III.2.1. Tạo text box bị buộc (Buond) 57 III.2.1. Tạo text box tính toán (Buond) - Unbound 58 III.3. Điều khiển Label (nhãn) 58 III.4. Thuộc tính của điều khiển 59 III.4.1. Mở bảng thuộc tính của một ô điều khiển 59 III.4.2. Một số thuộc tính hay dùng 59 III.5. Các loại điều khiển dùng để cập nhập dữ liệu từ bảng chọn 60 III.5.1. Cách dùng 60 III.5.2. Cách tạo. 60 III.5.3. Phân loại ListBox vμ ComBo Box theo nguồn dữ liệu. 61 III.5.4. Tạo LIST/COMBO BOX không dùng WIZARD 61 III.5.5. Dùng Wizard tạo List Box/Combo Box 62 III.5.6. Dùng điều khiển Check Box, Toggle Button, Option Button 63 III.5.7. Sử dụng nhóm lựa chọn (Option Gourp) 63 III.6. Tạo Command Buttons (nút lệnh) 64 IV. MẫU BiểU TRÊN NHiềU BảNG 65 IV.1. Công dụng 65 IV.1. Quan hệ giữa các mẫu biểu chính vμ phụ 65 V.3. Cách tổ chức mẫu biểu chính vμ mẫu biểu phụ. 66 CHƯƠNG VI. BáO BIểU 67 I. KHáI NIệM Về BáO BIểU, SO SáNH BáO BIểU VớI MẫU BIểU Error! Bookmark not defined. I.1. Công dụng của báo biểu. Error! Bookmark not defined. I.2. Sự giống nhau giữa báo biểu vμ mẫu biểu Error! Bookmark not defined. I.3. Một số đặc điểm khác của báo biểu Error! Bookmark not defined. II. Xây dựng báo biểu bằng hộp công cụ 67 II.1. Các vấn đề th−ờng gặp khi xây dựng báo biểu 67 Bμi giảng Access 2
  3. II.2. Các công cụ th−ờng sử dụng 67 II.3. Các b−ớc xây dựng báo biểu 68 II.4. Thực hiện in báo biểu 69 III. SắP XếP Vμ TậP HợP Dữ LIệU THEO NHóM 69 III.1. Sắp xếp dữ liệu 69 III.2. Phân nhóm dữ liệu 70 III.3. Đầu nhóm vμ cuối nhóm 70 III.3.1. Tạo đầu nhóm vμ cuối nhóm trên báo biểu 70 III.3.2. Đặt các ô điều khiển trên phần đầu/cuối nhóm. 71 III.3.3. Tổng hợp dữ liệu trên từng nhóm 71 III.3.4.In theo nhóm 71 IV. NHóM Dữ LIệU THEO TRƯ−ờng PHÂN NHóM 71 IV.1. Cách phân nhóm đối với tr−ờng/biểu thức kiểu số 71 IV.1.1. Phân nhóm theo giá trị. 71 IV.1.2. Phân nhóm theo miền giá trị 71 IV.2. Cách phân nhóm đôi với trơ−ờng/biểu thức kiểu Date/time 72 IV.2.1. Phân nhóm theo giá trị. 72 IV.2.2. Phân nhóm theo miền giá trị 72 IV.3. Cách phân nhóm đối với tr−òng/biểu thức kiểu Text 72 IV.3.1. Phân nhóm theo giá trị 72 IV.3.2. Phân nhóm theo các ký tự đầu 72 V. TổNG HợP Dữ LIệU TRÊN BáO BIểU 72 V.1. Các hμm dùng để tổng hợp dữ liệu 72 V.2. Tổng hợp dữ liệu trên mỗi nhóm 73 V.3. Tổng hợp dữ liệu trên toμn báo biểu 73 V.4. So sánh dữ liệu tổng hợp trên các phần của báo biểu 73 V.5. Không in một số ô điều khiển của báo biểu 73 VI. Báo biểu chính vμ báo biểu phụ 74 VII. Xây dựng báo biểu tự động bằng Wizard 74 các bμi tập thực hμnh 76 Bμi giảng Access 3
  4. Giới thiệu Microsoft Access Microsoft Access lμ hệ quản trị cơ sở dữ liệu trên môi tr−ờng Windows, trong đó có sẵn các công cụ hữu hiệu vμ tiện lợi để tự động sản sinh ch−ơng trình cho hầu hết các bμi toán th−ờng gặp trong quản lý, thống kê, kế toán. Với Access, ng−ời dùng không phải viết từng câu lệnh cụ thể nh− trong Pascal, C hay Foxpro mμ chỉ cần tổ chức dữ liệu vμ thiết kế các yêu cầu, công việc cần giải quyết. Hiện nay th−ờng sử dụng 4 phiên bản Access lμ: Access 2.0 trong bộ Microsoft Office 4.3 , Access 7.0 for Windows 95, Access 97 trong bộ Microsoft Office 97, Access 2000 trong bộ Microsoft Office 2000. Sáu đối t−ợng công cụ mμ Access cung cấp lμ: Bảng (Table), Truy vấn (Query), mẫu biểu (Form), báo biểu (Report), Macro vμ đơn thể (Module). Bảng có cấu trúc t−ơng tự nh− một tệp DBF của Foxpro đ−ợc dùng để l- u− trữ dữ liệu của cơ sở dữ liệu (CSDL). Một CSDL th−ờng gồm nhiều bảng có quan hệ với nhau. Truy vấn lμ công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ ìiệu trên các bảng. Khi thực hiện truy vấn sẽ nhận đ−ợc một tập hợp kết quả thể hiện trên mμn hình d−ới dạng bảng, gọl lμ DynaSet. DynaSet chỉ lμ bảng kết quả trung gian, không đ−ợc ghi lên đa vμ nó sẽ bị xoá khi kết thúc truy vấn. Tuy nhiên có thể sử dụng một DynaSet nh− một bảng để xây dựng các truy vấn khác. Chỉ với truy vấn đã có thể giải quyết khá nhiều dạng toán trong quản trị cơ sở dữ liệu. Mẫu biểu th−ờng dùng để tổ chức cập nhật dữ liệu cho các bảng vμ thiết kế giao diện Ch−ơng trình. Tuy có thể nhập liệu trực tiếp vμo các bảng, nh−ng mẫu biểu sẽ cung cấp nhiều khả năng nhập liệu tiện lợi nhất Nhận dữ liệu từ một danh sách, nhận các hình ảnh, nhập dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn cho phép nhập các giá trị riêng lẻ (không liên quan đến bảng) từ bμn phím. Mẫu biểu còn có một khả năng quan tlọng khác lμ tổ chức giao diện Ch−ơng trình d−ới dạng một bảng nút lệnh hoặc một hệ thống menu. Báo biểu lμ công cụ tuyệt vời phục vụ công việc in ấn, nó cho các khả năng : - In dữ liệu d−ới dạng bảng. Bμi giảng Access 4
  5. - In dữ liệu d−ới dạng biểu bảng. - Sắp xếp dữ liệu trớc khi in. - Sắp xếp vμ phân nhóm dữ liệu tới 10 cấp. Cho phép thực hiện các phép toán để nhận dữ liệu tổng hợp trên mỗi nhóm. Ngoμi ra, dữ liệu tổng hợp nhận đ−ợc trên các nhóm lại có thể đ−a vμo các công thức để nhận đ−ợc sự so sánh, đối chiếu trên các nhóm vμ trên toμn báo cáo. - In dữ liệu của nhiều bảng có quan hệ trên một báo cáo. Cũng cần nói thêm, việc chọn Font chữ, cỡ chữ, kiểu in vμ việc trình bầy trên báo cáo đ−ợc tiến hμnh rất đơn giản. Macro bao gồm một dẫy các hμnh động (Action) dùng đề tự động hoá một loạt các thao tác. Macro th−ờng dùng với mẫu biểu để tổ chức giao diện Ch−ơng trình. Đơn thể lμ nơi chứa các hμm, thủ tục viết bằng ngôn ngữ Access Basic. Mặc dù các công cụ mμ Access cung cấp khá đầy đủ, nh−ng lẽ dĩ nhỉên không thể bao quát đ−ợc mọi vấn đề đa dạng của thực tế. Các hμm, thủ tục của Access Basic sẽ trợ giúp giải quyết những phần việc khó mμ công cụ không lμm nổi. Bμi giảng Access 5
  6. CH−ơNG I. LμM Vi ệC Với MiCROSOFT ACCESS Ch−ơng nμy trình bầy các vấn đề sau: • Cách vμo môi tr−ờng của Access. • Khái niệm cơ sở dữ liệu (CSDL). Đó lμ hệ Ch−ơng trình do Access tạo ra vμ đ−ợc l−u trên một tệp có đuôi MDB. Một CSDL gồm 6 nhóm đối t−ợng lμ: Bảng, truy vấn, mẫu biểu, báo biểu. macro vμ module. • Tạo CSDL mới vμ lμm việc với CSDL đã có. • Các cửa sổ chính vμ các thao tác cơ bản trong Access. I. VμO MôI tr−ờng ACCESS. Ch−ơng trình Access đ−ợc xây dựng vμ thực hiện trong môi tr−ờng Access vì vậy chúng ta cần biết cách vμo môi tr−ờng Access. Để lμm điều nμy trình tự thao tac nh− sau: l. Khởi động Windows nến đang ở môi tr−ờng DOS. 2. Chọn Start, Programs, Microsoft Access . Kết quả ta nhận đ−ợc cửa sổ sau trên đó có các tuỳ chọn: Bμi giảng Access 6
  7. • Nếu muốn mở một CSDL đã có thì chọn trong danh sách Open an Existing Database rồí bấm OK. • Nếu muốn tạo một CSDL mới thì chọn Blank Database rồi bấm OK. • Nếu muốn tạo một CSDL mới theo những chủ đề có sẵn thì chọn Database Wizard rồi bấm OK. • Nếu ch−a quen với cách mở CSDL đã có vμ cách tạo CSDL mới thì ta bấm chuột tại nút Cancel. Khi đó sẽ mở cửa sổ Microsoft Access có dạng: II. Ch−ơng TRìNH ACCESS . II.1. Tệp chứa Ch−ơng trình Access Mỗi một tệp Ch−ơng trình th−ờng có một đuôi qui định, ví dụ các tệp Ch−ơng trình C có đuôi lμ .C, tệp Ch−ơng trình Pascal có đuôi lμ PAS, tệp Ch−ơng trình Foxpro có đuôi lμ .PRG.Một tệp Ch−ơng do Access tạo ra có đuôi lμ .MDB II.2. Một hệ Ch−ơng trình do Access tạo ra (hệ Ch−ơng trình Access) Ch−ơng trình Access gọi lμ một Database (CSDL). Trong các ngôn ngữ truyền thống nh− C, Pascal, Foxpro, một hệ Ch−ơng trình gồm các tệp Ch−ơng trình vμ các tệp dữ liệu đ−ợc tổ chức một cách riêng biệt. Nh−ng trong Access toμn bộ Ch−ơng trình vμ dữ liệu đ−ợc chứa trong mộl tệp duy nhất có đuôi Bμi giảng Access 7
  8. .MDB. nh− vậy thuật ngữ hệ Ch−ơng trình hay CSDL đ−ợc hiểu lμ tổ hợp bao gồm cả Ch−ơng trình vμ dữ liệu. Để ngắn gọn nhiều khi ta gọi lμ Ch−ơng trình thay cho thuật ngữ hệ Ch−ơng trình. nh− vậy d−ới đây khi nói đến Ch−ơng trình hay hệ ch−ơng trình hay CSDL thì cùng có nghĩa đó lμ một hệ phần mềm gồm cả Ch−ơng trình vμ dữ liệu do Access tạo ra. III. TạO MộT CSDL Mới . Nên xây dựng tr−ớc một th− mục mới chứa CSDL cần tạo, ví dụ th− mục: TG ACCESS Vì nếu ta chứa các CSDL trong th− mục ACCESS thì chúng có thể sẽ bị mất mỗi khi cμi đặt lại Access, vμ khó quản lý. B−ớc 1: Từ cửa sổ Microsoft Access: Chọn menu File, chức năng New Database (hoặc kích chuột tại biểu t−ợng New Database ), đ−ợc cửa sổ sau: B−ớc 2: Nhấn đúp chuột tại biểu t−ợng Blank DataBase, hoặc nhấn nút OK để hiện ra cửa sổ: Bμi giảng Access 8
  9. B−ớc 3:Chọn th− mục sẽ chứa tệp CSDL cần tạo (ví dụ th− mục TG ACCES trong hộp Save in), sau đó đặt tên CSDL trong hộp File name (ví đụ TSDH), cửa sổ t−ơng ứng có dạng: Kích chuột tại nút Create. ặ Xuất hiện cửa sổ Database: Bμi giảng Access 9
  10. Đây lμ một trong những cửa sổ rất quan trọng của Access. Cửa sổ bao gồm: • Hệ menu với các menu: File, Edit, View, • Tiêu đề Database: TSDH cho biết tên của CSDL. • Các đối t−ợng công cụ (các mục): Table, Query, Form, Report, Macro, Modul dùng để xây dựng các đối t−ợng trong Ch−ơng trình Access IV. LμM VIệC VớI CSDL Đã TồN TạI Giả sử đã có CSDL TSDH trong th− mục C.\TG_ACCES. Để lμm việc với CSDL trên (xem, sửa, bổ sung, thực hiện ch−ơng trình) ta lần l−ợt thao tác nh− sau: B1: Từ cửa sổ Microsoft Access chọn menu File, Open Database hoặc kích chuột tại biểu t−ợng Open Database, kết quả nhận đ−ợc cửa sổ: Bμi giảng Access 10
  11. B2: Chọn th− mục chứa Database cần mở trong hộp Look in. Kết quả sẽ hiện danh sách các CSDL (các tệp có đuôi .MDB) trong th− mục nμy: B3. Chọn CSDL cần mở trong hộp File Name - giả sử chọn CSDL TSDH, sau đó kích chuột tại nút OK. Kết quả nhận đ−ợc cửa sổ Database của CSDL TSDH nh− sau: Bμi giảng Access 11
  12. Khi mở một CSDL, nếu muốn chọn mục nμo thì ta bấm chuột vμo TAB của mục đó. Bμi giảng Access 12
  13. CHƯƠNG II. BảNG Trong ch−ơng nμy sẽ trình bầy cách sử dụng công cụ TABLE để lμm việc với các bảng gồm: • Tạo bảng mới • Đặt khoá chính vμ tạo các chỉ mục cho bảng • Nhập dữ liệu vμo bảng • Chỉnh sửa cấu trúc của bảng • Thiết lập quan hệ giữa các bảng • Sử dụng thuộc tính của tr−ờng để trình bầy dạng dữ liệu của tr−ờng vμ kiểm tra tính hơp lệ của dữ liệu khi cập nhật. I. Khái niệm bảng Bảng lμ nơi chứa dữ liệu của một đối t−ợng nμo đó. Một cơ sở dữ liệu (CSDL) th−ờng gồm nhiều bảng. Một bảng gồm nhiều tr−ờng có các kiểu khác nhau nh−: Text, Number, Date/Time Các bảng trong một CSDL th−ờng có quan hệ với nhau. II. TạO BảNG Từ cửa sổ Database chọn mục Table • Chọn nút New dùng để tạo bảng mới • Nút nút Open dùng để mở nhập liệu cho bảng đ−ợc chọn. • Nút nút Design dùng để xem, sửa cấu trúc cua bảng đ−ợc chọn ẻ Để tạo bảng mới ta chọn nút New, kết qủa có đ−ợc: Bμi giảng Access 13
  14. II.1. Tạo bảng bằng Design View. Chọn Design View trong cửa sổ New Table, kết quả nhận đ−ợc cửa sổ thiết kế bảng nh− sau: Cửa sổ Table đ−ợc chia lμm 2 phần: - Phần trên gồm 3 cột: Field Name, Data Type vμ Description, dùng để khai báo các tr−ờng của bảng, mỗi tr−ờng khai báo trên 1 dòng. - Phần d−ới dùng để qui định các thuộc tính cho các tr−ờng. B1: Gõ tên tr−ờng ở ô trong cột Fieldname Tên tr−ờng (Field Name): Lμ một dãy không quá 64 ký tự, bao gồm chữ cái, chữ số, khoảng trống. Bμi giảng Access 14
  15. B2. Chọn kiểu tr−ờng trong cột Data Type Access gồm các kiểu sau: Tên tr−ờng Mô tả Độ lớn Text Ký tự dμi tối đa 255 Byte Memo Ký tự dμi tối đa 64000 Byte Number Số nguyên, thực dμi : 1 , 2, 4 hoặc 8 Byte Date/time Ngμy tháng/giờ dμi 8 Byte Currency Tiền tệ dμi 8 Byte AutoNumber Số dμi 8 Byte Yes/No Boolean 1 Bit OLE OObject Đối t−ợng 1 Giga Byte Hyperlink Ký tự hoặc kết hơp ký tự vμ số Lookup Wizard Cho phép chọn giá trị từ bảng khác B3. Mô tả (Discreption): Để giải thích cho rõ hơn một tr−ờng nμo đó Văn bản mô tả sẽ đ−ợc hiển thị khi nhập số liệu cho các tr−ờng. Phần nμy có thể có hoặc không. B4. Xác định các thuộc tính của tr−ờng trong bảng Properties (các thuộc tính nμy sẽ đ−ợc nêu chi tiết hơn trong phần sau, tại đây ta có thể dùng các giá trị thuộc tính mặc định). II.2. Tạo bảng bằng Datasheet View : B1: Từ cửa sổ Database, chọn Table Tab, chọn New B2: Chọn Datasheet View từ hộp thoại New Table, OK B3: Đặt tên tr−ờng : Kích đúp chuột vμo tên tr−ờng ặ Nhập tên tr−ờng mới ặ Enter B4: Nhập các bản ghi dữ liệu B5: Ghi bảng : Mở Menu File, chọn Save, đặt tên, chọn OK Bμi giảng Access 15
  16. II.3. Tạo bảng bằng Table Wizard B1: Từ cửa sổ Database, chọn Table Tab, chọn New B2: Chọn Table Wizard từ hộp thoại New Table, OK B3: Chọn các tr−ờng cần thiết , Kích nút next * Đổi tên tr−ờng :chọn Rename Field, gõ tên tr−ờng mới,OK B4: chọn Next, đặt tên bảng ặ Finish B5: Nhập dữ liệu vμo bảng II.4. Tạo bảng bằng Import Table B1: Từ cửa sổ Database, chọn Table Tab, chọn New B2: Chọn Import Table từ hộp thoại New Table, OK B3: Chọn th− mục, kiểu file vμ tên file cần lấy B4: Chọn Import II.5. Tạo bảng bằng Link Table B1: Từ cửa sổ Database, chọn Table Tab, chọn New B2: Chọn Link Table từ hộp thoại New Table, OK B3: Chọn th− mục, kiểu file vμ tên file cần lấy B5: Chọn Link III. THUộC TíNH CủA tr−ờng III.1. Công dụng: • Điều khiển hình thức thể hiện dữ liệu. • Nhập liệu theo mẫu. • Kiểm tra dữ liệu, ngăn cản nhập sai. • Tăng tốc độ tìm kiếm. Bμi giảng Access 16
  17. III.2. Cách đặt giá trị cho các thuộc tính. Trong cửa sổ thiết kế bảng, mỗi khi chọn một tr−ờng ở nửa trên thì nửa d−ới thể hiện các thuộc tính của tr−ờng vừa chọn. Mỗi thuộc tính nằm trên mộl dòng. Lúc đầu mỗi thuộc tính hoặc ch−a dùng (bỏ trống) hoặc có giá trị mặc định, ví dụ giá trị mặc định của thuộc tính FieldSize của tr−ờng kiểu Text lμ 50, của tr−ờng kiểu Number lμ Double. Giá trị của thuộc tính có thể gõ trực tiếp từ bμn phím (nh− thuộc tính FieldSize của tr−ờng Text) hoặc có thể chọn từ một danh sách của Combo Box (nh− thuộc tính FieldSize của tr−ờng Number). III.3. Tổng quan về các thuộc tính của tr−ờng Field Size. Số ký tự của tr−ờng Text, hoặc kiểu của tr−ờng number. Format Dạng hiển thị dữ liệu kiểu ngμy vμ số. DecimalPlaces Số chữ số thập phân trong kiểu number vμ cunency. InputMask (Mặt lạ Quy định khuôn dạng nhập liệu nhập) Caption Đặt nhãn cho tr−ờng. Nhãn sẽ đ−ợc hiển thị khi nhập liệu thay vì tên tr−ờng (nhãn mặc định). Default Value Xác định giá trị mặc định của tr−ờng. Validation Rule Quy tắc dữ liệu hơp lệ. Dữ liệu phải thoả mãn quy tắc nμy mới đ−ợc nhập. Required Không chấp nhận giá trị rỗng. Cần phải nhập một dữ liệu cho tr−ờng. AllowZeroLength Chấp nhận chuỗi rỗng trong tr−ờng Text, Memo. Indexed Tạo chỉ mục để tăng tốc độ tìm kiếm trên tr−ờng nμy Bμi giảng Access 17
  18. III.4. Chi tiết về các thuộc tính của tr−ờng III.4.1.Thuộc tính Field Size • Với tr−ờng Text Độ dμi mặc định lμ 50 Độ dμi hợp lệ có thể đặt lμ từ 1ặ255 • Với tr−ờng Number: Mặc định lμ Double (8 byte), có thể chọn các kiểu sau từ Combo Box: FieldSize Miền giá trị Số byte l−u trữ Byte Oặ255 1 Integer -32768ặ32767 2 LongInteger -2147483648ặ214743647 4 Single -3.4*l038 ặ3.4*1038 4 Double - 1.797*10308 ặ 1.797 * 10308 8 III.4.2.Thuộc tính Format. Nếu bỏ qua Format, Access sẽ trình bμy dữ liệu theo dạng General. Các giá trị của thuộc tính Format đối với tr−ờng Number (giả định Decimal Places=2 - Hai chữ số phần thập phân) Giá trị Format Số Đ−ợc trình bμy General Number 1234.5 1234.5 Fixed 1234.5 1234.50 1234.568 1235.57 Standard 1234.5 1,234.50 (dấu phẩy ngăn cách hμng ngμn) Percent 0.824 82.40 % Scientific 1234.5 1.23E+03 Bμi giảng Access 18
  19. Currency 1234.5 1,234.50(UK) (dấu phẩy hμng ngμn) Ghi chú: 1. General Number: Không phụ thuộc vμo Decimal Places, hiện số chữ số thập phân cần thiết nhất 2. Decimal Places = n : Mọi dạng (trừ General Number) hiện đúng n chữ số thập phân. 3. Decimal Places = Auto : Khi đó: Dạng Fixed: 0 số lẻ Dạng khác (trừ General): 2 số lẻ Các giá trị của thuộc tính Format đối với tr−ờng DATE/TIME. Giá trị Format Ngμy/giờ đ−ợc trình bμy General Date 1/31/92 4:30:00 PM (U.S) 31/01/92 16:30:00 (U.K) Long Date Friday, January 31 , 1992 (U.S) 31 January 1992 (U.K) Medium Date 31-Jan- 1992 Short Date 1/31/92 (U.S) 31/01/92(U.K) Long Time 4:30:00 PM Medium Time 04:30 phần mềm Short Time 16:30 Các giá trị của thuộc tính Format đối với tr−ờng YES/NO Giá trị Format ý nghĩa Yes/No Giá trị logic lμ Yes vμ No True/Falsse Giá trị logic lμ True vμ False Bμi giảng Access 19
  20. On/Off Giá trị logic lμ On vμ Off III.4.3.Thuộc tính Input Mask (mặt lạ nhập liệu). • Công dụng: 1. Tạo khuôn dạng nhập liệu cho dễ nhìn. Trên khuôn dạng có thể thấy các vị trí để nhập liệu vμ các ký tự phân cách (ví dụ dấu chấm phân cách phần nguyên vμ phần phân, dấu gạch ngang để phân cách các cụm ký tự của số tμi khoản, ) 2. Kiểm tra tính hơp lệ của mỗi ký tự gõ vμo. Tại mỗi vị trí trên khuôn dạng có thể quy định lớp ký tự đ−ợc phép gõ (ví dụ nếu quy định các chữ số thì Access sẽ không nhận các ký tự không phải lμ chữ số). 3. Tự động biến đổi ký tự đ−ợc nhập (ví dụ chuyển sang chữ hoa). 4. Che dấu thông tin gõ vμo: Dùng mặt nạ kiểu Password, khi đó các ký tự gõ vμo đ−ợc thể hiện thμnh dấu *. • Cách tạo mặt lạ nhập liệu: Mặt lạ nhập liệu lμ một dẫy ký tự gồm các loại sau: 1. Ký tự khuôn dạng: Mỗi ký tự khuôn dạng thể hiện một vị trí giμnh cho ký tự gõ vμo vμ quy định lớp ký tự đ−ợc gõ. 0 vị trí dμnh cho chữ số 0 9, bắt buộc 9 vị trí dμnh cho chữ số 0 9, không bắt buộc # vị trí dμnh cho chữ số, dấu + - dấu cách L vị trí dμnh cho một chữ cái, bắt buộc ? vị trí dμnh cho chữ cái hoặc dấu cách, không bắt buộc A vị trí dμnh cho ký tự chữ hoặc số, bắt buộc a vị trí dμnh cho ký tự chữ hoặc số, không bắt buộc & vị trí dμnh cho một ký tự bất kỳ, bắt buộc C vị trí dμnh cho một ký tự bất kỳ, không bắt buộc 2. Ký tự chuyển đổi gồm: Bμi giảng Access 20
  21. o Ký tự dùng để đổi các ký tự đứng sau < sang chữ hoa. 3. Ký tự canh phải lμ ký tự chấm than. Các ký tự nhập vμo sẽ đ−ợc dồn sang phải. Ví dụ nếu dùng mặt lạ: Input Mask: !aaaaa (a lμ ký tự khuôn dạng giμnh cho các ký tự chữ vμ số, không bắt buộc phải nhập). Nếu nhập 2 ký tự HA thì 2 ký tự nμy sẽ dồn bên phải vμ 3 dấu cách đặt bên trái. 4. Các ký tự phân cách. Các ký tự nμy đ−ợc hiển thị trên khuôn để tách các phần trong dẫy dữ liệu nhập vμo với mục đích dễ quan sát, dễ kiểm tra. Có thể dùng bất kỳ ký tự nμo ngoμi các ký tự trong 3 điểm trên lμm ký tự phân cách. Sau đây lμ một số ký tự phân cách hay dùng: o Dấu . để phân cách phần nguyên vμ phần phân. o Dấu , để phân cách hμng nghìn, triệu, tỷ, o Dấu - hoặc 1 dùng để phân cách trong dữ liệu Date/Time (tuỳ thuộc cách thiết lập trong mục Control Panel, Intemational) III.4.4. Thuộc tính Default Value Dùng thuộc tính nμy để đặt giá trị mặc định cho tr−ờng. Giá trị mặc định có thể lμ một hằng hay một hμm của Access. III.4.5. Thuộc tính Required (tr−ờng bắt buộc phải có số liệu) Muốn bắt buộc tr−ờng phải có số liệu ta đặt thuộc tính Required thμnh Yes. III.4.6. Thuộc tính AllowZerolength Nếu đặt lμ Yes sẽ cho phép các tr−ờng Text vμ memo nhận các chuỗi rỗng. Bμi giảng Access 21
  22. III.4.7. Thuộc tính ValidationRule Dùng thuộc tính nμy để kiểm tra sự hơp lệ của dữ liệu nhập vμo. Muốn vậy trong thuộc tính ValidationRule ta đặt một biểu thức (điều kiện) hơp lệ. Ví dụ: l00 giá trị nhập vμo phải bằng 0 hoặc lớn hơn 100 Like "K???" phải nhập 4 ký tự, ký tự đầu phải lμ K Like "CTY*" ba ký tự đầu phải lμ CTY -#l/1/91# and <#l/1/92# ngμy nhập phải trong năm 1991 III.4.8. Thuộc tính Indexed Thuộc tính nμy có thể nhận các giá trị: No Không tạo chỉ mục hoặc xoá chỉ mục đã lập Yes (Dupticates Ok) Tạo chỉ mục Yes (No Duplicates) Tạo chỉ mục kiểu Unique (các giá trị cần khác nhau nh− thể khoá chính). IV. Thay đổi thiết kế, chỉnh sửa cấu trúc bảng Khi thiết kế bảng, th−ờng có các yêu cầu sau: • Xoá một hoặc nhiều tr−ờng • Thay đổi tên, kiểu, mô tả vμ thuộc tính của tr−ờng • Thay đổi vị trí của tr−ờng • Thêm tr−ờng mới D−ới đây sẽ trình bμy cách để thực hịện những yêu cầu trên: • Xoá tr−ờng: Chọn tr−ờng, bấm phím Delete hoặc chọn Delete Row từ Menu Edit. Chú ý: Để xoá đồng thời nhiều tr−ờng, ta có thể dùng Bμi giảng Access 22
  23. các phím Shift vμ Ctrl để chọn các tr−ờng cần xoá, rồi bấm phím Delete hoặc chọn Edit, Delete Row. • Để thay đổi nội dung (tên, kiểu, ) của một tr−ờng, ta chỉ việc dùng bμn phím để thực hiện các thay đổi cần thiết. • Để chèn thêm một tr−ờng mới ta lμmnh−sau: Chọn tr−ờng mμ tr−ờng mới sẽ đ−ợc chèn vμo tr−ớc, rồi chọn Edit, Insert Row. • Di chuyển tr−ờng: Chọn tr−ờng cần di chuyển, rồi kéo tr−ờng tới vị trí mới. V. ĐặT KHOá CHíNH V.1. Định nghĩa Khoá chính lμ một hoặc nhiều tr−ờng xác định duy nhất một bản ghi. V.2. Lợi ích. Access tự động tạo chỉ mục (Index) trên khoá nhằm tăng tốc độ truy vấn vμ các thao tác khác. Khi xem mẫu tin (dạng bảng hay mẫu biểu), các mẫu tin sẽ đ−ợc trình bầy theo thứ tự khoá chính. Khi nhập số liệu, Access kiểm tra sự trùng nhau trên khoá chính. Access dùng khoá chính để tạo sự liên kết giữa các bảng. V.3. Xử lý khoá chính • Đặt khoá chính Chọn các tr−ờng lμm khoá chính. Chọn Edit, Primary key hoặc nhắp biểu t−ợng khoá trên thanh công cụ ặ Các tr−ờng đ−ợc chọn lμm khoá sẽ có hình chìa khoá ở đầu. • Đặt lại khoá chính - Chọn lại các tr−ờng lμm khoá, rồi cũng thực hiện nh− trên. • Xoá khoá chính: Khoá chính lμ không bắt buộc. Khi đã thiết lập khoá chính, mμ ta lại muốn xoá đi thì cách lμm nh− sau: Chọn View Bμi giảng Access 23
  24. ặIndexes. Kết quả nhận đ−ợc cửa sổ Indexes trong đó chứa các tr−ờng của khoá chính nh− sau: Chọn các tr−ờng (của khoá chính, mỗi tr−ờng trên một dòng) cần xoá rồi bấm phím Delete. VI. LƯU CấU TRúC BảNG Vμ ĐặT TÊN BảNG Sau khi hoμn chỉnh việc thiết kế, ta cần ghi cấu trúc bảng lên (ra vμ đặt tên cho bảng. Cách lμm nh− sau: Chọn File, Save hoặc bấm chuột tại biểu t−ợng save trên thanh công cụ . Khi ghi lần đầu thì Access sẽ hiện cửa sổ Save as: Trong hộp Table Name ta đ−a vμo tên bảng, rồi bấm OK. Ví dụ chọn tên bảng lμ [DANH SACH THI SINH]: Nếu trong thiết kế ch−a đặt khoá chính thì Access sẽ hỏi ng−ời sử dụng có muốn Access tự động đặt khoá chính (bằng tr−ờng ID có kiểu AutoNumber) nếu chọn YES, ng−ợc lại nếu chọn NO thì bảng không có khoá chính. Bμi giảng Access 24
  25. VII. Thay đổi cấu trúc bảng vμ nhập dữ liệu. VII.1. Thay đổi cấu trúc bảng Trong cửa sổ Tables chọn bảng cần thay đổi cấu trúc, rồi bấm nút Design. Kết quả nhận đ−ợc cửa sổ thiết kế của bảng đ−ợc chọn. Trong cửa sổ thiết kế ta có thể xem vμ thay đổi cấu trúc bảng nh− đã khi sử dụng cách tạo bảng bằng Design. Cuối cùng ghi lại các thay đổi. VII.2. Nhập dữ liệu vμo bảng. Để nhập dữ liệu vμo bảng đã tồn tại, ta lμm nh− sau: Từ cửa sổ Database chọn mục Table đề mở cửa sổ Tables. Trong cửa sổ Tables chọn bảng cần nhập dữ liệu, rồi bấm nút Open. Kết quả nhận đ−ợc cửa sổ nhập liệu chứa các bản ghi đã nhập. Ta có thể xem, sửa vμ bổ sung các bản ghi mới trong cửa sổ nhập liệu. Chú ý: Để chọn Font chữ thích hơp, ta dùng chức năng Font của menu Format. VII.3. Chuyến đổi giữa hai chế độ nhập dữ liệu vμ thiết kế bảng. Khi đang ở cửa sổ thiết kế, ta có thể chuyển sang cửa sổ nhập liệu vμ ng−ợc lại, bằng cách dùng menu View. Chọn menu View sẽ nhận đ−ợc các chức năng sau: Datasheet View – Hiện cửa sổ nhập dữ liệu, Design View – Hiện cửa sổ thiết kế Bμi giảng Access 25
  26. VIII. Lập quan hệ giữa các bảng. Access dùng quan hệ để đảm bảo những rμng buộc toμn vẹn giữa các bảng liên quan trong các phép thêm, sửa xoá bản ghi. Nguyên tắc đặt quan hệ lμ chỉ định một hoặc một nhóm tr−ờng chứa cùng giá trị trong các mẫu tin có liên quan. Thông th−ờng đăt quan hệ giữa khoá chính của một bảng với tr−ờng nμo đó của bảng khác (bảng nμy gọi lμ bảng quan hệ), các tr−ờng nμy th−ờng cùng tên, cùng kiểu. VIII.1. Các loại quan hệ trong Access. * Quan hệ 1-1: Các tr−ờng sử dụng để tạo quan hệ trong hai bảng đều lμ khoá chính. Khi đó, mỗi bản ghi trong bảng quan hệ phải có một bản ghi t−ơng ứng trong bảng khoá chính, ng−ợc lại, với mỗi giá trị khóa trong bảng chính thì chỉ có duy nhất một bản ghi t−ơng ứng trong bảng quan hệ. * Quan hệ 1-n: tr−ờng liên kết dùng trong bảng chính phải lμ khoá chính, còn tr−ờng trong bảng quan hệ không phải lμ khoá chính của bảng đó (khoá ngoại). VIII.2. Cách tạo quan hệ B1 : Trong cửa sổ Database, từ menu Tools chọn Relationships để mở cửa sổ Add Table: Tác dụng của 3 nút bên trên cửa sổ: - Nút Tables để hiện các bảng. Bμi giảng Access 26
  27. - Nút Queries để hiện các truy vấn. - Nút Both để hiện các bảng vμ các truy vấn. Chọn các bảng vμ truy vấn để đ−a vμo quan hệ. Sử dụng các phím Ctrl hoặc Shift để chọn nhiều bảng hoặc truy vấn, sau đó bấm nút Add. Sau khi chọn xong, bấm nút Close để đóng cửa sổ Show Table. B2: Chọn một tr−ờng từ bảng chính (Primary table) vμ kéo sang tr−ờng t−ơng ứng của bảng quan hệ, rồi bấm chuột tại Create để tạo quan hệ. Khi đó sẽ có đ−ờng thẳng nối giữa hai tr−ờng biểu diễn quan hệ vừa tạo, lúc nμy kiểu quan hệ mặc định theo tr−ờng chúng ta chọn để tạo quan hệ. Trong tr−ờng hợp muốn định nghĩa (hoặc thay đổi kiểu quan hệ) ta bấm nút Join Type để hiện các kiểu quan hệ: - Chọn kiểu quan hệ 1 để tạo mối quan hệ 1-1 (Chú ý: quan hệ nμy chỉ tạo đ−ợc khi hai tr−ờng đều lμ khóa chính) ặ bấm OK rồi bấm nút - Chọn kiểu quan hệ 2 để tạo quan hệ 1-n từ bảng chính sang bảng quan hệ. - Chọn kiểu quan hệ 3 để tạo quan hệ 1-n từ bảng quan hệ sang bảng chính Ví dụ: Giả sử CSDL NHAN SU gồm 3 bảng: [Danh sach nhan vien], [Ten tinh] vμ [Ngoai ngu] có cấu trúc nh− sau: Bμi giảng Access 27
  28. Ta tạo các quan hệ sau: - Quan hệ một – một giữa bảng [Danh sach nhan vien] vμ bảng [Ten tinh] theo cặp tr−ờng quan hệ [Ma tinh] – [Ma tinh] với ý nghĩa: một mã tỉnh chỉ t−ơng ứng với một tên tỉnh. - Quan hệ một – nhiều giữa bảng [Danh sach nhan vien] vμ bảng [ngoai ngu] theo cặp tr−ờng quan hệ [Ma NV] – [Ma NV] với ý nghĩa: một nhân viên có thể biết nhiều ngoại ngữ. Cách tạo các quan hệ: - Trong cửa sổ Show Table, chọn 3 bảng trên rồi nhấn Add - Nhấn nút Close để đóng cửa sổ Show Table, kết quả nhận đ−ợc 3 bảng vừa chọn trong cửa sổ Relationships nh− sau: - Nhấn chuột tại tr−ờng [Ma tinh] của bảng [DANH SACH NHAN VIEN], kéo sang tr−ờng [Ma tinh] của bảng [TEN TINH], nhả chuột rồi nhấn nút Join Type để chọn kiểu quan hệ: Bμi giảng Access 28
  29. - Chọn kiểu quan hệ 1, nhấn OK để tạo quan hệ - T−ơng tự, nhấn chuột tại tr−ờng [Ma NV] của bảng [DANH SACH NHAN VIEN], kéo sang tr−ờng [Ma NV] của bảng [NGOAI NGU], nhả chuột rồi nhấn nút Join Type để chọn kiểu quan hệ: - Chọn kiểu quan hệ 2, nhấn OK để tạo quan hệ. Kết quả có các đ−ờng quan hệ giữa các bảng nh− sau: VIII.3. Chỉnh sửa quan hệ. Có thể kéo bảng tới các vị trí khác để nhận đ−ợc các đ−ờng quan hệ dễ xem vμ đẹp hơn. Để xoá một quan hệ vừa lập, ta kích chuột tại đ−ờng quan hệ (sẽ thấy đ−ờng đậm hơn), rồi bấm phím Delete. VIII.4. Tính toμn vẹn tham chiếu Sau khi tạo mối quan hệ xong chúng ta cần phải tạo tính toμn vẹn tham chiếu cho các quan hệ. Với tính chất nμy các quan hệ sẽ đảm bảo khi có sự thay đổi về mặt dữ liệu trên các bản ghi của bảng chính (bảng bên 1 trong quan hệ) thì các bản ghi liên quan bên bảng quan hệ cũng thay đổi theo, ngoμi ra nó đảm bảo mỗi bản ghi thêm mới trong bảng quan hệ thì phải có bản ghi t−ơng ứng (về mặt khoá) trên bảng chính. Để tạo toμn vẹn tham chiếu ta chọn mục: • Enforce Referential Integnty: Đảm bμo việc nhập đúng (chỉ nhập đ−ợc các bản ghi trên bảng quan hệ khi giá trị tr−ờng dùng lμm khoá liên kết đã có trên bảng chính) Khi đã đánh dấu Enforce Referencial Integnty thì có thể sử dụng thêm các tuỳ chọn sau: Bμi giảng Access 29
  30. + Cascade Update Related fields : Khi sửa giá trị tr−ờng khoá trong bảng chính, giá trị t−ơng ứng của các bản ghi trong tr−ờng quan hệ sẽ bị sửa theo + Cascade Delete Related fields : Khi xoá một bản ghi trong bảng chính, các bản ghi t−ơng ứng trong bảng quan hệ sẽ bị xoá. Ví dụ: Khi thiết lập quan hệ giữa bảng [DANH SACH NHAN VIEN] vμ bảng [NGOAI NGU], nếu chọn các nút Enforce Referential Integnty, Cascade Update Related fields, vμ Cascade Delete Related fields sẽ nhận đ−ợc cửa sổ sau: ý nghĩa: Khi xoá, sửa các bản ghi trong bảng chính, Access sẽ điều chỉnh bảng quan hệ để tính vẹn toμn tham chiếu đ−ợc thoả mãn, cụ thể: - Cascade Update: Khi sửa giá trị tr−ờng khoá trong bảng chính, giá trị t−ơng ứng của các bản ghi trong tr−ờng quan hệ sẽ bị sửa theo. Ví dụ, khi thay đổi mã nhân viên trong bảng [DANH SACH NHAN SU] thì mã nhân viên t−ơng ứng trong bảng [NGOAI NGU] cũng bị sửa theo. - Cascade Delete: Khi xoá một bản ghi trong bảng chính, các bản ghi t−ơng ứng trong tr−ờng quan hệ sẽ bị xoá theo. Ví dụ, khi xoá một bản ghi trong bảng [DANH SACH NHAN SU] thì các bản ghi t−ơng ứng trong bảng [NGOAI NGU] cũng bị xoá theo. Chú ý: Mối quan hệ giữa các bảng có thể thiết lập sau nμy khi thiết kế một truy vấn từ nhiều bảng. Bμi giảng Access 30
  31. VIII.5. Xem vμ điều chỉnh các quan hệ đã có trong CSDL. VIII.5.1. Xem các quan hệ đã có Từ menu Tools chọn RelationShips Từ RelationShips chọn Show All để xem tất cả quan hệ Muốn xem các quan hệ của một bảng, chọn bảng đó, chọn Show Direct từ RelationShips. VIII.5.2. Chỉnh sửa Chọn quan hệ cần sửa ặBấm nút phải chuột ặChọn mục Edit Relationship để mở cửa sổ Relationships Tiến hμnh chỉnh sửa trong cửa sổ nμy (nh− chọn kiểu quan hệ, chọn tính toμn vẹn tham chiếu, ) VIII.5.3. Xoá Cho hiện các quan hệ Chọn quan hệ cần xoá (di chuột đến vμ bấm) Bấm phím Delete hoặc chọn Delete từ menu Edit IX.THUộC TíNH CủA BảNG * Tác dụng: áp dụng trên toμn bảng, toμn bộ mẫu tin. IX.1. Các thuộc tính của bảng. Thuộc tính Công dụng Description Mô tả những nét chung của bảng Validation Rule Access kiểm tra quy tắc (điều kiện) nμy tr−ớc khi cho nhập một mẫu tin vμo bảng Validation Text Thông báo lỗi khi một bản ghi vi phạm qui tắc Bμi giảng Access 31
  32. IX.2. Đặt thuộc tính. 1. Mở bảng trong chế độ Design View. 2. Từ menu View chọn Table Properties để hiện các dòng thuộc tính của bảng. 3. Đ−a điều kiện sau vμo dòng thuộc tính Validation Rule: Ví dụ: Validation Rule: [NG_VL] > [NG_SINH] and [TUOI] <= 60 (phóng to thu nhỏ bằng Shift F12) Với điều kiện trên, khi nhập dữ liệu Access sẽ kiểm tra các lỗi: ngμy sinh sau ngμy vμo lμm việc vμ tuổi không quá 60. 4. Chọn Save từ menu File để ghi các thay đổi. Bμi giảng Access 32
  33. CHƯƠNG III. TRUY VấN (QUERY) Truy vấn lμ một công cụ mạnh của Access dùng để: Tổng hợp, sắp xếp vμ tìm kiếm dữ liệu. I. CáC LOạI TRUY VấN Loại thông dụng nhất lμ Select Query (truy vấn chọn) với các khả năng nh−: • Chọn bảng, query khác lμm nguồn dữ liệu. • Chọn các tr−ờng hiển thị. • Thêm các tr−ờng mới lμ kết quả thực hiện các phép tính trên các tr−ờng của bảng nguồn. • Đ−a vμo các điều kiện tìm kiếm, lựa chọn. • Đ−a vμo các tr−ờng dùng để sắp xếp. Sau khi truy vấn thực hiện, dữ liệu rút ra đ−ợc tập hơp vμo một bảng kết quả gọi lμ Dynaset, nó hoạt động nh− một bảng. Mỗi lần mở truy vấn, Access lại tạo một Dynaset gồm kết quả mới nhất của các bảng nguồn. Có thể chỉnh sửa, xoá, bổ sung thông tin vμo các bảng nguồn thông qua Dynaset. Ngoμi truy vấn Select Query ra, còn có các loại truy vấn khác lμ: • Crosstab Query: Thể hiện dữ liệu dạng hμng cột. • Action Query: Tạo bảng mới, thêm, xoá, sửa các mẫu tin trong bảng. • Union Query: Kết hơp các tr−ờng t−ơng ứng từ hai hay nhiều bảng. • Data-definition Query: Truy vấn đ−ợc xây dựng từ một câu lệnh SQL dùng để tạo mới hoặc thay đổi cấu trúc của bảng. II. CáC BƯớC CHíNH Để TạO (THIếT Kế) MộT TRUY VấN MớI Truy vấn thực chất lμ một câu lệnh SQL đ−ợc xây dựng nhờ công cụ của Access dùng để tổng hợp dữ liệu từ các bảng nguồn. Khi thực hiện truy vấn, ta nhận đ−ợc bảng tổng hơp gọi lμ bảng Dynaset. Dynaset không phải lμ Bμi giảng Access 33
  34. bảng, nó không đ−ợc ghi vμo đĩa vμ nó sẽ bị xoá ngay sau khi kết thúc (đóng) truy vấn. Truy vấn lμ một công cụ mạnh của Access dùng để: Tổng hợp, sắp xếp vμ tìm kiếm dữ liệu. Một truy vấn đã tạo có thể sử dụng để tạo các truy vấn khác (cũng nh− thể một thủ tục có thể đ−ợc sử dụng để xây dựng thủ tục khác). Các b−ớc chính để xây dựng một truy vấn gồm: 1. Chọn nguồn dữ liệu cho truy vấn mới, gồm: các bảng vμ các truy vấn đã đ−ợc tạo từ tr−ớc . 2. Tạo lập quan hệ giữa các bảng, truy vấn nguồn. 3. Chọn các tr−ờng từ các bảng, truy vấn nguồn để đ−a vμo truy vấn mới. 4. Đ−a vμo các điều kiện để chọn lọc các mẫu tin thoả mãn các điều kiện đ−a vμo. Nếu không đ−a vμo các điều kiện để chọn lọc, thì kết quả (Dynaset) của truy vấn bao gồm tất cả các bản ghi từ các bảng, truy vấn nguồn. 5. Chọn các tr−ờng dùng để sắp xếp các mẫu tin trong Dynaset. Nếu không chọn tr−ờng sắp xếp, thì các mẫu tin trong Dynaset đ−ợc hiển thị theo thứ tự nh− trong các bảng nguồn. 6. Xây dựng các cột (tr−ờng) mới từ các tr−òng đã có trong bảng, truy vấn nguồn. Ví dụ: Tr−ờng mới lμ tổng, hiệu, tích, th−ơng của hai tr−ờng có sẵn nμo đó. Khi xây dựng tr−ờng mới, có thể sử dụng các phép toán, các hμm chuẩn của Access vμ các hμm tự lập bằng ngôn ngữ Access Basic . III- tạo query bằng design view Trong phần nμy, ta xét một ví dụ điển hình vμ thực hiện từng b−ớc tạo một truy vấn thông qua ví dụ đó: Giả sử trong CSDL TSINH có 3 bảng: • Bảng DSTS (danh sách thí sinh) gồm các tr−ờng: - HO TEN: kiểu Text - SOBD (Số báo danh): kiểu Integer Bμi giảng Access 34
  35. - NAM SINH: Kiểu Date/time - TEN TINH (tỉnh quê quán của thí sinh): kiểu Text • Bảng BD_PHACH (báo danh vμ phách) gồm các tr−ờng: - SOBD (Số báo danh): kiểu Integer - PHACH (số phách): kiểu Integer • Bảng PH_DIEM (phách vμ điểm) gồm các tr−ờng: - PHACH (số phách): kiểu Integer - DTOAN (điểm toán): kiểu Double - DLY (điểm lý): kiểu Double - DHOA (điểm hoá): kiểu Double Yêu cầu xây dựng một bảng tổng hợp từ 3 bảng trên gồm các tr−ờng: - HO TEN - DLY - SOBD - DHOA - TEN TINH - TONG DIEM - DTOAN Tr−ờng TONG DIEM lμ tr−ờng mới, lμ tổng các tr−ờng DTOAN, DLY, vμ DHOA. Bảng tổng hợp chỉ gồm các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn (giả sử điểm chuẩn lμ 16), sắp xếp theo chiều tăng của tr−ờng TEN TINH vμ thứ tự giảm của tr−ờng TONG DIEM. Để giải quyết bμi toán trên, ta xây dựng truy vấn KET QUA TS (kết quả tuyển sinh) theo từng b−ớc. III. 1-Tạo Select Query III.1.1. Tạo Select Query dùng để chọn các tr−ờng, các bản ghi vμ tính toán B−ớc 1: Mở cửa sổ Query Designer - Từ Database Windows, chọn Queries Tab, chọn New - Chọn Design View, OK - Đ−a các bảng hay truy vấn hoặc cả hai vμo truy vấn từ hộp thoại Show Table: Bμi giảng Access 35
  36. . Chọn tên các bảng: DSTS, BD_PHACH, PH_DIEM, sau đó nhấn nút Add . Close : Đóng hộp thoại Show Table Kết quả nhận đ−ợc cửa sổ Select query: B−ớc 2: Tạo mối quan hệ giữa các bảng: - Quan hệ 1-1 giữa bảng DSTS vμ bảng BD_PHACH theo tr−ờng quan hệ SOBD - Quan hệ 1-1 giữa bảng BD_PHACH vμ bảng PH_DIEM theo tr−ờng quan hệ PHACH B−ớc 3: Chọn các tr−ờng đ−a vμo truy vấn, bằng cách kéo tên tr−ờng trong các bảng, truy vấn ở bên trên vμo dòng Field ở phần d−ới. (Có thể chọn nhiều tr−ờng rồi kéo một lần). Trong ví dụ, ta chọn các tr−ờng: HO TEN, SOBD, TEN TINH của bảng DSTS; tr−ờng PHACH của bảng BD_PHACH vμ tr−ờng DTOAN, DLY, DHOA của bảng PH_DIEM. Kết quả nhận đ−ợc: Bμi giảng Access 36
  37. B−ớc 4 . Sắp xếp lại, chèn vμ xoá các tr−ờng trong QBE (Phần thiết kế query gọi lμ QBE), điều chỉnh độ rộng các cột. • Di chuyển tr−ờng: o Đ−a chuột lên ngay đầu tên tr−ờng sao cho hiện ra dấu mũi tên đen quay xuống thì bấm chuột để chọn tr−ờng (cả khối tr−ờng đ−ợc chọn sẽ đổi mầu đen). o Đ−a chuột vμo khối chọn rồi kéo tới vị trí mới. • Chèn thêm tr−ờng: o Chọn tr−ờng muốn chèn từ danh sách (phần trên) o Kéo tr−ờng đó vμo một cột trong vùng QBE (phần d−ới) • Xóa tr−ờng trong vùng QBE o Chọn tr−ờng cần xoá (nh− khi chọn để di chuyển) o Bấm phím Delete hoặc chọn Delete từ menu Edit • Điều chỉnh độ rộng cột trong vùng QBE: Nếu cột trong vùng QBE quá lớn hay quá nhỏ đối với dữ liệu của tr−ờng, ta có thể chỉnh lại kích th−ớc cột cho phù hơp theo các cách sau: o Đ−a chuột đến đầu cạnh bên phải của cột muốn chỉnh sao cho hiên ra mũi tên hai đầu thì kéo đến kích th−ớc mới. Bμi giảng Access 37
  38. o Chỉnh nhanh độ rộng cột vừa vặn nhất đối với dữ liệu trong cột bằng cách: ƒ Bấm kép vμo đ−ờng chia cột tại đầu bên phải cột cần chỉnh (đ−a chuột vμo sao cho hiện ra dấu mũi tên hai đầu). ƒ Nếu chọn nhiều cột thì chỉ cần bấm đúp chuột theo cách trên ở tại một cột trong vùng chọn. (để chọn nhiều cột có thể dùng phím Shift, hoặc kéo chuột). ƒ Khi đã chỉnh xong, nếu ta lại nhập thêm một giá trị dμi hơn độ rộng đã đ−ợc chỉnh, thì ta lại phải chỉnh lại lần nữa vì Access không tự điều chỉnh lại đ−ợc. B−ớc 5: Thể hiện tên bảng trong QBE. (B−ớc nμy có thể không cần) Nhằm tạo cho ta cảm giác thuận tiện khi quan sát vμ thao tác. Để có thêm dòng table (trong QBE) chứa tên bảng/truy vấn nguồn, ta lμm nh− sau: Chọn Table Names từ menu View Chú ý: Nếu muốn Access tự động thể hiện tên bảng mỗi lần mở truy vấn ở chế độ Design view hoặc tạo truy vấn mới, thì ta chọn Options từ menu Tools, sau đó chọn Tables/Queries trong cửa sổ Options, rồi chọn mục Show Table Names. B−ớc 6: . Đổi tên tr−ờng trong vùng QBE, thêm tr−ờng biểu thức.( (B−ớc nμy có thể không cần) Tên mới sẽ đ−ợc hiện thị trong bảng kết quả (bảng Dynaset) của truy vấn. Nh− vậy có thể dùng các tên mới có ý nghĩa hơn so với tên tr−ờng. * Cách đ−a vμo tên mới: Gõ tên mới ngay tr−ởc tên tr−ờng. Đặt dấu: giữa tên mới vμ tên tr−ờng ( : ) Ví dụ: Ta có thể đặt tên mới cho tr−ờng [DTOAN], {DLY] vμ [DHOA] nh− sau: DIEM TOAN : DTOAN, DIEM LY : DLY, DIEM HOA : DHOA Chú ý: Trong các hμm, thủ tục (viết bằng Access Basic) sẽ dùng lên mới (không dùng tên tr−ờng). • Cách đ−a vμo các tr−ờng mới (tr−ờng biểu thức) : Chọn một ô còn trống trên hμng Field, gõ vμo đó tên tr−ờng biểu thức, sau đó đặt dấu Bμi giảng Access 38
  39. “:” rồi đ−a vμo một biểu thức( : ). Trong biểu thức có thể dùng tên các tr−ờng, các hằng, các phép tính, các hμm của chuẩn Access vμ các hμm tự lập. Trong ví dụ nμy ta đ−a vμo tr−ờng mới [TONG DIEM] nh− sau: TONG DIEM:[DTOAN]+[DLY]+[DHOA] Chú ý: Khi soạn thảo trên một ô của dòng Field, ta có thể phóng to ô đó bằng cách: - Chọn ô (trên dòng Field) để soạn thảo. - Bấm nút chuột phải. Kết quả hiện một hộp có chứa các dòng: Build, Zoom, Properties ặ Chọn mục Zoom. Kết quả hiện cửa sổ Zoom. - Soạn thảo các nội dung cần thiết trong cửa sổ Zoom, rồi bấm nút OK để trở về cửa sổ Select Query. D−ới đây lμ cửa sổ Zoom của tr−ờng tong diem: Chú ý : - Có thể phóng to ô lập biểu thức bằng cách ấn Shift +F2 - Các tr−ờng tham gia trong biểu thức phải đặt trong dấu[ ] - Nếu tr−ờng tham gia biểu thức nằm ở bảng khác ta phải chỉ rõ tên bảng chứa tr−ờng đó nh− sau: [ ].[ ] *Các hμm th−ờng dùng khi lập biểu thức tính - Nhóm hμm văn bản : Bμi giảng Access 39
  40. +Hμm Left : Lấy n kí tự bên trái chuỗi =Left( , n) +Hμm Right: Lấy n kí tự bên phải chuỗi =Right( , n) +Hμm Mid : Lấy n kí tự từ vị trí m của chuỗi =Mid( , m , n) - Nhóm hμm ngμy tháng + Hμm DatePart . C/năng : lấy ra các thμnh phần của ngμy tháng . Cú pháp : DatePart( , ) . Thμnh phần ngμy tháng đặt trong dấu “ “ gồm : d : Ngμy w : Ngμy trong tuần ww: Tuần m: Tháng q : quý yyyy : Năm + Hμm Date() : Ngμy -tháng- năm hiện tại Day( ) : lấy ra ngμy Month( ) : lấy ra tháng Year( ) : lấy ra năm - Hμm điều kiện (IIF) + C/năng : lấy ra giá trị thoả mãn tiêu chuẩn + Cú pháp tr−ờng hợp biểu thức có 2 giá trị để lựa chọn : IIF( , , ) ĐK lμ một biểu thức logic cho kết quả đúng (True) or sai (False): Nếu ĐK đúng (True): lấy giá trị 1, Nếu ĐK sai (False): lấy giá trị 2 Giá trị lấy ra có thể lμ : Số, biểu thức, chuỗi kí tự đặt trong dấu nháy kép (“ “) Bμi giảng Access 40
  41. Trong tr−ờng hợp biểu thức có n lựa chọn ta phải dùng các hμm IIF lồng nhau. B−ớc 7: Định thứ tự sắp xếp. Mục đích lμ để cho bảng kết quả hiện ra theo thứ tự nμo đó. Thao tác: • Nhấn chuột vμo ô Sort của tr−ờng cần sắp xếp • Chọn Chiều Ascending (giảm dần) hoặc Descending (tăng dần). • Nếu sắp theo nhiều tr−ờng thì thứ tự −u tiên từ trái sang phải. Trong ví dụ nμy, ta chọn: - Tr−ờng TEN TINH chiều Ascending - Tr−ờng TONG DIEM chiều Descending B−ớc 8: Lập tiêu chuẩn lựa chọn (điều kiện tìm kiếm). Mục đích để chỉ hiện những thông tin cần quan tâm trong bảng kết quả, chẳng hạn nh− chỉ hiện ra những thí sinh đỗ theo điểm chuẩn nμo đó. Cách lμm: • Gõ trực tiếp một biểu thức điều kiện vμo ô Criteria của các tr−ờng cần đặt điều kiện. • Hoặc có thể dùng cửa sổ xây dựng biểu thức hoặc cửa sổ Zoom (Cách mở cửa sổ Zoom đã trình bầy bên trên). Để mở cửa sổ xây dựng biểu thức cho ô Criteria của tr−ờng nμo, ta bấm nút phải chuột tại ô Criteria của tr−ờng, rồi chọn mục Build. Trong ví dụ nμy, ta đ−a vμo ô Criteria của tr−ờng TONG DIEM biểu thức điều kiện: >=16 * Các phép toán vμ biểu thức dùng để lập tiêu chuẩn chọn các bản ghi - Toán tử so sánh : =; >; =; - Toán tử Between And - Phép toán Logic + AND : hội các ĐK Bμi giảng Access 41
  42. + OR : Tuyển - Biểu thức kết hợp các chuỗi ký tự: & - Kí tự thay thế (toán tử Like) + ? : Thay thế cho 1 ký tự + * : Thay thế cho 1 nhóm ký tự Ví dụ : Đ−a ra DS khách hμng có tên đầu lμ Công ty Like “Công ty* ” - Biểu thức Null vμ Not is Null.(đ−a ra danh sách trống hoặc không trống). Chú ý: Các điều kiện viết trên cùng dòng Criteria lμ các điều kiện đồng thời thoả mãn (Đk AND). Các điều kiện viết trên các dòng khác nhau lμ điều kiện OR. B−ớc 9: Không thể hiện (ẩn) một số tr−ờng trong truy vấn. Mục đích để chỉ hiện những tr−ờng cần quan tâm trong bảng kết quả Cach lμm: Bấm chuột tại ô tích (hình vuông) trong hμng Show của tr−ờng cần ẩn để đ−a về dạng rỗng . Nếu muốn bỏ ẩn ta bấm chuột lần nữa tại ô nμy. B−ớc 10. Thiết lập thuộc tính các tr−ờng (trong truy vấn) Nhằm quy định cách thức hoạt động của truy vấn nói chung. Có thể đặt thuộc tính cho từng tr−ờng hoặc cả truy vấn. Để mở bảng thuộc tính của tr−ờng nμo: tr−ớc tiên cần chọn tr−ờng đó (Bấm chuột tại ô Field của tr−ờng cần chọn), sau đó hoặc chọn Properties từ menu View hoặc bất nút phải vμ mục Properties. Để mở bảng thuộc tính của truy vấn ta lμm nh− sau: Chọn cả truy vấn (bằng cách bấm chuột bên bên ngoμi QBE vμ ngoμi các bảng/truy vấn nguồn ở phần trên) sau đó tiến hμnh nh− khi mở bảng thuộc tính của tr−ờng. Sau khi đã mở bảng thuộc tính (của tr−ờng hay truy vấn), ta tiến hμnh chọn các giá trị thích hơp cho các thuộc tính (nh− khi đặt thuộc tính cho các tr−ờng của bảng). Bμi giảng Access 42
  43. • Thuộc tính của truy vấn vμ bảng/truy vấn nguồn Theo mặc nhiên tr−ờng trong truy vấn kế thừa các thuộc tính trong bảng/truy vấn nguồn. Vì vậy nếu không đặt lại các thuộc tính cho một tr−ờng trong truy vấn, thì tr−ờng sẽ có các thuộc tính nh− trong bảng/truy vấn nguồn. B−ớc 11. Các dạng hiển thị truy vấn. Truy vấn có thể hiện thị theo các dạng sau : - Design View (dạng thiết kế) - SQL View (câu lệnh SQL t−ơng ứng) - Datasheet View (Bảng kết quả của truy vấn) Khi đang thiết kế truy vấn (truy vấn đang ở dạng Query Design) ta có thể chuyển sang các dạng khác bằng cách: + Chọn menu View. Kết quả nhận đ−ợc các mục của menu View mμ 3 mục đầu lμ tiêu đề 3 dạng nói trên. ặ Muốn xem truy vấn ở dạng nμo ta chọn mục t−ơng ứng với dạng đó B−ớc 12. Ghi truy vấn Sau khi đã hoμn chỉnh việc thiết kế cần ghi cấu trúc của truy vấn lên (ra. Cách lμm: Dùng Save từ menu File, hoặc bấm chuột tại biểu t−ợng ghi trên thanh công cụ . Access sẽ yêu cầu đặt tên với lần ghi đầu tiên. B−ớc 13. Ra khỏi cửa sổ thiết kế truy vấn để trở về cửa sổ Database Cách lμm: Chọn Close từ menu File hoặc đóng cửa sổ thiết kế truy vấn B−ớc 14. Thực hiện truy vấn đã có. Ta lμm nh− sau: Chọn truy vấn cần thực hiện (trong cửa sổ Queries) rồi bấm nút Open. Khi đó sẽ nhận đ−ợc bảng kết quả (bảng Dataset) của truy vấn. Ta có thể xem, sửa vμ bổ sung dữ liệu trên bảng Dataset. B−ớc 15. Hiển thị các mẫu tin không trùng lặp Khi một truy vấn cần đ−a ra các bản ghi mμ không có các bản ghi trùng lặp về giá trị thì ta chọn thuộc tính Uniqlle Values của truy vấn vμ đặt giá trị Yes cho thuộc tính nμy: Bμi giảng Access 43
  44. III.1.2. Tạo Select Query dùng để tính tổng theo nhóm dữ liệu. * Chức năng: cho phép thiết lập câu hỏi với nhóm dữ liệu Ví dụ: - Công ty nhận đ−ợc bao nhiêu đơn đặt hμng trong tháng - Giá trung bình các mặt hμng trong nhóm điện tử lμ ? - Số l−ợng bán ra trong tuần của mỗi mặt hμng ? * Các hμm th−ờng dùng : . SUM : Tính tổng các giá trị trong tr−ờng . AVERAGE : Tính TB cộng các giá trị trong tr−ờng. . MAX : Tính giá trị lớn nhất trong tr−ờng . MIN : Tính giá trị nhỏ nhất trong tr−ờng . COUNT : Đếm số giá trị khác rỗng trong tr−ờng . STDEV : Tính độ lệch chuẩn các giá trị trong tr−ờng . First : Tính giái trị đầu tiên trong tr−ờng . Last : Tính giái trị cuối trong tr−ờng . * Tính tổng tất cả các giá trị trong tr−ờng. ->Tạo truy vấn mới -> Đ−a các bảng cần thiết vμo truy vấn -> Mở View / Totals hoặc kích nút Totals trên thanh toolbar -> Đặt các tuỳ chọn : . Field : Các tr−ờng cần thiết . Total : Chọn hμm cần tính t−ơng ứng với mỗi tr−ờng cần tính -> Thực hiện truy vấn : Mở Query / Run Ví dụ : Tính giá Tb vμ tính tổng số mặt hμng Bμi giảng Access 44
  45. * Tính tổng theo từng nhóm DL ->Tạo truy vấn mới -> Đ−a các bảng cần thiết vμo truy vấn -> Mở View / Totals hoặc kích nút Totals / toolbar -> Đặt các tuỳ chọn : .Trên dòng Field : đặt các tr−ờng cần thiết . Trên dòng Total : ƒ Chọn Group By : Phân nhóm vμ sắp xếp các mẫu tin trong từng nhóm theo các tr−ờng phân nhóm. Nhóm lμ dãy các bản ghi có giá trị nh− nhau trên các tr−ờng phân nhóm ( Chú ý: Luôn luôn sắp xếp theo chiều tăng, nếu thay đổi thì chọn phần Sort vμ sắp xếp lại). ƒ Chọn hμm cần tính t−ơng ứng với mỗi tr−ờng cần tính. Thực hiện phép tính theo từng nhóm trên các tr−ờng tính toán (có hμm Sum, Avg, ) trên ô Total. ƒ Chọn Expression ứng với tr−ờng biểu thức (nếu có) ƒ Chọn Where ứng với tr−ờng lấy tiêu chuẩn . Criteria : Lập tiêu chuẩn chọn nhóm DL cần tính Chú ý: Điều kiện, tiêu chuẩn tham gia phân nhóm vμ tính tổng: - Có chữ Where trên ô Total - Có biểu thức điều kiện trên ô Criteria III.1.3 Tạo Select Query dùng hỏi -đáp dữ liệu -> Tạo truy vấn mới -> Đ−a các bảng cần thiết vμo truy vấn -> Mở View / Totals hoặc kích nút Totals trên toolbar -> Chọn các tr−ờng cần thiết trên dòng Field -> Nhập các câu hỏi với dữ liệu ứng với tr−ờng cần hỏi trên dòng Criteria (khi chạy Query nμy sẽ hiện lên câu hỏi cho ng−ời sử dụng nhập dữ liệu vμo, dữ liệu đ−ợc nhập vμo thay cho điều kiện lọc dữ liệu trên query) Chú ý : - Câu hỏi tuỳ đặt phải đặt trong dấu [ ] tối đa 255 kí tự - Có thể đ−a biểu thức hỏi kèm cùng các phép toán, biểu thức đã nói ở trên để tạo ra một điều kiện cụ thể: Ví dụ: Cần tạo truy vấn từ các bảng CSDL TSINH để tìm các thí sinh theo các điều kiện: 9 Nhóm ký tự đầu của tên tỉnh Bμi giảng Access 45
  46. 9 Nhóm ký tự cuối của tên tỉnh 9 Giá trị nhỏ nhất của điểm toán 9 Giá trị lớn nhất của điểm toán Các b−ớc thiết kế truy vấn: • B−ớc 1: Chọn 3 bảng vμ đ−a các tr−ờng HO TEN, SOBD, TEN TINH, DTOAN, DLY, DHOA vμo truy vấn. • B−ớc 2: Đ−a thêm tr−ờng TONG DIEM. • B−ớc 3: Đ−a vμo ô Criteria của tr−ờng TEN TINH nội dung: Like [Nhóm ký tự đầu] & “*” & [Nhóm ký tự cuối] • B−ớc 4: Đ−a vμo ô Criteria của tr−ờng DTOAN nội dung: >=[Từ điểm] And <=[Đến điểm], cửa sổ truy vấn khi đó có dạng: Khi thực hiện truy vấn trên, Access sẽ lần l−ợt yêu cầu đữ vμo 4 giá trị: 9 Nhóm ký tự đầu của tên tỉnh 9 Nhóm ký tự cuối của tên tỉnh 9 Giá trị nhỏ nhất của điểm toán 9 Giá trị lớn nhất của điểm toán Sau đó sẽ đ−a ra danh sách các thí sinh thoả mãn các yêu cầu cần tìm. * Quy định kiểu dữ liệu cho các thông số Để qui định kiểu dữ liệu cho các thông số, ta lμm nh− sau: 1. Mở truy vấn thông số ở chế độ Design View 2. Chọn mục Parameters từ menu Query để mở cửa sổ Query Parameters Bμi giảng Access 46
  47. 3. Lần l−ợt đ−a vμo tên thông số vμ chọn kiểu dữ liệu thích hợp. Ví dụ, chọn kiểu Double cho các thông số “Từ điểm” vμ “Đến điểm”: 4. Chọn OK II.2. Tạo Crosstab Query *Tạo truy vấn mới -> Đ−a các bảng cần thiết vμo truy vấn -> Mở Query / Crosstab Query -> Chọn các tr−ờng cần thiết trên dòng Field -> Trên dòng Total . Chọn Group ứng với tr−ờng cần nhóm . Chọn hμm tính toán ứng với tr−ờng cần tính . Chọn Expression ứng với tr−ờng biểu thức . Chọn Where ứng với tr−ờng lấy điều kiện -> Trên dòng Crosstab: . Chọn Row Heading ứng với tr−ờng lấy lμm tiêu đề dòng . Chọn Column Heading ứng với tr−ờng lấy lμm tiêu đề cột . Chọn Value ứng với tr−ờng tính giá trị -> Thực hiện Query : Mở Query / Run -> Ghi truy vấn III.3. Tạo Action Query III.3.1. Make Table Query (Truy vấn tạo bảng) B1: Tạo truy vấn mới B2:- Mở Query / Make Table Query -Đặt tên bảng dữ liệu mới vμo dòng Table name, chọn OK Bμi giảng Access 47
  48. B3: Thiết kế truy vấn -> Chọn các tr−ờng cần lấy ở các ô trên dong Field -> Chọn cách sắp xếp Dữ liệu t−ơng ứng trên dòng Sort -> Lập tiêu chuẩn chọn các bản ghi ở ô trên dòng Criteria ->Ghi vμ thực hiện Query III.3.2. Append Query (Truy vấn nối) B1: Tạo truy vấn mới B2: Mở Query / Append Query -> Chọn tên bảng nhận dữ liệu (đích) ở dòng Table name, chọn OK B3: Thiết kế truy vấn -> Chọn các tr−ờng cần lấy ở các ô trên dòng Field -> Chọn cách sắp xếp Dữ liệu t−ơng ứng trên dòng Sort -> Chọn các tr−ờng nhận dữ liệu ở bảng đích trên dòng Append to -> Lập tiêu chuẩn chọn các bản ghi ở ô trên dòng Criteria ->Ghi vμ thực hiện Query III.3.3. Update Query (Truy vấn cập nhật) QBE B1: Tạo truy vấn mới B2: Mở Query / Update Query B3: Thiết kế truy vấn -> Chọn các tr−ờng cần thiết ở các ô trên dòng Field -> Chọn cách sắp xếp Dữ liệu t−ơng ứng trên dòng Sort -> Lập biểu thức ở ô trên dòng Update to ứng với tr−ờng cần cập nhật biểu thức : có thể gồm Các giá trị, các tr−ờng, các phép toán, các hμm, -> Lập tiêu chuẩn chọn các bản ghi ở ô trên dòng Criteria ->Ghi vμ thực hiện Query III.3.4. Delete Query (Truy vấn xoá) B1: Tạo truy vấn mới B2: Mở Query / Delete Query B3: Thiết kế truy vấn -> Chọn các tr−ờng cần thiết ở các ô trên dòng Field -> Lập tiêu chuẩn chọn các bản ghi cần xoá ở ô trên dòng Criteria ứng với tr−ờng lấy tiêu chuẩn. Bμi giảng Access 48
  49. ->Ghi vμ thực hiện Query IV. tạo query bằng wizard IV.1. Tạo Select Query bằng wizard * Chọn Queries tab, chọn New * Chọn Simple Query Wizard * Thực hiện các b−ớc theo chỉ dẫn của hộp thoại Simple Query Wizard B1: Chọn tên bảng vμ các tr−ờng cần thiết, chọn Next B2: Chọn chế độ -Detail : Lấy thông tin chi tiết -Summary : Tóm tắt dự liệu theo nhóm B3 : đặt tên query, Chọn Finish IV.2. Tạo Crosstab Query bằng wizard * Chọn Queries tab, chọn New * Chọn Crosstab Query Wizard * Thực hiện các b−ớc theo chỉ dẫn của hộp thoại Crosstab Query Wizard B1: Chọn bảng dữ liệu nguồn, chọn Next B2: Chọn tr−ờng lấy lμm tiêu đề dòng(Row heading ), chọn Next B3: Chọn tr−ờng lấy lμm tiêu đề cột(Column Heading), chọn Next B4 : Chọn tr−ờng cần tính giá trị (Value) vμ hμm cần tính, chọn Next B5 : Đặt tên Query, chọn Finish V- tạo, sửa query bằng mã lệnh sql V.1-Cấu trúc các câu lệnh tạo Query SELECT Tên bảng.Tr−ờng1, Tên bảng.tr−ờng 2, FROM Tên bảng dữ liệu WHERE Điều kiện; Ví dụ : Cho bảng LILICH(MANV, HOTEN, GIOITINH) Tạo truy vấn đ−a ra danh sách các nhân viên Nam ta viết nh− sau: SELECT LILICH.MANV, LILICH.HOTEN, LILICH.GIOITINH FROM LILICH WHERE (((LILICH.GIOITINH)="yes")); Bμi giảng Access 49
  50. V.2.Cách tạo vμ sửa Query bằng SQL * Chọn New từ Query tab * Đ−a bảng hay truy vấn vμo truy vấn * Mở View, chọn SQL View Ta có cửa sổ, trên cửa sổ đó: -> Viết các câu lệnh chọn các tr−ờng cần thiết vμ điều kiện chọn bản ghi theo cấu trúc trên -> Ghi vμ thực hiện truy vấn Ví dụ1 : Cho bảng DIEM(MASV,TIN,ANH,KT) Đ−a ra danh sách những sinh viên có điểm tin >=5 vμ điểm Anh>=0 vμ điểm Kt>=5 ta viết nh− sau: SELECT DIEM.masv, DIEM.Tin, DIEM.Anh, DIEM.KT FROM DIEM WHERE (((DIEM.Tin)>=5) AND ((DIEM.Anh)>=5) AND ((DIEM.KT)>=5)); Ví dụ2 : Cho bảng DIEM(MASV,TIN,ANH,KT) Đ−a ra danh sách những sinh viên có điểm tin >=5 hoặc Tổng điểm >=18 ta viết nh− sau: SELECT DIEM.MaSV, DIEM.Tin, DIEM.Anh, DIEM.KT, [tin]+[anh]+[kt] AS Tongdiem FROM DIEM WHERE (((DIEM.Tin)>=5)) OR ((([tin]+[anh]+[kt])>=18)); Bμi giảng Access 50
  51. CHƯƠNG 5 MẫU BiểU Mẫu biểu lμ ph−ơng tiện giao tiếp cơ bản giữa ng−ời dùng vμ Access. Thông tin trong biểu mẫu đ−ợc lấy từ bảng vμ có thể thiết kế biểu mẫu cho nhiều mục đích khác nhau nh−: - Hiển thị vμ chỉnh sửa dữ liệu: sử dụng biểu mẫu để thay đổi, bổ sung, xoá dữ liệu. - Nhập dữ liệu: Có thể thiết kế biểu mẫu dùng để nhập dữ liệu mới vμo bảng - Vμ còn nhiều mục đích khác. I. KHáI NIệM CHUNG I.1. Cấu trúc của mẫu biểu Mẫu biểu (Form) gồm các ô điều khiển. Có nhiều loại ô điều khiển nh−: - Hộp văn bản (Text Box) - Nhãn (Lable) - Nút lệnh (Command .Button). - Hộp lựa chọn (Combo Box) - Hộp danh sách (List Box) I.2. Công dụng của các ô điều khiển: I.2.1. Thể hiện dữ liệu. Mẫu biểu có thể gắn với một bảng/truy vấn nguồn hoặc không gắn với một bảng/truy vấn nμo cả (mẫu biểu Unhound). Các ô điều khiển có thể buộc vμo (liên kết với) các tr−ờng của bảng/truy vấn nguồn để thể hiện dữ liệu vμ cập nhật dữ liệu vμo các tr−ờng nμy. Có thể dùng hộp văn bản để hiển thị kết quả tính toán. I.2.2. Nhập dữ liệu từ bμn phím Có thể nhập dữ liệu từ bμn phím thông qua các hộp văn bản. I.2.3. Thực hiện hμnh động. Các nút lệnh có thể gắn với một Macro hoặc một thủ tục xử lý sự kiện. Sau đó mỗi khi bấm chuột vμo nút lệnh thì Macro hoặc thủ tục gắn với nó sẽ đ−ợc thực hiện. Có thể sử dụng các nút lệnh để có các menu đơn giản cho ch−ơng trình. Bμi giảng Access 51
  52. I.2.4. Tổ chức giao diện ch−ơng trình. Giao diện ch−ơng trình có thể đ−ợc tổ chức d−ới dạng một mẫu biểu. Tiêu đề ch−ơng trình vμ các h−ớng dẫn sử dụng có thể đ−a vμo các nhãn. Trong mẫu biểu các thể kéo vμo các hình ảnh để trang trí. I.2.5.Tổ chức hệ Menu Bar cho ch−ơng trình. Hệ Menu Bar gồm các menu ngang (nằm trên hμng ngang ở đầu mμn hình). Mỗi menu ngang gồm các menu thμnh phần. Menu thμnh phần có thể lμ chức năng thực hiện ngay hoặc lại có thể lμ một menu khác. II. TạO MẫU BIểU Tự ĐộNG Vμ BằNG WIZARD Nếu chỉ dùng biểu mẫu để thể hiện vμ cập nhật dữ liệu thì cách nhanh nhất lμ dùng cách tạo tự động hoặc công cụ Wizard. Để tạo mẫu biểu bằng cách tự động hoặc bằng Wizard, ta thực hiện theo các b−ớc sau: B1. Từ cửa sổ Database của một cơ sở dữ liệu nμo đó, chọn mục Forms. Kết quả sẽ mở cửa sổ Forms với ba nút lựa chọn nh− sau: - Nút New dùng để tạo mẫu biểu mới. - Nút Open dùng để thực hiện mẫu biểu. - Nút Design dùng để mở cửa sổ thiết kế mẫu biểu. B2. Để tạo mẫu biểu mới ta chọn nút New, kết quả nhận đ−ợc cửa sổ: Bμi giảng Access 52
  53. B3. Chọn một bảng/truy vấn nguồn trong ô: Choose the table hoặc không chọn bảng/truy vấn nguồn. Ví dụ: Chọn bảng [KHACH HANG] lμm nguồn cho mẫu biểu cần xây dựng, bảng nμy có 4 tr−ờng kiêut Text: - MAKH (Mã khách hμng) - DIA CHI (địa chỉ) - TEN KH (tên khách hμng) - DIEN THOAI (điện thoại) B4. Chọn một trong các dạng mẫu biểu tự động vμ Wizard B.4.1. Nếu chọn “Autoform: Columnar” hoặc “AutoForm: Tabular” hoặc “AutoForm: Datasheet” thì đ−ợc ngay mẫu biểu dạng nh− sau: Trong mẫu biểu sẽ bao gồm tất cả các tr−ờng của bảng/truy vấn nguồn vμ chúng có các cách thức thể hiện (giao diện) khác nhau tuỳ theo ta chọn mục nμo. B.4.2. Nếu chọn Form Wizard sẽ hiện một cửa sổ: Bμi giảng Access 53
  54. Tại đây ta thao tác tiếp nh− sau: Chọn các tr−ờng muốn đ−a vμo mẫu biểu tại cột “Available fields”, rồi bấm vμo nút Add để đ−a sang cột “Field order on form”. Nếu muốn đ−a sang tất cả các tr−ờng ta bấm tại nút All. Nếu muốn bỏ tr−ờng nμo đã chọn trong cột “Field order on form”, thì ta bấm chuột tại tr−ờng đó rồi bấm tại nút remove, còn nếu muốn bỏ tất cả ta bấm vμo nút remove all. Giả sử ta chọn hai tr−ờng [TEN KH] vμ [DIA CHI] rồi chọn nút Next, kết quả hiện cửa sổ: Bμi giảng Access 54
  55. + Chọn một trong các dạng thể hiện nêu trong cửa sổ trên. Giả sử chọn “Columnar” rồi bấm nút Next. Kết quả sẽ hiện cửa sổ: + Chọn một trong các kiểu trình bμy mẫu biểu trong cửa sổ trên. Giả sử chọn “Standard” rồi bấm nút Next. Kết quả sẽ hiện cửa sổ: Bμi giảng Access 55
  56. + Gõ tên mẫu biểu tại hộp mầu trắng. Access dùng tên bảng/truy vấn nguồn lμm tên mẫu biểu mặc định, ta có thể giữ nguyên hoặc thay đổi theo ý muốn ặ Bấm Finish để kết thúc, kết quả nhận đ−ợc mẫu biểu: III. Tạo Form bằng Design View III.1. Giới thiệu các loại điều khiển. III.1.1. Các loại điều khiển. Khi thiết kế mẫu biểu, th−ờng dùng các loại điều khiển sau: - Hộp văn bản (text box) - Nhãn (Label) - Hộp lựa chọn (Combo box) - Hộp danh sách (List box) - Nút lệnh (Command Button) - Nhóm lựa chọn (Option Group) III.1.2. Cách dùng. Có thể dùng các ô điều khiển theo ba cách: Bound, Unbound, hoặc Calculated với ý nghĩa: Bμi giảng Access 56
  57. 1. Điều khiển loại Bound (buộc vμo một tr−ờng nμo đó): Dùng để truy xuất tới tr−ờng nμo đó. Các giá trị cập nhật có thể: Picture, text 2. Điều khiển loại Unbound (không buộc): Không liên quan đến tr−ờng nμo cả, chúng th−ờng dùng để nhập dữ liệu từ bμn phím, trình bμy tiêu đề, trang trí hình vẽ, hộp, đ−ờng, 3. Điều khiển tính toán (Calculated): Dùng để thể hiện giá trị của một biểu thức. Ví dụ: GiaMoi = 0.75* [DON GIA] Trong đó ô GIA MOI lμ nhãn đi kèm với điều khiển tính toán. ở đây điều khiển tính toán biểu thị 75% của tr−ờng [DON GIA]. Chú ý: Điều khiển tính toán nμy chỉ dùng để hiển thị dữ liệu. * Hộp công cụ: Hộp công cụ lμ một bảng chữ nhật chứa nhiều nút có dạng sau: Mỗi nút trên hộp công cụ ứng với một loại điều khiển đ−ợc dùng để tạo các ô điều khiển thuộc loại t−ơng ứng. Hộp công cụ đ−ợc sử dụng nh− một ph−ơng tiện chính để xây dựng các mẫu biểu. * Cách tạo một điều khiển bằng hộp công cụ: 1. Chọn loại điều khiển: Bấm vμo nút t−ơng ứng trên hộp công cụ. 2. Di chuột đến vị trí cần đặt điều khiển vμo biểu mẫu vμ bấm 3. Thực hiện các sửa đổi cần thiết. III.2. Điều khiển TextBox Text box có thể dùng cả 3 cách Bound (bị buộc), Unbound (không bị buộc) hoặc Calculated (tính toán) III.2.1. Tạo Text box bị buộc (Buond) * Cách 1: Cách đơn giản nhất để tạo các hộp văn bản bị buộc lμ dùng Filed List. Thao tác: B1: Từ cửa sổ Database chọn mục Form, kết quả mở cửa sổ Forms trong đó chứa các mẫu biểu đã có. Để tạo một mẫu biểu mới, ta bấm nút New, kết quả xuất hiện hộp Select a Table/Query. Bμi giảng Access 57
  58. B2. Trong hộp Choose the table chọn một bảng/truy vấn nguồn. B3. Chọn Design View để tự thiết kế mẫu biểu, rồi bấm OK. Kết quả hiện cửa sổ Form vμ một mẫu biểu rỗng. B4. Chọn View, Field List để mở hộp Field List chứa danh sách các tr−ờng của bảng/ truy vấn nguồn. Sau đó kéo các tr−ờng xuất hiện trên danh sách vμo mẫu biểu, Access sẽ tạo các TextBox bị buộc vμo các tr−ờng đ−ợc chọn. * Cách 2: Dùng hộp công cụ Toolbox, ba b−ớc đầu thực hiện nh− cách 1, sau đó: B1: Chọn nút Text box trên hộp công cụ (nếu ch−a có hộp công cụ thì chọn mục Toolbox trong menu View). B2. Di chuột đến một vị trí trên mẫu biểu, bấm chuột tại đó. Kết quả sẽ hiện ra tại vị trí bấm một hộp văn bản kiểu Unbound vμ một nhãn đi kèm bên phải có dạng sau: Trong mẫu biểu: Nhãn có tên mặc định bắt đầu bằng Text, trong hộp văn bản có chữ Unbound. B3: Sửa Unbound bằng một tên tr−ờng của bảng/truy vấn nguồn. Khi đó hộp văn bản sẽ bị buộc vμo tr−ờng nμy. Hoặc: Mở cửa sổ Properties : View/Properties Đặt các tính chất sau : +Name : tên của Textbox +Control Source : Chọn tên tr−ờng dữ liệu buộc vμo Textbox B4. Sửa nhãn cho có nghĩa III.2.1. Tạo Text box tính toán - Unbound B1: Mở hộp Toolbox : View/Toolbox Chọn công cụ Text box trong Toolbox vμ tạo một Text box trên form. B2: Mở cửa sổ Properties : View/Properties Đặt các tính chất sau : Name : tên của Textbox; Control Source : Gõ biểu thức cần tính hoặc gõ biểu thức trực tiếp trên TextBox Chú ý: Nếu tạo TextBox Unbound thì không đặt biểu thức trong Control Source (hoặc để trống TextBox) III.3. Điều khiển Label (nhãn) Nhãn luôn luôn lμ điều khiển Unbound Điều khiển nhãn có 2 thuộc tính cần nhớ: Bμi giảng Access 58
  59. - Tiêu đề, sẽ đ−ợc hiện ra mμn hình (Caption) - Tên (name) Nhãn th−ờng dùng để chứa các dòng chữ có tính giải thích, ghi chú. Chú ý: Khi muốn soạn thảo nhiều dòng trên nhãn, ta dùng tổ hợp hai phím Ctrl vμ Enter để chuyển xuống dòng tiếp theo. Khi thay đổi Font chữ kích cỡ chữ thì nội dung có thể không khớp với kích th−ớc của nhãn. Để điều chỉnh ta lμm nh− sau: 1. Chọn nhãn 2. Chọn Size từ menu Format 3. Chọn mục To fit * Gắn nhãn cho hộp văn bản (Text Box) Để gắn cho Text Box một nhãn (giả sử đã xoá nhãn cũ) ta lμm nh− sau: 1. Bấm chuột tại nút nhãn 2. Bấm chuột tại một vùng trống nμo đó của Form Hoặc đ−a trực tiếp vμo vị trí cần thiết – trong tr−ờng hợp nμy không thực hiện b−ớc 3,4,5). Kết quả sẽ tạo ra một nhãn rỗng. ặ Soạn tiêu đề cho nhãn. 3. Chọn Cut từ menu Edit (để xoá nhãn vừa tạo trên mẫu biểu, đồng thời đ−a nó vμo Clipboard). 4. Chọn Text box cần gắn nhãn 5. Chọn Paste từ menu Edit. III.4. Thuộc tính của điều khiển. Mỗi đối t−ợng trong Access có rất nhiêu thuộc tính (Property). Access dùng thuộc tính để lμm việc với các đối t−ợng. Trong mục nμy sẽ trình bμy cách sử dụng một số thuộc tính của các ô điều khiển. III.4.1. Mở bảng thuộc tính của một ô điều khiển Để mở bảng thuộc tính của một điều khiển, ta lμm nh− sau: 1. Chọn điều khiển cần mở bảng thuộc tính 2. Hoặc chọn Properties từ menu View - Hoặc bấm đúp tại điều khiển Hoặc bấm nút phải chuột, rồi chọn mục Properties. Kết quả hiện ra bảng các thuộc tính. III.4.2. Một số thuộc tính hay dùng. 1. Name: tên điều khiển, dùng trong các hμm, thủ tục. 2. Caption: tiêu đề, th−ờng dùng đối với Label. 3. Control Sounce: nguồn dữ liệu, th−ờng dùng đối với text box. 4. Format: qui định hình thức hiển thị dữ liệu. 5. Default Value: giá trị mặc định. Bμi giảng Access 59
  60. 6. Validation Rule: qui tắc dữ liệu hơp lệ. 7. Validation Text: văn bản hơp lệ. 8. Input Mask: mặt lạ nhập liệu. 9. Status Bar Text: H−ớng dẫn sử dụng điều khiển (h−ớng dẫn nμy sẽ hiện tại dòng trạng thái) III.5. Các loại điều khiển dùng để cập nhập dữ liệu từ bảng chọn Các loại điều khiển dùng trong mục đích nμy gồm: • Combo Box (Hộp Combo) • List Box (Hộp danh sách) • Check Box (Hộp kiểm tra) • Option Button (Nút lựa chọn) • Toggle Button (Nút bật tắt) • Option Group (Nhóm lựa chọn) Combo Box vμ List Box có thể dùng để tạo danh sách lựa chọn cho một tr−ờng bất kỳ. Danh sách trong List Box luôn luôn đ−ợc thể hiện. Danh sách trong Combo Box đ−ợc mở khi kích chuột tại nút mũi tên bên phải vμ sau khi chọn một mục trong danh sách thì danh sách tự động đóng lại. Các điều khiển Check Box, Option Bunon vμ Toggle Button đ−ợc dùng để chọn lựa giá trị Yes hoặc No cho tr−ờng logic. Điều khiển Option Group đ−ợc dùng để chọn một số nguyên từ 1 đến N cho tr−ờng nguyên. III.5.1. Cách dùng Các điều khiển nμy đều có thể dùng theo hai cách: Unhound vμ Bound. Khi đ−ợc buộc vμo một tr−ờng nμo đó của bảng truy vấn nguồn, chúng vừa có tác dụng thể hiện dữ liệu vμ cập nhật dữ liệu cho tr−ờng t−ơng ứng. Khi cập nhập dữ liệu, ng−ời dùng không phải nhập từ bμn phím mμ dùng chuột để chọn một giá trị nμo đó trong bảng danh sách giá trị có sẵn. III.5.2. Cách tạo. Các điều khiển nμy có thể tạo bằng Wizard hoặc không dùng Wizard theo cùng một cách nh− sau: Trong cửa sổ Form (đang thiết kê) 1. Chọn hoặc không chọn Control Wizards bằng cách bấm vμo biểu t−ợng Control Wizards trên thanh công cụ Toolbox. 2. Chọn loại điều kiện trên Toolbox (List Box, Combo Box, Option Button , . . . ) 3. Kéo một tr−ờng từ hộp Field list vμo mẫu biểu. Bằng cách đó đã tạo đ−ợc một điều khiển buộc vμo một tr−ờng. Nếu muốn tạo điều khiển Unbound, thì ta chỉ vỉệc bấm chuột tại một vị trí trên Form. Bμi giảng Access 60
  61. 4. Nếu dùng Wizard thì lần l−ợt trả lời các câu hỏi, bấm Next, cuối cùng bấm Finish. 5. Nếu không dùng Wizard thì sử dụng các thuộc tính của điều khiển vừa tạo. III.5.3. Phân loại ListBox vμ ComBo Box theo nguồn dữ liệu. * Cấu trúc của List Box vμ Combo Box List box vμ Combo box có cấu trúc vμ cách xây dựng hoμn toμn giống nhau. Chúng chỉ khác nhau ở cách thể hiện nh− đã nói. Mỗi một List box vμ Combo box có một nguồn dữ liệu để xây dựng bảng chọn. Điểm mấu chốt trong xây dựng List/Combo box lμ xác định rõ nguồn dữ liệu của chúng. * Nguồn dữ liệu của List/Combo box Nguồn dữ liệu tạo thμnh bảng chọn của List/Combo box baọ gồm: 1. Các bản ghi của một bảng/truy vấn. 2. Dãy giá trị đ−a vμo khi tạo List/Combo box (Value list). 3. Tên các tr−ờng của một bảng/truy vấn (Field list). 4. Các bản ghi của một truy vấn tạo bởi câu lệnh SELECT. 5. Danh sách tạo từ kết quả trả về của một hμm trong Access Basic. III.5.4. Tạo LIST/COMBO BOX không dùng WIZARD Tr−ớc hết phải tắt chức năng Control Wizard bằng cách bấm vμo biểu t−ợng Control Wizard . * Các thuộc tính sau để xác định nguồn dữ liệu của List/Combo box Loại Thuộc tính Thuộc tính (Nguồn dữ liệu ) Row Rource type Row Source Các bản ghi của một Table/query Tên bảng/truy vấn bảng/truy vấn Các bản ghi từ câu lệnh Table/Query Câu lệnh SELECT Select Danh sách giá trị tự đặt Value list Danh sách' giá trị Phân cách nhau bởi chấm phẩy Tên các tr−ờng của một Field List Tên bảng truy vấn bảng/truy vấn Các giá trị trả về của một Tên hμm đó Để trống hμm Access Basic * Các thuộc tính khác: Ngoμi hai thuộc tính quan trọng lμ Row Rource type vμ Row Source dùng để xác định nguồn dữ liệu tạo thμnh bảng chọn của List/Combo box, chúng ta cần sử dụng thêm các thuộc tính sau: Bμi giảng Access 61
  62. - Column Count: Số cột trong danh sách, tính từ trái sang phải. Ví dụ: Nếu đặt giá trị của thuộc tính nμy bằng 2, thì bảng chọn sẽ gồm 2 cột chứa giá trị hai tr−ờng đầu của nguồn dữ liệu của List/Combo box. - Bound Column: Cột đ−ợc chọn lμm nguồn dữ liệu của danh sách. Ví dụ nếu đặt giá trị thuộc tính nμy bằng 2, thì giá trị cột 2 sẽ đ−ợc chọn, các cột khác chỉ đóng vai trò hiển thị. - Column widths: 1 ; 1 .5 (Độ rộng các cột, nếu viết nh− trên thì độ rộng cột một lμ 1 cm, độ rộng cột hai lμ 1.5 cm). - Limit To List: No/Yes (Yes: Chỉ chọn trong danh sách, No: Có thể nhập giá trị ngoμi danh sách) - Width: bề rộng của danh sách, bằng tổng bề rộng các cột. - Height: 5 cm (bề dμi của danh sách. Danh có thể có nhiều hμng, nh−ng ta chỉ cho hiện ra trong các hμng trong phạm vi 5 cm) III.5.5. Dùng Wizard tạo List Box/Combo Box Dùng công cụ Wizard có thể tạo đ−ợc 2 loại Combo/List Box sau: 1. Combo/List Box có nguồn dữ liệu lμ một bảng/truy vấn. 2. Combo/List Box có nguồn dữ liệu lμ một dẫy giá trị đặt vμo thuộc tính Row Source Cách tạo: 1. Tr−ớc hết phải chọn chức năng Control Wizard bằng cách bấm vμo biểu t−ợng Control Wizard (nếu nó ch−a đ−ợc bật). 2. Chọn nút Combo Box hoặc List Box trên hộp công cụ. 3. Kéo một tr−ờng của bảng/truy vấn nguồn vμo mẫu biểu. Access sẽ tạo một List/Combo Box buộc vμo tr−ờng nμy. 4. Lần l−ợt trả lời các câu hỏi do Wizard đặt ra để xác định nguồn dữ liệu vμ các đặc tr−ng khác của List/Combo Box. Sau khi trả lời một câu hỏi bấm Next để sang câu hỏi tiếp, cuối cùng bấm Finish. Chú ý: 1. Nếu tạo List/Combo Box lấy nguồn dữ liệu từ bảng/query thì khi cửa sổ đầu tiên của Wizard xuất hiện chọn “I want the combo box (list box) to look up the value in table or query”. 2. Nếu tạo List/Combo Box lấy nguồn dữ liệu từ danh sách tự tạo thì khi cửa sổ đầu tiên của Wizard xuất hiện chọn “I will type in the value that I want” . Sau đó nhập giá trị vμo cửa sổ tiếp theo. 3. Nếu dùng nguồn dữ liệu từ bảng/query thì chọn bao nhiêu tr−ờng thì có bấy nhiêu cột, còn nếu tự tạo dữ liệu thì cần xác định rõ số cột cần dùng ở b−ớc 2 (Number of column) Bμi giảng Access 62
  63. 4. Nếu có từ hai tr−ờng trở lên thì tại b−ớc 3 cần chọn tr−ờng (cột) để lấy giá trị đ−a vμo tr−ờng gắn với Combo box / list box. 5. Tại b−ớc cuỗi cùng cần xác định rõ tr−ờng gắn với Combo box / list box (th−ờng đã có giá trị mặc định do việc kéo tr−ờng ở b−ớc 3 trong cách tạo ). III.5.6. Dùng điều khiển Check Box, Toggle Button, Option Button * Giới thiệu chung Hộp kiểm tra (Check box), nút lựa chọn (Option button) vμ nút bật tắt (Toggle button) th−ờng đ−ợc sử dụng để nhận các giá trị Yes hoặc No. Các điều khiển nμy chỉ khác nhau ở hình thức, còn cách sử dụng hoμn toμn giống nhau. Khi đ−ợc chọn, các điều khiển nhận giá trị Yes, khi không đ−ợc chọn chúng có giá trị No. Cách nhận biết việc chọn các điều khiển nμy nh− sau: Check box đ−ợc chọn khi có dấu “9” trong hộp. Option botton đ−ợc chọn khi có dấu “•” trong nút Toggle botton đ−ợc chọn khi nó trông nh− bị nhấn xuống * Cách tạo các điều khiển buộc vμo các tr−ờng Yes/No. Các điều khiển nói trên th−ờng đ−ợc dùng để nhập dữ liệu cho các tr−ờng Yes/No. Cách tạo nh− sau: 1. Chọn một trong các nút: Check box, Option botton, Toggle botton 2. Kéo một tr−ờng kiểu Yes/No vμo mẫu biểu. Kết quả tạo đ−ợc một điều khiển buộc vμo tr−ờng vừa kéo vμ một nhãn đi kèm. Tiêu đề mặc định của nhãn chính lμ tên tr−ờng đ−ợc kéo. Chú ý: Riêng đối với Toggle botton thì không có nhãn đi kèm. Muốn có nhãn, thì ta phải tự tạo bằng cách sử dụng nút Label trên hộp công cụ. III.5.7. Sử dụng nhóm lựa chọn (Option Gourp) Công dụng: Buộc vμo các tr−ờng có kiểu Byte hoặc Integer. Giúp cho thao tác chọn lựa của ng−ời sử dụng đ−ợc dễ dμng hơn, vì không phải gõ dữ liệu vμo hộp văn bản, mμ chỉ cần bấm vμo một phần tử của nhóm để chọn. Cách tạo: Trong cửa sổ Form, lần l−ợt thực hiện: 1. Tắt chức năng Control Wizards. 2. Chọn nút Option Group trên Toolbox 3. Kéo một tr−ờng (có giá trị nguyên) vμo Form. Kết quả: Tạo một điều khiển Option Group (vμ một nhãn kèm theo) buộc vμo tr−ờng vừa kéo. Điều khiển lμ một hình chữ nhật rỗng, ta có thể chỉnh lại kích th−ớc cho phù hơp. 4. Tạo các nút lựa chọn (hoặc các hộp kiểm tra) bên trong điều khiển nhóm lựa chọn vừa xây dựng ở b−ớc trên. Bμi giảng Access 63
  64. 5. Sửa lại các nhãn của các nút lựa chọn cho hơp với ý nghĩa của bμi toán III.6. Tạo Command Buttons (nút lệnh) • Chức năng :lμ đối t−ợng dùng để thực hiện một thao tác (hμnh động) nμo đó khi kích hoạt (nhấn nút lệnh). • Thao tác: 1. Mở mẫu biểu ở chế độ Design 2. Bật chức năng Control Wizard 3. Chọn biểu t−ợng Command Button trên thanh công cụ 4. Bấm chuột tại vị trí trên mẫu biểu nơi muốn đặt nút lệnh. 5. Trả lời từng câu hỏi của Wirard, cuối cùng bấm Finish • Các hμnh động th−ờng dùng(Action): (Dùng trong các b−ớc Wizard - Record Navigation : tìm vμ di chuyển bản ghi + Find record : tìm kiếm bản ghi + Go to First record: Chuyển đến bản ghi đầu + Go to Last record: Chuyển đến bản ghi cuối + Go to Next record: Chuyển đến bản ghi tiếp + Go to Previous record: Chuyển đến bản ghi tr−ớc đó - Record Operations : gồm các hμnh động + Add new record : Thêm bản ghi mới + Delete Record: Xoá bản ghi hiện thời + Duplicate record: nhân đôi bản ghi + Save Record: Ghi bản ghi hiện thời + Print Record: In bản ghi hiện thời. - Form Operations : gồm các hμnh động với Form: + Open Form : Mở một Form + Close Form : Đóng Form - Report Operations : gồm các hμnh động với Report: + Preview Report : Xem tr−ớc khi in + Print Report: In Report. - Applications : lμm việc với các ứng dụng Bμi giảng Access 64
  65. + Quit Applications : thoát khỏi ứng dụng + Run Applications : chạy một ứng dụng + Run excel: chạy excel + Run Word: chạy word - Miscellaneous : những hμnh động khác + Print Table + Run Query + Run Macro. IV. MẫU BiểU TRÊN NHiềU BảNG Phần nμy trình bầy cách tổ chức nhập dữ liệu đồng thời trên nhiều bảng có quan hệ với nhau, trong đó có một bảng chính vμ các bảng phụ. Quan hệ giữa bảng chính vμ mỗi bảng phụ lμ quan hệ một - nhiều. Cách tổ chức nh− sau: 1. Xây dựng cho mỗi bảng một mẫu biểu. Mẫu biểu ứng với bảng chính gọi lμ mẫu biểu chính, các mẫu biểu còn lại gọi lμ mẫu biểu phụ. 2. Trên mẫu biểu chính, tạo các điều khiển kiểu SubForm buộc vμo các mẫu biểu phụ. Sử dụng các thuộc tính của điều khiển SubForm để thiết lập mối quan hệ giữa mẫu biểu chính vμ mâũ biểu phụ, sao cho trên điều khiển SubFoơn chỉ thể hiện các bản ghi của mẫu biểu phụ có liên quan đến bản ghi đang xét trên mẫu biểu chính. IV.1. Công dụng. Dùng để cập nhật dữ liệu đồng thời cho nhiều bảng, truy vấn: - Mẫu biểu chính thể hiện thông tin của một bảng/truy vấn. - Mẫu biểu phụ thể hiện thông tin của một bảng/truy vấn khác có liên quan đến bản ghi đang xét trong mẫu biểu chính. IV.1. Quan hệ giữa các mẫu biểu chính vμ phụ Các bảng dữ liệu cần có quan hệ một - nhiều. - Mẫu biểu chính thể hiện bảng/truy vấn bên một. - Mẫu biểu phụ thể hiện bảng/truy vấn bên nhiều. * Giới hạn các mẫu biểu chính vμ phụ: - Trong một mẫu biểu chính có thể có nhiều mẫu biểu phụ (gọi lμ mẫu biểu phụ cấp một). - Số mẫu biểu phụ cấp một lμ không hạn chế. - Trong mỗi mẫu biểu phụ cấp một cho phép đặt các mẫu biểu phụ khác (gọi lμ mẫu biểu phụ cấp hai). Bμi giảng Access 65
  66. - Access chỉ cho phép tổ chức đến các mẫu biểu phụ cấp hai. V.3. Cách tổ chức mẫu biểu chính vμ mẫu biểu phụ. • Trình tự thực hiện: 1. Tạo một mẫu biểu chính vμ các mẫu biểu phụ một cách độc lập. Lúc đó giữa chúng còn ch−a có quan hệ gì với nhau. 2. Sử dụng các thuộc tính (của mẫu biểu): View Allowed vμ Default View để qui định dạng trình bμy của các mẫu biểu phụ, ý nghĩa của các thuộc tính nμy đ−ợc cho trong bảng sau: View Allowed Default View Dạng trình bμy của mẫu biểu Datasheet Datasheet Dạng bảng Form Single/Continuos Form Dang biểu Both Datasheet hoặc Cả hai dạng trên Single/Continuos Form Chú ý: Đối với các mẫu biểu phụ ta th−ờng đặt giá trị sau cho các thuộc tính: View Allowed: Datasheet vμ Default View: Datasheet 3. Mở mẫu biểu chính trong chế độ Design. Bấm phím Fl1 để xuất hiện đồng thời cửa sổ Databse. 4. Kéo một mẫu biểu phụ từ cửa sổ Database vμo trong cửa sổ thiết kế của mẫu biểu chính. Kết quả: Access tạo một điều khiển kiểu SubForm buộc vμo mẫu biểu phụ vμ một nhãn đi kèm Tên(thuôc tính Name) của điều khiển SubForm đ−ợc đặt mặc định lμ tên của mẫu biểu phụ đ−ợc kéo. Tiêu đề (thuộc tính Caption) của nhãn đi kèm cũng đ−ợc đặt mặc định lμ tên của mẫu biểu phụ đ−ợc kéo. Ta có thể sửa lại các thuộc tính trên nếu muốn. Chú ý. Để sửa thiết kế của mẫu biểu phụ, ta bấm đúp nút trái chuột.tại điều khiển SubForm t−ơng ứng. Khi đó sẽ nhận đ−ợc cửa sổ thiết kế của mẫu biểu phụ . 5. Tạo sự liên kết giữa mẫu biểu chính vμ mẫu biểu phụ. Dùng các thuộc tính (của điều khiển kiểu Subform đ−ợc tạo trong b−ớc 4) lμ LinkChildFields vμ LinkMasterFields để điền các tr−ờng liên kết giữa mẫu biểu chính vμ mẫu biểu phụ. Nói một cách cụ thể hơn: + Trong dòng thuộc tính LinkmasterFields ta ghi các tr−ờng liên kết của mẫu biểu chính. + Trong dòng thuộc tính LinkchildFields ta ghi các tr−ờng liên kết của mẫu biểu phụ. Bμi giảng Access 66
  67. CHƯƠNG 6 BáO BIểU Báo biểu lμ một kiểu biểu mẫu đặc biệt đ−ợc thiết kế cho khâu in ấn, trong báo biểu, Access tổ hợp dữ liệu trong bảng vμ truy vấn để có thể in theo những yêu cầu cụ thể. I. Xây dựng báo biểu bằng hộp công cụ I.1. Các vấn đề th−ờng gặp khi xây dựng báo biểu Khi tạo báo biểu ta th−ờng phải giải quyết các vấn đề sau: 1. Xây dựng đầu biểu (th−ờng đặt ở đầu trang) . 2. Xây dựng thân biểu (ở thân báo biểu) vμ chỉnh lý để thân biểu khớp với đầu biểu. 3. Tạo nền mờ cho một đoạn văn bản cần nhấn mạnh. 4. Chọn Font chữ, cỡ chữ, kiểu in (đậm, nghiêng), căn lề. 5. Đánh số thứ tự cho báo biểu. 6. Ngắt trang theo yêu cầu (chuyển sang trang mới). 7. Đánh số trang I.2. Các công cụ th−ờng sử dụng 1. Điều khiển Line, Rectangle để vẽ đ−ờng thẳng vμ hình chữ nhật. 2. Chức năng Duplicate của menu Edit dùng để nhân bản một nhóm điều khiển đ−ợc chọn. 3. Các chức năng Align vμ Size của menu Format để chỉnh lý các ô điều khiển tạo nên đầu biểu vμ thân biểu. 4. Sử dụng tổ hợp phím Ctrl + các phím mũi tên để di chuyển cả khối các điều khiển đ−ợc chọn theo các b−ớc ngắn. 5. Sử dụng thanh công cụ Formatting (Form/report)để chọn các trình bμy cho ô điều khiển. 6. Để tạo cột số thứ tự, ta lμm nh− sau: - Tạo một điều khiển Text box kiểu Unbound. Gán số 1 cho điều khiển bằng cách đặt = 1 vμo thuộc tính Control Source hoặc gõ trực tiếp =1 vμo ô điều khiển. - Đặt thuộc tính Running Sum lμ: i. Over Group nếu muốn đánh số thứ tự cho từng nhóm. ii. Over All nếu muốn đánh số thứ tự cho toμn báo biểu. Bμi giảng Access 67
  68. 7. Sử dụng điều khiển Page Break trên hộp công cụ để thực hiện ngắt trang 8. Để in số trang ta dùng một hộp văn bản kiểu tính toán (trong đó ghi công thức =Page). Hộp nμy có thể đặt ở đầu trang, hoặc cuối trang. I.3. Các b−ớc xây dựng báo biểu 1. Từ cửa sổ Database, chọn mục Report, rồi chọn New. Kết quả xuất hiện cửa sổ New Report 2. Chọn một bảng hoặc truy vấn nguồn trong hộp Choose the table hoặc không chọn bảng/truy vấn nguồn. Có thể bỏ qua việc chọn bảng/truy vấn nếu không cần sử dụng nguồn dữ liệu hoặc chọn nguồn dữ liệu sau nμy nhờ dùng thuộc tính Record Source. - ở đây, cũng giống nh− với mẫu biểu, ta thấy có cách tạo báo biểu ứng với 3 lựa chọn: Design View, những lựa chọn tự động (có từ AutoForm) vμ những lựa chọn dùng công cụ Wizard (những lựa chọn có từ Wizard). - Nếu chọn dùng công cụ Wizard thì báo biểu đ−ợc xây dựng bằng công cụ Wizards của Access vμ ta chỉ việc trả lời các câu hỏi mμ Access yêu cầu. - Nếu chọn Design View thì báo biểu đ−ợc thiết kế theo ý của ng−ời sử dụng bằng cách sử dụng hộp công cụ (Tool Box). - Nếu lựa chọn tự động thì khuôn dạng của báo biểu sẽ đ−ợc tạo tự động. Trong tr−ờng hợp nμy ta luôn phải chọn bảng/truy vấn nguồn cho báo biểu. Tr−ớc hết ta chọn cách thiết báo biểu theo ý của ng−ời sử dụng, bằng cách chọn Design View, rồi bấm OK. Kết quả nhận đ−ợc thiết kế báo biểu Bμi giảng Access 68
  69. 3. Sử dụng hộp công cụ để tạo các điều khiển trên báo biểu. 4. Sử dụng các công cụ để thực hiện các yêu cầu khi xây dựng báo biểu nh− kẻ đầu biểu, thân biểu, chọn font chữ, kiểu in, đánh số thứ tự, ngắt trang, . . . . 5. Sau khi hoμn tất thiết kế, ta ghi vμ đặt tên cho báo biểu, rồi trở về cửa sổ Database. I.4. Thực hiện in báo biểu Để in kết quả của báo biểu ra máy in, ta lμm nh− sau. - Chọn báo biểu cần thực hiện in từ cửa sổ Database - Chọn chức năng Print từ menu File. - Chú ý: Nếu báo biểu đang ở chế độ Print Preview hoặc Design, thì ta cũng có thể in kết quả của nó bằng cách chọn File ặ Print. II. SắP XếP Vμ TậP HợP Dữ LIệU THEO NHóM II.1. Sắp xếp dữ liệu Khi xây dựng báo biểu ta có thể sắp xếp để kết quả in ra theo một trình tự nμo đó. Do vậy ta có thể không cần sử dụng truy vấn để sắp xếp tr−ớc dữ liệu cho báo biểu. • Khả năng sắp xếp: o Có thể sắp xếp theo tr−ờng o Có thể sắp xếp theo một biểu thức chứa các tr−ờng o Có thể sắp xếp tối đa trên 10 tr−ờng hoặc biểu thức Bμi giảng Access 69
  70. • Muốn sắp xếp dữ liệu trên báo biểu ta lμm nh− sau: o Mở báo biểu trong chế độ Design View o Chọn mục Sorting And Grouping từ men View để hiện cửa sổ o Đ−a các tr−ờng vμ biểu thức dùng để sắp xếp vμo cột Field/expression (mỗi tr−ờng hoặc biểu thức đặt trên một dòng). o Chọn thứ tự sắp xếp (tăng - Ascending hoặc giảm - Descending) trong cột Sort Order. Nếu sắp xếp theo nhiều tr−ờng hoặc biểu thức, thì thứ tự −u tiên lấy từ trên xuống. II.2. Phân nhóm dữ liệu • Có thể phân nhóm trên bất kỳ tr−ờng hay biểu thức nμo đã đ−ợc sắp thứ tự (đã đ−a vμo cột Field/expression). • Thứ tự phân nhóm: Giả sử ta sắp xếp vμ phân nhóm theo ba tr−ờng theo thứ tự từ trên xuống d−ới lμ Field 1 , Field2, Field3. Khi đó dữ liệu đ−ợc phân nhóm nh− sau: o Tr−ớc hết các bản ghi đ−ợc phân nhóm theo Fieldl . Ta nhận đ−ợc các nhóm cấp 1. o Trong mỗi nhóm cấp 1, các bản ghi lại đ−ợc phân nhóm theo Field2. Ta nhận đ−ợc các nhóm cấp 2. o Trong mỗi nhóm cấp 2, các bản ghi lại đ−ợc phân nhóm theo Field3. Ta nhận đ−ợc các nhóm cấp • Cách nhóm dữ liệu theo tr−ờng phân nhóm o Cách nhóm dữ liệu đ−ợc quy định bằng các thuộc tính Group On vμ Group Interval của tr−ờng phân nhóm trong cửa sổ Sorting And Grouping. Ví dụ nếu đặt thuộc tính Group On lμ Each Value vμ thuộc tính Group Interval lμ 1 , thì dữ liệu đ−ợc phân nhóm theo giá trị của tr−ờng/biểu thức phân nhóm. Khi đó các bản ghi có cùng giá trị trên tr−ờng/biểu thức phân nhóm sẽ d−ợc nhóm lại. II.3. Đầu nhóm vμ cuối nhóm II.3.1. Tạo đầu nhóm vμ cuối nhóm trên báo biểu. Mỗi nhóm (bất kỳ cấp nμo) cũng có thể thêm phần đầu nhóm vμ phần cuối nhóm trên mẫu biểu. Cách thêm hoặc huỷ chúng nh− sau: - Mở cửa sổ Sorting And Grouping - Chọn tr−ờng hay biểu thức phân nhóm - Đặt thuộc tính Group Header lμ Yes đề thêm phần đầu nhóm hoặc No để huỷ phần đầu nhóm. Bμi giảng Access 70
  71. - Đặt thuộc tính Group Footer lμ Yes để thêm phần cuối nhóm hoặc No để huỷ phần cuối nhóm. II.3.2. Đặt các ô điều khiển trên phần đầu/cuối nhóm. Trên các phần đầu nhóm vμ cuối nhóm ta có thể đặt bất kỳ điều khiển.nμo của báo biểu. II.3.3. Tổng hợp dữ liệu trên từng nhóm Tại đầu/cuối nhóm, ta có thể sử dụng một số hμm chuẩn của Access để thực hiện việc tổng hợp dữ liệu của mỗi nhóm. Ví dụ dùng hμm Sụm để tính tổng các giá trị của một tr−ờng số trên các bản ghi của mỗi nhóm, dùng hμm Count để đếm số bản ghi của nhóm. II.3.4. In theo nhóm Thuộc tính Keep Together trong cửa sổ Sorting and Grouping cho 2 khả năng in đừ hếu của nhóm nh− sau: - Nếu Keep Together: Whole Group thì nhóm sẽ bắt đầu in từ trang mới nếu phần còn lại của trang không chứa nổi tất cả các bản ghi của nhóm. - Nếu , Keep Together: With First Detail thì . trên mỗi trang, tiêu đề nhóm sẽ đ−ợc in kèm với ít nhất một bản ghi. III. NhóM Dữ LIệU THEO TRƯờng PHÂN NHóM III.1. Cách phân nhóm đối với tr−ờng/biểu thức kiểu số Có hai cách phân nhóm: Theo giá trị vμ theo miền giá trị. III.1.1. Phân nhóm theo giá trị. Để phân nhóm theo giá trị ta đặt: Group On: Each Value. Khi đó các bản ghi đ−ợc sắp xếp theo thứ tự tăng hoặc giảm của tr−ờng/biểu thức phân nhóm, sau đó các bản ghi có cùng giá trị trên tr−ờng/biểu thức phân nhóm sẽ đ−ợc đ−a vμo một nhóm. III.1.2. Phân nhóm theo miền giá trị Để phân nhóm theo miền giá trị ta đặt: - Thuộc tính Group On lμ Interval - Thuộc tính Group Interval lμ một giá trị Khi đó miền phân nhóm lμ các đoạn có độ dμi bằng giá trị đ−a vμo thuộc tính Group Interval vμ mốc lμ giá trị 0. Chẳng hạn, nếu đặt các thuộc tính: Group On: Interval vμ Group Interval: 5 thì miền phân nhóm lμ các đoạn có độ dμi 5 vμ mốc lμ 0. Đó lμ các đoạn: [-10 –6], [-5,-1], [0,4], [5,9], [l0,14], . . Các bản ghi có giá trị của tr−ờng/biểu thức phân nhóm rơi vμo cùng một đoạn sẽ đ−ợc đ−a vμo một nhóm. Bμi giảng Access 71
  72. Chú ý: Các bản ghi đ−ợc sắp xếp theo nhóm. Nh−ng trong cùng một nhóm thì các bản ghi ch−a hẳn đã đ−ợc sắp xếp theo giá trị của trừ−ờng/biểu thức phân nhóm III.2. Cách phân nhóm đối với tr−ờng/biểu thức kiểu Date/time Có hai cách phân nhóm: Theo giá trị vμ theo miền giá trị. III.2.1. Phân nhóm theo giá trị. Để phân nhóm theo giá trị ta đặt: Group On: Each Value Khi đó các bản ghi đ−ợc sắp xếp theo thứ tự tăng hoặc giảm của tr−ờng/biểu thức phân nhóm, sau đó các bản ghi có cùng giá trị trên tr−ờng/biểu thức phân nhóm sẽ đ−ợc đ−a vμo một nhóm. III.2.2. Phân nhóm theo miền giá trị Miền giá trị có thể nh− theo một trong các đơn Year, Qtr (quí), Month, Week, Day Để phân nhóm theo miền giá trị ta đặt: - Thuộc tính Group On lμ một trong các đơn vị trên. - Thuộc tính Group Interval lμ một biểu thức số Khi đó miền phân nhóm đ−ợc xác định bằng hai thuộc tính trên. Chẳng hạn, nếu đặt các th−ớc tính: ' Group On: Month Group Interval: 6 thì miền phân nhóm lμ các khoảng thời gian 6 tháng một bắt đầu tính từ tháng thứ nhất trong năm. III.3. Cách phân nhóm đối với tr−òng/biểu thức kiểu Text III.3.1. Phân nhóm theo giá trị Để phân nhóm theo giá trị ta đặt: Group On: Each Value. Khi đó các bản ghi đ−ợc sắp xếp theo thứ tự tăng hoặc giảm của tr−ờng/biểu thức phân nhóm vμ đ−a vμo một nhóm. III.3.2. Phân nhóm theo các ký tự đầu Để phân nhóm theo các ký tự đầu ta đặt: - Thuộc tính Group On lμ Prefix Charcter - Thuộc tính Group Interval lμ một giá trị nguyên n Khi đó các bản ghi trùng nhau trên n ký tự đầu đ−ợc phân nhóm vμ đ−a vμo một nhóm IV. TổNG HợP Dữ LIệU TRÊN BáO BIểU IV.1. Các hμm dùng để tổng hợp dữ liệu. Cho phép tổng hợp dữ liệu trên các nhóm vμ trên toμn bộ mẫu biểu bằng cách sử dụng các hμm sau: - Sum Tính tổng Bμi giảng Access 72
  73. - Avg Tính giá trị trung bình Min Tìm giá trị nhỏ nhất Max Tìm giá trị lớn nhất Count Đếm số bản ghi First Cho bản ghi đầu tiên Last Cho bản ghi cuối cùng IV.2. Tổng hợp dữ liệu trên mỗi nhóm. Để tổng hợp dữ liệu của các bản ghi trong nhóm, ta tạo các điều khiển Unbound tại đầu hoặc cuối nhóm vμ đặt vμo ô điều khiển các hμm nói trên. Ví dụ: Khi xây dựng bảng tổng hợp l−ơng cho một công ty, ta cần tính tổng l−ơng vμ số ng−ời của mỗi đơn vị thuộc công ty. Muốn vậy ta xây dựng một báo cáo vμ nhóm dữ liệu theo tr−ờng DV (đơn vị). Tại đầu hoặc cuối nhóm DV ta đ−a vμo các điều khiển sau: Số ng−ời: =Count([HT]) Tổng l−ơng: =Sum([NC]*[ML]) Trong đó HT (họ tên), NC (ngμy công) vμ ML (mức l−ơng) lμ các tr−ờng của bảng/truy vấn nguồn của báo biểu. IV.3. Tổng hợp dữ liệu trên toμn báo biểu Để tổng hợp dữ liệu trên các bản ghi của toμn bộ báo biểu, ta cũng lμm nh− cách trên, nh−ng các điều khiển đ−ợc đặt tại đầu hoặc cuối báo biểu. IV.4. So sánh dữ liệu tổng hợp trên các phần của báo biểu Khi xây dựng các báo biểu th−ờng phải so sánh, đối chiếu số liệu tổng hợp giữa các phần với nhau. Ví dụ khi tổng hợp l−ơng của công ty cần biết tổng l−ơng của mỗi đơn vị chiếm bao nhiêu phần trăm tổng l−ơng của toμn công ty. Để so sánh dữ liệu tổng hợp trên các phần của báo biểu ta lμm nh− sau: . 1. Tạo các ô điều khiển tại đầu hoặc cuối mỗi phần để nhận dữ hếu tổng hợp trên các phần. Dùng thuộc tính Nam đặt tên cho các ô điều khiển. 2. Sử dụng các ô điều khiển nói trên để thực hiện các phép so sánh dữ liệu tổng hợp trên các phần khác nhau của báo biểu. Cách lμm nh− sau: Tạo các ô điều khiển mới (tại bất kỳ vị trí nμo trên báo biểu), rồi đặt vμo đó các biểu thức chứa tên các ô điều khiển đã xây dựng ở b−ớc 1 . IV.5. Không in một số ô điều khiển của báo biểu. Nếu đặt thuộc tính Visible của ô lμ No thì nội dung của ô đó không in trên giấy, nh−ng vẫn có khoảng trống đúng bằng kích th−ớc của ô điều khiển. Nếu đặt thuộc tính Height của điều khiển lμ 0 thì nội dung hoμn toμn bị bỏ qua trên kết quả in cuả báo biểu. Bμi giảng Access 73
  74. V. Báo biểu chính vμ báo biểu phụ Cách tổ chức báo biểu chính vμ báo biểu phụ hoμn toμn giống nh− việc tổ chức mẫu biểu chính, phụ đã trình bμy trong phần mẫu biểu. Trình tự thực hiện nh− sau: 1. Tạo báo biểu chính vμ phụ hoμn toμn độc lập. Lúc nμy chúng ch−a có quan hệ gì với nhau 2. Mở báo biểu chính trong chế độ Design View, bấm phím F11 để đồng thời mở cửa sổ Databbse. 3. Kéo một báo biểu phụ từ cửa sổ Database vμo trong cửa sổ thiết kế của báo biểu chính. Kết quả Access tạo một điều khiển kiểu SubReport buộc vμo báo biểu phụ vμ một nhãn đi kèm. Tên (thuộc tính name) của báo biểu phụ đ−ợc đặt mặc định cho báo biểu phụ đ−ợc kéo. Ta có thể sửa nếu muốn. 4. Tạo sự liên kết giữa báo biểu chính vμ báo biểu phụ. Dùng các thuộc tính của SubReport nh− sau: LinkChildFields: Tr−ờng liên kết của báo biểu phụ LinkMasterFields: Tr−ờng liên kết của báo biểu chính * Tác dụng của liên kết: trên báo biểu phụ chỉ hiện các bản ghi cùng giá trị liên kết với các bản ghi hiện hμnh (đang xét) của báo biểu chính. Hay nói cách khác chỉ các bản ghi của báo biểu phụ có liên quan đến báo biểu chính mới đ−ợc in trên báo biểu chính. * Chú ý: Nếu không tạo liên kết thì toμn bộ bản ghi của báo biểu phụ sẽ hiện trên báo biểu chính. VI. Xây dựng báo biểu tự động bằng Wizard 1. Từ cửa sổ Database chọn mục Report rồi bấm nút New. Kết quả hiện cửa sổ New Report. 2. Chọn một bảng hoặc truy vấn lμm nguồn dữ liệu cho báo biểu tại mục Choose the Table or Query . 3 . Chọn một trong hai kiểu báo biểu tự động (có từ AutoReport) hoặc chọn Report Wizard trong danh sách trên d−ới đây sẽ trình bầy một số cách chọn trên. Tạo báo biểu tự động kiểu Columnar Chọn mục AutoReport: Columnar trong cửa sổ New Report, rồi bấm OK. Kết quả nhận đ−ợc cửa sổ Report. Nếu muốn thay đổi lại thì chọn View - -> Design View để thay đổi. Tạo báo tự động kiểu Tabular Bμi giảng Access 74
  75. Chọn mục AutoReport: Tabular trong cửa sổ New Report, rồi bấm OK. Kết quả nhận đ−ợc cửa sổ Report. Nếu muốn thay đổi lại thì chọn View > Design View để thay đổi. Tạo báo tự động bằng công cụ Wizard 1. Chọn mục AutoReport: Tabular trong cửa sổ New Report rồi bấm OK. 2. Chọn các tr−ờng đ−a vμo báo biểu > bấm Next 3. Chọn các tr−ờng dùng để phân nhóm > bấm Next 4. Chọn các tr−ờng để sắp xếp nếu muốn > bấm Next. 5. Chọn các dạng hiến thị tại mục Layout, chọn h−ớng in tại Orientation (VD chọn Portrait), > bấm Next. 6. Chọn một trong các mẫu trang trí > bấm Next (ở đây ta chọn Bold), rồi bấm Next. 7. Sửa lại tiêu đề cho báo biểu (tiêu đề mặc định lμ tên bảng/truy nguồn) > bấm Finish. 8. Có thể chọn View, Design View để chuyển về cửa sổ thiết kế, rồi tiến hμnh đổi lại font chữ vμ tiến hμnh các chỉnh sửa khác nếu muốn Bμi giảng Access 75
  76. các bμi tập thực hμnh Bμi thực hμnh số 1 1-Tạo 2 bảng sau: BanHang Tên cột Kiểu dữ liệu STT Auto Number NgayBan Date/Time MaHang Text SoLuong Number TongTien Currency LoaiHang Tên cột Kiểu dữ liệu MaHang Text TenHang Text DonGia Currency 2-Nhập dữ liệu cho 2 bảng trên. Mỗi bảng khoảng 5 bản ghi. 3-Thiết lập mối quan hệ giữa 2 bảng thông qua MaHang. 4-Trong bảng BanHang hãy: -Chèn tr−ớc cột TongTien một cột mới có tên lμ NguoiBan(Text) -Chèn sau cột NguoiBan một cột mới có tên lμ DaThanhToan(yes/No) -Di chuyển cột NgayBan xuống phía sau cột SoLuong. -Đặt 3 chữ số thập phân cho cột TongTien. 5-Mở bảng BanHang ra: -Tìm những bản ghi có MaHang lμ M1. -Đặt chiều cao của hμng lμ 15. -Đặt độ rộng của cột lμ Best Fit. -Di chuyển cột NguoiBan ra phía sau cột DaThanhToan. -giấu 2 cột NguoiBan vμ TongTien. -Hiện lại 2 cột. -Chỉ hiện các đ−ờng l−ới dọc, ẩn đi các đ−ờng l−ới ngang. -Đặt mμu nền của bảng mμu xanh, còn các đ−ờng l−ới mμu vμng. -Đặt font chữ cho dữ liệu trong bảng lμ .Vntime cỡ 14. -Sắp xếp tăng dần cột MaHang, sắp xếp giảm dần cột NgayBan. -Lọc ra những bản ghi có MaHang lμ M1. -Chèn thêm 1 bản ghi. -Xoá bản ghi đầu tiên. Bμi thực hμnh số 2 1, khởi động Access vμ tạo bảng sau (danh sach) Stt Họ tên Số báo danh Ngμy sinh 1 Trần Thịnh 99A001 12/12/78 2 Mạnh Vũ 99A002 09/09/78 3 Trọng Minh 99A003 01/09/77 2, Sửa a, Ngμy sinh ng−ời số 2 lμ 20/08/80 Bμi giảng Access 76
  77. b, Họ tên ng−ời thứ 3 lμ “Nguyễn Văn Phú” c, Thêm một ng−ời mới sau 4 Trọng Sỹ 99A004 01/09/76 3, Tạo bảng mới sau tên lμ(Ket Qua) Số báo danh Toán Lý Hoá 99A001 6 8 9 99A002 7 7 8 99A003 8 8 7 99A004 8 8 8 4, Hãy tạo mối quan hệ giữa hai bảng (Danh Sach vμ Ket qua) Qua tr−ờng Số báo danh 5, Tạo bảng sau tên lμ (Đia Chi) Số báo danh địa chỉ 99A001 166- Nguyễn Văn cừ- Gia Lâm- Hμ nội 99A002 Số 10- Hoμng Quốc Việt -Hμ nội 99A003 193-Mai dịch -Hμ nội 99A004 Số 234- Hoμng Quốc Việt -Hμ nội 6, Tạo mối Quan hệ giữa 3 bảng Danh sach - ket qua -đia chi 7,Sắp xếp cột toán tăng dần 8, Sắp xếp cột ngμy sinh giảm dần 9,Tìm ng−ời có Số báo danh 99A003 10,Tìm ng−ời có Đia chi (193-Mai dịch -Hμ nội) 11,Lọc dữ liệu. a. Ng−ời có Toán>=6 b. Ng−ời có Lý>=5 vμ Hoá >=7 c. Ng−ời có Ngμy sinh=01/09/77 d. Ng−ời có Toán,Lý,Hoá>=4 bμi thực hμnh số 3 1. Tạo Bảng 1 tên lμ (Đơn đặt hμng) Mã đơn đặt hμng Ngμy đặt hμng Mã vật t− Vt001 12/12/99 T01 Vt002 11/11/99 T02 Vt003 10/10/99 T03 Vt004 02/02/99 T04 Vt005 03/03/98 T05 Vt006 02/06/99 T06 2. Bảng 2 (Danh mục vật t−) Mã vật t− Tên vật t− T01 Ti vi T02 Tủ lạnh T03 Điều hoμ T04 Máy tính T05 Túi sách Bμi giảng Access 77
  78. T06 Tủ t−ờng 3. Bảng 3 (Số l−ợng) Mã đơn đặt hμng Số l−ợng Vt001 500 Vt002 200 Vt003 400 Vt004 100 Vt005 300 Vt006 600 4. Bảng 4 (Đơn giá) Mã vật t− Đơn giá T01 5000 T02 6000 T03 4000 T04 6000 T05 8000 T06 5000 5. Tạo mối Quan hệ Sau -Bảng1 vμ Bảng 2 -Bảng1 vμ Bảng 3 -Bảng2 vμ Bảng 4 -Bảng1 vμ Bảng 2,3,4 6.lọc ra những mã vật t− lμ T01 vμ T02 7.lọc ra với điều kiện Số l−ợng >300 8.Xoá mối Quan hệ trên giữa 3 Bảng Bμi thực hμnh số 4 1, Tạo Bảng có tên lμ (Danh sách) MNV Họ đệm Tên Quê Quán Ngμy sinh Giói tính M01 Trần Văn Đức Hμ nam 02/02/78 1 M02 Hoμng Văn Tú Hμ nội 03/03/77 1 M03 Nguyễn Nh− Tùng Hμ nội 05/05/81 1 M04 Trần Thu Nga Hμ nội 05/06/77 0 M05 Nguyễn Nh− Trọng Hải phòng 02/02/78 1 2, Bảng 2 có tên lμ (Đơn vị công tác) MNV Tên phòng ban Chức vụ Năm công tác M01 Hμnh chính Tp 12 M02 Tμi vụ PP 13 M03 Kế hoạch Tp 12 M04 Kỹ thuật Tp 11 M05 Đời sống Nv 10 3, Tạo Bảng 3 có tên lμ (Tiền l−ơng) MNV L−ơng cơ bản Tạm ứng M01 500 100 M02 600 200 Bμi giảng Access 78
  79. M03 200 100 M04 300 200 M05 500 250 4. Liên kết các bảng trên vμ tạo các query sau để truy vấn dữ liệu từ CSDL: 4.1.QryDanhsach gồm các thông tin sau :họ đệm, tên, quê quán, Ngμy sinh, giới tính, chức vụ, năm công tác, l−ơng cơ bản, phụ cấp, bảo hiểm xã hội, bảo hiểm y tế, đ−ợc lĩnh, phụ cấp, bảo hiểm xã hội, bảo hiểm y tế, đ−ợc lĩnh. Trong đó: + Phụ cấp =15% L−ơng cơ bản + Bảo hiểm Xã hội=5% L−ơng cơ Bản + Bảo hiểm Y Tế=2% L−ơng cơ Bản + Đ−ợc Lĩnh=(L−ơng cơ bản+Phụ cấp)-(Bảo hiểm Xã hội+Bảo hiểm Y tế +Tạm ứng). 4.2. Tạo query2 gồm những ng−ời lμ nam giới vμ quê ở Hμ nội, với các thông tin nh− QryDanhsach. 4.3. Tạo query3 gồm các thông tin: họ đệm, tên, tên phòng ban, chức vụ, đ−ợc lĩnh. Căn cứ vμo năm công tác để thêm tiền vμo cột đ−ợc lĩnh nh− sau: >=10 năm : thêm 50000đ >=5 vμ =10 vμ ở phòng hμnh chính hoặc phòng tμi vụ (với các thông tin nh− Query3). Bμi thực hμnh số 5 Tạo CSDL sau Bảng 1: có tên (Khách hμng) Số máy Họ đệm Tên Địa chỉ 5635465 Trần Văn Đức 193-Mai dịch -Hμ nội 9271726 Hoμng Văn Tú 166- Nguyễn Văn cừ- Gia Lâm- HN 8237901 Nguyễn Nh− Tùng Số 10- Hoμng Quốc Việt –HN 7655194 Trần Ngọc Hùng 168- Nguyễn Văn cừ- Gia Lâm- HN 8390233 Nguyễn Nh− Trọng Số 234- Hoμng Quốc Việt -HN Bảng 2 có tên lμ Danh sách gọi Số máy Số máy bị gọi Thời gian gọi(phút) 5635465 04-7655194 12 9271726 08-7655412 3 9271726 034-8810073 11 5635465 04-8837219 5 8237901 08-7584343 14 8237901 030-768596 6 8390233 04-7655194 14 7655194 04-7985654 18 7655194 030-8832599 6 Căn cứ vμo cách tính tiền sau để tính toán: Mã vùng lμ: 04=1000đ/phút Bμi giảng Access 79
  80. 08=3000đ/phút 034=2500đ/phút 030=1500đ/phút Tạo các Query sau để truy vấn dữ liệu: 1.Query1: gồm các thông tin sau: số máy, số máy bị gọi, thời gian gọi, họ đệm, tên, địa chỉ, tiền c−ớc, tiền phụ trội, tiền phải trả. Trong đó: - Tiền C−ớc =Thời gian *Tiền/phút - Tiền phụ trội= 2% Tiền C−ớc, nếu thời gian gọi>=5 vμ 10 phút -Tiền phải trả = Tiền c−ớc+Tiền phụ trội 2.Query2: gồm danh sách những khách hμng có mã vùng 04. 3.Query3:gồm những khách hμng có thời gian gọi >=10 phút. 4.Query4:gồm danh sách những số máy mμ máy 5635465 gọi đến. 5.Query5:gồm danh sách Họ tên vμ Địa chỉ những máy gọi đến máy 04-7655194 Bμi thức hμnh số 6 Sử dụng truy vấn Query để lμm các Bμi tập sau: 1, Giả sử công việc của ta lμ quản lý một cửa hμng băng đĩa nhạc ta có 4 chủng loại băng hình đ−ợc đánh mã sốlμ A001,A002,A003,A004 Tiền thuê băng 1 ngμy lμ 2000đ cho moi loại băng. Hãy tạo CSDL gồm bảng sau: SO LUONG Stt Mã BH Ng−ời thuê Ngμy thuê Ngμy trả 1 A01 Hùng 02/02/02 11/11/02 2 A02 Huy 03/03/02 10/10/02 3 A01 Hiệp 09/09/02 09/09/02 4 A03 Hiếu 08/08/02 08/08/02 5 A04 ThắNg 07/07/02 09/08/02 6 A03 Tr−ờng 08/08/02 09/09/02 DIACHI Ng−ời thuê Địa chỉ Hùng 193-Mai dịch -Hμ nội Huy 166- Nguyễn Văn cừ- Gia Lâm- HN Hiệp Số 10- Hoμng Quốc Việt –HN Hiếu 168- Nguyễn Văn cừ- Gia Lâm- HN Thắng Số 234- Hoμng Quốc Việt -HN Tr−ờng Số 23- Hoμng Quốc Việt -HN TENBANG Mã BH Tên BăNg A01 Cải L−ơNg A02 Ca nhạc A03 Tr−ởng A04 Phim Tập Bμi giảng Access 80
  81. - Tạo Query1: để tính cột Tiền phải trả trong Query nμy bao gồm toμn bộ bảng SOLUONG - Tạo Query2: để hiện những ai thuê mã băng hình A01, trong Query nμy bao gồm các cột Tên băng, Ng−ời thuê, Địa chỉ . - Tạo Query3: để hiện những ai thuê mã băng hình A01,A03 hoặc A04, trong Query nμy bao gồm các cột Tên băng, Ng−ời thuê, Địa chỉ - Tạo Query4: để hiện những ai thuê từ tháng 3 đến tháng 10 năm 2002 trong Query nμy bao gồm các cột Tên băng, Ng−ời thuê, Địa chỉ - Tạo Query5: để tính tiền cho mọi ng−ời từ ngμy thuê đến ngμy hiện tại lμ bao nhiêu tiền, không tính cho những ng−ời đã trả (nghĩa lμ ngμy trả <DATE() ) trong Query5 nμy bao gồm các cột Tên Băng, Ng−ời thuê, Địa chỉ vμ Tiền. Truy vấn theo nhóm (các cột trong query lấy cho phù hợp) - Tạo Query6: Tính tổng nhóm theo mã băng hình xem mỗi băng hình cho thuê đ−ợc bao nhiêu tiền. - Tạo Query7: Tính tổng trung bình nhóm theo mã băng hình xem mỗi băng hình cho thuê TB đ−ợc bao nhiêu tiền. - Tạo Query8: Xem tiền thuê lớn nhất của mỗi loại băng hình lμ bao nhiêu. - Tạo Query9: Xem tiền thuê nhỏ nhất của mỗi loại băng hình lμ bao nhiêu. - Tạo Query10: Xem mỗi loại băng hình có bao nhiêu ng−ời thuê. - Tạo Query11: Xem mỗi loại băng hình có bao nhiêu ng−ời thuê tr−ớc ngμy 05/05/02. Bμi thực hμnh số 7 Tạo CSDL sau Stt Ngμy tháng Mã mặt hμng Loại Số L−ợng 1 10/10/02 M1 A 2 2 10/10/02 M2 B 5 3 09/09/02 M3 C 4 4 08/08/02 M2 C 3 5 08/08/02 M1 B 6 6 09/09/02 M3 A 4 - Truy vấn tổng ( Group By) Theo ngμy tháng vμ tính tổng số l−ợng. - Truy vấn tổng ( Group By) Theo Mã mặt hμng vμ tính tổng số l−ợng. - Truy vấn tổng ( Group By) Theo loại vμ tính tổng số l−ợng. - Truy vấn Crosstab ứng với Ngμy tháng (RowHearding) Mã mặt hμng (Colum Heading) Vμ số l−ợng (Value). - Truy vấn Crosstab lấy Mã mặt hμng lμm Row Hearding, Loại lμm Colum Hearding vμ Sốl−ợng Lμm Value. Bμi thực hμnh số 8 1, Xây dựng CSDL nh− sau: SOLUONG Số Ngμy tháng Mã mặt hμng Số L−ợng TT 1 10/10/02 M1 2 Bμi giảng Access 81