Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
4,28 MB
Nội dung
Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 PHẦN LÝ THUYẾT PHẦN CỞ SỞ DỮ LIỆU MICROSOFT ACCESS Khái niệm Hệ QTCSDL Microsoft Access: Microsoft Access phần mềm phần mềm Microsoft Office (Tin học văn phòng) hãng Microsoft dành cho máy tính dùng để giải tốn quản lý vừa nhỏ Chức Microsoft Access là: - Tạo môi trường thuận tiện cho phép người dùng xây dựng tạo toán quản lý mơi trường máy tính - Cung cấp đầy đủ công cụ phương tiện để cập nhật thơng tin liệu vào cho tốn quản lý Đồng thời cho phép người dùng khai thác thơng tin liệu từ tốn quản lý theo nhu cầu người dùng thông qua giao diện đồ hoạ + Khái niệm Bài toán quản lý: Bài toán quản lý tập hợp bảng liệu có liên quan với thơng qua hay nhiều field liệu lĩnh vực tổ chức lưu chứa nhớ máy tính Nhằm mục đích khái thác thơng tin cho nhiều người dùng với nhiều mục đích khác nhau: VD: Quản lý Học sinh, Sinh viên, Quản lý bán hàng, quản lý sách, quản lý nhân sự, … Như biết ngày với việc phát triển xã hội CNTT đóng vai trò khơng thể thiếu CNTT ứng dụng vào hầu hết lĩnh vực, ngành nghề Đặc biệt việc tin học hố cơng tác quản lý chiếm 90% ứng dụng Tin học + Việc tạo tốn quản lý mơn trường máy tính bao gồm bước: I Bước 1: Tạo lập hồ sơ (Tạo CSDL – Bài toán quản lý) - Tuỳ thuộc vào nhu cầu tổ chức mà ta phải xác định chủ thể cần quản lý - Dựa yêu cầu quản lý thông tin đơn vị, tổ chức để xác định cấu trục hồ sơ cho phù hợp - Tiến hành thu nhập thông tin từ nhiều nguồn kah1c đưa vào cho toán quản lý Bước 2: Tiến hành cấp nhật hồ sơ quản lý: việc làm thường xuyên liên tục suốt q trình sử lý khai thác tốn - Nhập hồ sơ quản lý, sửa chữa thông tin, liệu - Cập nhật bổ sung thông tin, liệu - Xố hồ sơ hồ sơ khơng giá trị… Bước 3: Khái thác hồ sơ quản lý: - Sắp xếp hồ sơ theo hay nhiều tiêu chí người dùng - Tìm kiếm tra cứu thơng tin có sẵn hồ sơ thoả mãn số u cầu người dùng - Tính tốn, tổng hợp, thống kê hồ sơ theo yêu cầu người dùng - Từ công việc người dùng thiết kế báo cáo theo yêu cầu cụ thể đó… Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 GIỚI THIỆU CƠ SỞ DỮ LIỆU TRONG ACCESS I- Dữ liệu sở liệu Ví dụ : Để quản lý việc xếp loại điểm cho học sinh trường phổ thông, ta cần biết thông tin: danh sách học sinh lớp, bảng điểm môn học, danh sách mơn học, … Ví dụ : Để quản lý hóa đơn bán hàng cửa hàng, ta cần biết thông tin: danh sách khách hàng, danh mục sản phẩm, thơng tin hóa đơn, … Ví dụ : Để quản lý việc cho mượn sách thư viện, ta cần biết thông tin : Danh mục sách cho mượn, thông tin đọc giả, danh mục loại sách, … 1- Khái niệm liệu ▬ Dữ liệu thông tin đối tượng mà ta muốn quản lý Ví dụ : ▬ Đối tượng Học sinh gồm có : họ tên, ngày sinh, phái, địa chỉ, … ▬ Đối tượng Khách hàng gồm có : họ tên, địa chỉ, điện thoại, … ▬ Đối tượng Sách gồm có : tên sách, số trang, tác giả, ngơn ngữ, … ▬ Đối tượng Hóa đơn gồm có : mã hóa đơn, nhân viên lập đơn, ngày lập đơn, … 2- Khái niệm sở liệu ▬ Tập hợp liệu cần quản lý lưu trữ theo cấu trúc (thường cấu trúc dạng bảng) Trong đó, bảng lưu trữ đối tượng cụ thể đồng thời bảng có mối quan hệ với Ví dụ : Mahs Hoten Ngaysinh Phai Malop 20300016 Nguyen Thi Thuy 25/12/84 Nu KTV15 20300025 Tran Hoang 11/08/83 Nam KTV17 20300026 Ly Thi Thu 12/09/84 Nu KTV17 Malop KTV15 KTV16 KTV17 Tenlop Ky thuat vien Tin hoc khoa 15 Ky thuat vien Tin hoc khoa 16 Ky thuat vien Tin hoc khoa 17 II- Giới thiệu Access 1- Giới thiệu ▬ Access ứng dụng nằm phần mềm văn phòng Microsoft Office dùng để tạo chương trình quản lý : quản lý kinh doanh thương mại, lĩnh vực đào tạo, nhân sự, … ▬ Việc xây dựng ứng dụng quản lý bao gồm: • Tạo bảng để lưu trữ liệu • Xây dựng hình nhập|xuất liệu • Tạo mẫu báo cáo kết xuất • Xây dựng thao tác để xử lý liệu theo yêu cầu • Các chế độ bảo mật 2- Tập tin CSDL Access ▬ Tập tin CSDL Access có phần mở rộng MDB (đối với Office 97, 2000, XP); Accdb (đối với office 2007 trở đây) bao gồm đối tượng sau : • Table : Các bảng lưu trữ liệu để quản lý • Query : Cơng cụ để xử lý liệu Table • Form : Cơng cụ để trình bày liệu Table|Query giao diện để chọn thao tác • Report : Cơng cụ dùng để kết xuất liệu Table|Query Biên soạn: Phan Thị Tài Trang: Trường THPT Ngô Quyền • • Giáo trình ơn thi học sinh giỏi tin học 12 Macro : Công cụ dùng để liên kết thao tác việc tự động hóa Module : Cơng cụ lập trình Access với ngơn ngữ VBA (Visual Basic for Application) 3- Khởi động ▬ All programs Microsoft Office Microsoft Office Access 4- Các thao tác cửa sổ Database Tạo tập tin CSDL (1 toán quản lý) phần tạo lần sau buổi khác ta mở lên làm tiếp (xây dựng CSDL tạo vài buối mà phải xây dựng dần dần) lần sau tạo lại tên tập tin CSDL máy hỏi bạn tập tin CSDL có bạn có muốn lưu đè khơng Yes/No Nếu chọn Yes nghĩa tập tin CSDL cũ bị xoá không phục hồi CSDL cần tạo tin việc tạo Lúc ta tập tin CSDL trắng rỗng sau: Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 TABLE I- Thiết kế Table 1- Tổng quan ▬ Chế độ thiết kế : Menu View Design View ▬ Chế độ nhập liệu : Menu View Datasheet View ▬ Ở cửa sổ Database : Open (chế độ nhập liệu) ; Design (chế độ thiết kế) ▬ Cột Table gọi Field, tên cột gọi Field Name ▬ Hàng Table gọi Record ▬ Khóa Table : Là hay nhiều Field mà giá trị ln dùng đề phân biệt Record với 2- Các bước tổng quát để tạo hệ thống Table CSDL ▬ Tạo cấu trúc cho Table (FieldName, DataType, Description, FieldProperties, khóa chính) ▬ Tạo quan hệ Table hệ thống ▬ Nhập liệu 2.1- Tạo cấu trúc Table ▬ Create => chọn mục Table Desing view ▬ Xuất cửa sổ Table Design dùng để tạo cấu trúc bảng liệu nhằm lưu liệu: • • • • ▬ ▬ Field Name: Nhập tên Field (không khoảng trắng, không dấu, ngắn gọn) Data Type: Chọn kiểu cho Field (xem danh mục kiểu) Description: Ý nghĩa Field (tùy chọn) Field Properties: Các thuộc tính kèm theo (xem danh mục thuộc tính) Chọn nhiều Field cần làm khóa : Menu Design Primary Key (Trường hợp có nhiều Field làm khóa ta kéo mouse đầu Field để chọn) Lưu (tên Table không khoảng trắng, không dấu, ngắn gọn) Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Chú ý : Trong trường hợp chưa khơng tạo khóa đóng cửa sổ Design Table xuất thông báo : ▬ Yes : Access tạo Field tên ID với kiểu AutoNumber để làm khóa cho Table ▬ No : Table khơng cần khóa 2.2- Danh mục kiểu thuộc tính 2.2.1- Kiểu field Kiểu Ý nghĩa Text Chứa liệu chuỗi (LL000 Bắt buộc nhập L Bắt buộc nhập chữ chữ chư số, ? Có thể nhập chữ chữ thể A Bắt buộc nhập số chữ ký tự in & Bắt buộc nhập ký tự > Các ký tự theo sau đổi thành chữ in < Các ký tự theo sau đổi thành chữ thường Tên field chuyển sang Datasheet View Giá trị nhập liệu Biểu thức giới hạn giá trị nhập (RBTV cho field) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ liệu nhập có bắt buộc hay khơng Cho phép nhập chuỗi rỗng hay không Lập mục có phép trùng lắp hay khơng Kiểu Number Ý nghĩa Qui định phạm vi chứa số Byte Chứa số nguyên từ 255 Integer Chứa số nguyên từ -32768 32767 Biên soạn: Phan Thị Tài Trang: Trường THPT Ngô Quyền Format Decimal Place Caption Default Value Validation Rule Validation Text Required Indexes Giáo trình ơn thi học sinh giỏi tin học 12 Long Integer Chứa số nguyên từ -2147483648 2147483647 Single Chứa số thực Double Chứa số thực lớn Qui định dạng hiển thị liệu General Number Dạng tổng quát nhập Currency Dạng có ký hiệu tiền tệ Fixed Dạng có số số lẻ cố định Standard Dạng có dấu phân cách hàng ngàn Percent Dạng tính phần trăm Số số lẻ cố định Tên field chuyển sang Datasheet View Giá trị nhập liệu Biểu thức giới hạn giá trị nhập vào (RBTV) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ liệu nhập vào có bắt buộc hay khơng Lập có phép trùng lắp liệu hay không Kiểu Date/Time Thuộc tính Format Input Mask Caption Default Value Validation Rule Validation Text Required Indexes Ý nghĩa Qui định dạng hiển thị liệu General Date Dạng tổng quát nhập Long Date Monday, September 27, 2004 Medium Date 27 – September – 04 Short Date 27/09/04 Giống Text Chỉ định tên field chuyển sang Datasheet View Giá trị nhập liệu Biểu thức giới hạn giá trị nhập vào (RBTV) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ liệu nhập vào có bắt buộc hay khơng Lập có phép trùng lắp liệu hay không Kiểu Yes/No Ý nghĩa Qui định dạng hiển thị liệu Yes/No Yes No (0 -1) Ture/False True False (0 -1) On/Off On Off (0 -1) Caption Tên field chuyển sang Datasheet View Default Value Giá trị nhập liệu Validation Rule Biểu thức giới hạn giá trị nhập vào (RBTV) Validation Text Thông báo nhập sai giới hạn (sai RBTV) Required Chỉ rõ liệu nhập vào có bắt buộc hay khơng Indexes Lập mục có phép trùng lắp liệu hay không Bài tập 01 - Thiết kế cấu trúc bảng liệu: Khởi động Ms-Access tạo tập tin CSDL ổ đĩa D:\ với tên QuanLySach: Lần lượt thiết kế cấu trúc bảng liệu sau: a) Tạo cấu trúc bảng liệu ChuDeSach sau: Thuộc tính Format Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 a) Tạo cấu trúc bảng liệu Sach sau: c) Tạo cấu trúc bảng liệu SachDocGia sau: d) Tạo cấu trúc bảng liệu DocGia sau: Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Tiến hành nhập liệu cho bảng liệu sau: Lưu ý: Khi tiến hành nhập liệu cho Table: Nhập theo mẩu tin (theo dòng): a) Nhập liệu cho Table: ChuDeSach gồm: b) Nhập liệu cho Table Sach gồm: c) Nhập liệu cho Table SachDocGia gồm: Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 d) Nhập liệu cho Table DocGia gồm: Bài tập 02 - Thiết kế cấu trúc bảng liệu: Khởi động Ms-Access tạo tập tin CSDL ổ đĩa D:\ với tên HocPhi: Lần lượt thiết kế cấu trúc bảng liệu sau: a) Tạo cấu trúc bảng liệu LOP sau: b) Tạo cấu trúc bảng liệu HocSinh sau: Biên soạn: Phan Thị Tài Trang: Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 c) Tạo cấu trúc bảng liệu DienUuTien sau: Lần lượt tiến hành nhập liệu cho bảng Table sau: a) Nhập liệu cho Table Lop gồm: Nhập liệu cho Table HocSinh gồm: Biên soạn: Phan Thị Tài Trang: 10 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Khi gọi thực thủ tục, có tồn dòng lệnh mà phát sinh lỗi Những lỗi : • Đối tượng trạng thái khơng chấp nhận lệnh • Đối tượng khơng tồn • … ▬ Và tùy tình mà ta dùng lệnh nhảy sau để điều khiển việc thực thi dòng lệnh thủ tục : On Error Goto Nhảy đến đoạn chương trình có có lỗi xảy đặt dòng nơi cần nhảy tới theo sau dấu hai chấm On Error Resume Next Thực dòng lệnh đứng liền dòng lệnh sinh lỗi Lệnh thường đặt trước dòng lệnh phát sinh lỗi ▬ Biên soạn: Phan Thị Tài Trang: 97 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 CÁC CẤU TRÚC RẼ NHÁNH I- Cấu trúc điều kiện If 1- Tổng quan ▬ Đây cấu trúc thơng dụng viết lệnh, dùng để thực lệnh tùy theo điều kiện 2- Các dạng If 2.1- Dạng If Then Kiểm tra thực lệnh tương ứng xảy (true) Nếu không xảy (false) thủ tục bỏ qua dòng lệnh 2.2- Dạng If Then End if Giống dạng thực nhiều lệnh thân If 2.3- Dạng If Then ElseIf Then …… Else End If Kiểm tra nhiều thực tương ứng xảy Ngược lại, thực 3- Ví dụ Xét mẫu Form sau : Yêu cầu : ▬ Khi chọn tùy chọn “Tất thành phố” Combobox mờ Ngược lại, chọn tùy chọn “Chọn thành phố” Combobox sáng lên phép chọn tên thành phố ▬ Khi chọn tùy chọn “Tất thành phố”, nhấp nút “Xem” mở Report “RL_Thiepmoi” hình Ngược lại, chọn tùy chọn “Chọn thành phố” đồng thời chọn thành phố Combobox nhấp nút “Xem” mở Report “RL_Thiepmoi” hình theo thành phố vừa chọn Thiết kế : ▬ Thủ tục đáp ứng yêu cầu : Private Sub fraChon_AfterUpdate() If fraChon = Then cobtp.Enabled = False Else cobtp.Enabled = True End If End Sub Private Sub cmdXem_Click() If fraChon = Then Biên soạn: Phan Thị Tài Trang: 98 Trường THPT Ngô Quyền Giáo trình ơn thi học sinh giỏi tin học 12 DoCmd.OpenReport "RL_Thiepmoi", acViewPreview ElseIf fraChon = And IsNull(cobtp) Then MsgBox "Ban phai chon pho", vbCritical Me.cobtp.SetFocus Else DoCmd.OpenReport "RL_Thiepmoi", acViewPreview, , "Thanhpho = '" & Me.cobtp & "'" End If End Sub II- Cấu trúc chọn lựa Select … Case 1- Tổng quan ▬ Điều khiển việc thực lệnh dựa giá trị biểu thức 2- Cú pháp Select Case Case Case …… Case Else End Select Khi có thực , có thực , …… Ngồi thực sau phát biểu Case Else Lưu ý : có dạng sau : ▬ Một giá trị kiểu với giá trị ▬ Nhiều giá trị cách dấu phẩy ▬ Miền giá trị : To ▬ Biểu thức : Is 3- Ví dụ Xét mẫu Form sau : Yêu cầu : ▬ Nhập số có chữ số vào Textbox bên trái Bấm enter Dịch chữ Textbox bên phải ▬ Thủ tục sau : Private Sub txtSo_Exit() „ Khai báo biến chuỗi Dim t1 As String Dim t2 As String „ Khai báo biến số nguyên Dim chuc As Byte Dim donvi As Byte If Val(Me.txtSo)99 Then MsgBox “Ban nhap so khong dung pham vi”, vbCritical Me.txtSo.SetFocus Exit Sub Else chuc = Val(Me.txtSo) \ 10 „ Tach chu so hang chuc donvi = Val(Me.txtSo) mod 10 „ Tach chu so hang don vi Biên soạn: Phan Thị Tài Trang: 99 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Select Case chuc Case : t1 = “Muoi” Case : t1 = “Hai muoi” Case : t1 = “Ba muoi” Case : t1 = “Bon muoi” Case : t1 = “Nam muoi” Case : t1 = “Sau muoi” Case : t1 = “Bay muoi” Case : t1 = “Tam muoi” Case : t1 = “Chin muoi” End Select Select Case donvi Case : t2 = “” Case : t2 = “mot” Case : t2 = “hai” Case : t2 = “ba” Case : t2 = “bon” Case : t2 = “lam” Case : t2 = “sau” Case : t2 = “bay” Case : t2 = “tam” Case : t2 = “chin” End Select End If Me.txtChu = t1 & Space(1) & t2 & Space(1) & “dong” End Sub III- Biến khai báo biến 1- Tổng quan ▬ Biến vùng nhớ tạm khai báo thủ tục để lưu trữ giá trị trung gian xử lý ▬ Biến phải khai báo tên thuộc kiểu liệu định ▬ Tên biến bao gồm chữ cái, chữ số dấu gạch phải bắt đầu chữ Đồng thời tên biến không đặt trùng với từ khóa : Case, If, Then, … 2- Kiểu biến ▬ Thông thường, biến phải khai báo kiểu xác định nhằm tránh nhầm lẫn trao đổi giá trị cho biến ▬ Bảng kiểu thường dùng : Kiểu Mô tả Phạm vi Byte Số nguyên byte 255 Boolean Đúng|Sai True(-1)|False(0) Date Ngày tháng Integer Số nguyên byte -32,768 32,767 Long Số nguyên byte -2,147,483,648 2,147,483,647 Single Số thực byte Double Số thực byte Currency Số thực có dấu chấm cố định byte String Chuỗi ký tự Variant Chuỗi, ngày, giờ, số Biên soạn: Phan Thị Tài Trang: 100 Trường THPT Ngô Quyền Giáo trình ơn thi học sinh giỏi tin học 12 3- Khai báo biến ▬ Cú pháp : ▬ ▬ Dim As Biến khai báo thủ tục có phạm vi sử dụng thủ tục Khi thủ tục kết thúc giá trị biến bị xóa Biến khai báo Declaration đơn thể có phạm vi sử dụng Form|Report Khi đóng đối tượng giá trị biến bị xóa Biên soạn: Phan Thị Tài Trang: 101 Trường THPT Ngơ Quyền Giáo trình ôn thi học sinh giỏi tin học 12 KIỂM TRA DỮ LIỆU TRÊN CONTROL I- Tổng quan ▬ Việc kiểm tra liệu điều khiển trình xử lý đối tượng Form|Report việc làm quan trọng nói thực có cập nhật liệu (thêm, xóa, sửa) Do cần phải hiểu kỹ kiện xảy đối tượng nhằm đáp ứng ràng buộc liệu lưu trữ Ví dụ : ▬ Khi nhập ngày lập đơn phải bảo đảm không lớn ngày hành ▬ Ngày yêu cầu giao hàng không nhỏ ngày lập đơn mặt định ngày lập đơn ▬ Ngày khách nhận hàng không nhỏ ngày lập đơn ▬ Thông báo lỗi nhập khách hàng khơng có danh sách ▬ Thông báo lỗi nhập người bán danh sách ▬ …… II- Thuộc tính kiện đối tượng 1- Thuộc tính Value OldValue ▬ Hầu hết điều khiển thiết kế có thuộc tính Value Đây thuộc tính mà sau hiệu chỉnh điều khiển chuyển focus sang điều khiển khác liệu vừa hiệu chỉnh lưu vào thuộc tính ▬ Nếu điều khiển hiển thị nôi dung Record thuộc tính OldValue chúng giá trị cũ chuyển sang Record khác Ta sử dụng thuộc tính điều khiển để phục hồi giá trị cũ thay đổi 2- Thứ tự xuất điều khiển ▬ Nếu ta sửa đổi liệu điều khiển A, sau di chuyển sang điều khiển B A xảy kiện theo thứ tự : BeforeUpdate \ AfterUpdate \ Exit \ LostFocus Thời điểm xảy BeforeUpdate Control A Lưu vào Value thời điểm xảy AfterUpdate Thời điểm xảy Exit Control B Vào Control B thời điểm xảy LostFocus 2.1- Sự kiện BeforeUpdate Control A ▬ Sự kiện xảy trước giá trị cập nhập lưu vào thuộc tính Value ▬ Ứng dụng việc kiểm tra liệu nhập Ví dụ : Xét mẫu Form gồm Textbox sau : “Số 1” “Số 2” Yêu cầu : ▬ “Số 1” chứa giá trị số 10 ▬ “Số 2” cho phép nhập số (khai báo thuộc tính Format General Number) Biên soạn: Phan Thị Tài Trang: 102 Trường THPT Ngô Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Khi nhập số vào txt2 Nếu số nhỏ số 10 txt1 khơng cho di chuyển thông báo nhập số nhỏ Thiết kế thủ tục : Private Sub txt2_BeforeUpdate(Cancel As Integer) If IsNumber(Me.txt2) Then If Val(Me.txt2) < Me.txt1 Then MsgBox “So nho hon” Cancel = True End If ElseIf IsNull(Me.txt2) Then Exit Sub Else MsgBox “Kieu so khong hop le” Cancel = True End If End Sub 2.2- Sự kiện AfterUpdate Control A ▬ Sự kiện xảy sau giá trị cập nhật lưu vào thuộc tính Value ▬ Ứng dụng thao tác có liên quan đến giá trị Ví dụ : Xét mẫu Form gồm Textbox : “Ngày lập”, “Ngày yêu cầu” “Ngày nhận” Yêu cầu : ▬ “Ngày lập” ngày hành ▬ “Ngày yêu cầu” cho phép nhập giá trị ▬ “Ngày nhận” nhận giá trị “Ngày yêu cầu” ▬ Khi nhập giá trị vào Texbox kiểm tra giá trị có giá trị ngày tháng lớn giá trị Textbox hay không Nếu thông báo không cho di chuyển focus Ngược lại, nhận giá trị gởi giá trị qua Textbox Thiết kế thủ tục : Private Sub txt2_BeforeUpdate(Cancel As Integer) If IsDate(Me.txt2) Then If CDate(Me.txt2) < Me.txt1 Then MsgBox "Nho hon" Cancel = True End If ElseIf IsNull(Me.txt2) Then Exit Sub Else MsgBox "Khong phai gia tri ngay" Cancel = True End If End Sub ▬ Private Sub txt2_AfterUpdate() Me.txt3 = Me.txt2 End Sub 2.3- Sự kiện Exit Control A (cũng kiện Enter Control B) Biên soạn: Phan Thị Tài Trang: 103 Trường THPT Ngô Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Giống kiện BeforeUpdate áp dụng cho liệu không cập nhật 2.4- Sự kiện LostFocus Control A (cũng kiện LostFocus Control B) ▬ Sự kiện xảy Control A thật focus, nghĩa thời điểm focus chuyển vào Control B Sự kiện áp dụng cho liệu 3- Nhập giá trị vào Combobox ▬ Khi đặt thuộc tính Limit to List cho Combobox Yes, người sử dụng nhập giá trị khơng có cột danh sách khai báo thuộc tính Row Source xảy kiện OnNotInList với thủ tục kiện sau : Private Sub _NotInList(NewData As String, Response As Integer) …… End Sub ▬ Trong : • NewData : chứa giá trị nhập Combobox • Response : dùng để định cách xử lý với sau : ✓ AcDataErrDisplay : (mặc định) Hiện thông báo lỗi hệ thống không cho thêm giá trị ✓ AcDataErrContinue : Không thông báo lỗi hệ thống cho phép thêm giá trị vào danh sách ✓ AcDataErrAdded : Không thông báo lỗi hệ thống cho phép thêm, sau kiểm tra lại danh sách lần Ví dụ : Khi chọn người bán từ CobManv mà người khơng có danh sách nhân viên khai báo RowSource thơng báo lỗi : Private Sub cobManv_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue MsgBox “Khong co nhan vien voi ma so : „” & NewData & “‟”, vbCritical End Sub 3.1- Đối với Combobox khai báo Value List ▬ Ta cập nhật lại danh sách ghi Row Source : Ví dụ : Nhập thành phố khơng có danh sách khai báo cho phép thêm vào danh sách : Private cobTp_NotInList(NewData As String, Response As Integer) If MsgBox(“Gia tri khong co danh sach Ban muon them moi khong ?”, vbOKCancel) = vbOK Then Response = AcDataErrAdded cobTp.RowSource = cobTp.RowSource & “;” & NewData Else Response = AcDataErrContinue cobTp.Undo End If End Sub 3.2- Đối với Combobox khai báo Table|Query ▬ Ta cần cung cấp cách nhập Record vào Table nguồn, sau chạy phương thức Requery cho Combobox Ví dụ : Nhập tên khách hàng khơng có danh mục khách hàng cobTenkh thơng báo lỗi hỏi xem có muốn thêm khách hàng vào Table Khachhang hay khơng Nếu chọn Yes mở Form F_Khachhang để thêm ▬ Thủ tục : Private Sub cobMakh_NotInList(NewData As String, Response As Integer) Response = AcDataErrContinue ▬ Biên soạn Phan Thị Tài Trang: 104 Trường THPT Ngô Quyền ▬ Giáo trình ơn thi học sinh giỏi tin học 12 If MsgBox(“Khong co khach hang nay.” & vbCRLF & _ Ban muon them moi khong ?, vbYesNo) = vbYes Then cobMakh.Undo DoCmd.OpenForm “F_Khachhang”, , , , acFormAdd End If End Sub Thủ tục : Private Sub Form_Active() cobMakh.Requery End Sub Biên soạn Phan Thị Tài Trang: 105 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 BÀI TẬP A- Thiết kế mẫu Report 1- Mẫu : R_1 BÁO CÁO DOANH THU SẢN PHẨM NĂM 2015 2- Mẫu : R_2 Biên soạn Phan Thị Tài Trang: 106 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 3- Mẫu : R_3 4- Mẫu : R_4 08/10/2015 15/10/2015 25/12/2015 Biên soạn Phan Thị Tài Trang: 107 Trường THPT Ngơ Quyền Giáo trình ôn thi học sinh giỏi tin học 12 5- Mẫu : R_5 B- Các tập Macro 1- Mẫu : F_mau7 Yêu cầu : ▬ Nút “Tất cả” chọn mặc định để hiển thị toàn khách hàng có ▬ Chọn thành phố để xem danh sách khách hàng theo thành phố ▬ Nút “Đóng” dùng để đóng Form 2- Mẫu : F_mau8 Yêu cầu : ▬ ▬ Nút “Xem tất cả” áp dụng cho Group bên trái Các tùy chọn tương ứng để mở báo cáo : R_3, R_4, R_5 Nút “Xem riêng” áp dụng cho Group bên phải Khi chọn tùy chọn Combobox tương ứng bật sáng, lúc bấm nút “Xem riêng” kiểm tra Combobox rỗng hay không để mở Report tương ứng : R_3, R_4, R_5 theo giá trị chọn Combobox ▬ Nút “Đóng” dùng để đóng Form 3- Mẫu : F_mau9 Yêu cầu : ▬ Khi chọn tùy chọn “Tất thành phố” Combobox mờ lúc bấm nút “Xem” mở Report : RL_Thiepmoi tạo phần Access1 (tham khảo mẫu bên dưới) ▬ Khi chọn tùy chọn “Chọn thành phố” Combobox bật sáng lúc bấm nút “Xem” kiểm tra Combobox có rỗng hay khơng để mở Report “ RL_Thiepmoi theo tên thành phố chọn Combobox ▬ Nút “Đóng” dùng để đóng Form Biên soạn Phan Thị Tài Trang: 108 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Mẫu Report : RL_Thiepmoi 4- Mẫu : F_mau10 Yêu cầu : ▬ Thiểt kế ẫu Form theo trạng thái chọn tùy chọn Form hoạt động ▬ Tùy chọn : Textbox có màu đỏ, chuỗi “Hello!!!Learning Access” màu vàng ▬ Tùy chọn : Textbox có màu xanh dương, chuỗi “ Welcom to Access !!!” màu trắng ▬ Tùy chọn : Textbox có màu vàng, chuỗi “Begin with Access !!!” màu xanh ▬ Tùy chọn : Textbox có màu xanh lá, chuỗi “End Goodbye” màu xanh dương Biên soạn Phan Thị Tài Trang: 109 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 5- Mẫu : F_mau11 Yêu cầu : ▬ Khi chọn mục "Xem khách hàng chung" Combobox "Chọn mã khách hàng", Checkbox "In hình", Checkbox "In giấy" đồng thời khơng sáng Lúc này, nhấp nút "Xem" mở Report : R_5 (Báo cáo hóa đơn theo khách hàng) ▬ Khi chọn mục "Xem khách hàng chi tiết" Combobox "Chọn mã khách hàng" sáng đồng thời checkbox "In hình" "In giấy" không sáng Trong trường hợp này, Combobox không chọn xuất thông báo yêu cầu chọn Ngược lại chọn nhấp nút "Xem" Report : R_5 theo mã khách hàng vừa chọn Combobox ▬ Khi chọn mục "Báo cáo doanh thu theo sản phấm" Combobox khơng sáng, đồng thời Checkbox "In hình" "In giấy" sáng Nếu chọn hai Checkbox mở Report : R_1 (Báo cáo doanh thu theo sản phẩm) theo ý nghĩa tùy chọn Nếu hai không chọn thông báo yêu cầu chọn Nếu chọn hai xuất Report : R_1 với hai ý nghĩa tùy chọn C- Các tập thủ tục xử lý kiện 1- Mẫu : F_code1 Yêu cầu : ▬ Cho phép nhập độ dài cạnh tam giác (Có kiểm tra điều kiện để giá trị nhập cạnh tam giác) Sau in kết theo mẫu (Lưu ý : Kết in có màu xanh dương) ▬ Các cơng thức : • • • p ( p a ) ( p b ) ( p c )với p Diện tích tam giác : S abc abc Bán kính đường tròn ngoại tiếp : R 4S S Bán kính đường tròn nội tiếp : r p (Các hàm cần sử dụng : hàm Sqr(…) để tính bậc hai ; Hàm Round(…) để làm tròn ; Hàm Val(…) để đổi giá trị số.) 2- Mẫu : F_code2 Yêu cầu : ▬ Tùy thuộc vào việc chọn lựa Option Group mà ta có tốn giải tương ứng ▬ Sau nhập hệ số cho toán, bấm nút “Kết quả” có kết Textbox ▬ Lưu ý : Kết có màu đỏ phải xuất chuỗi mơ tả Ví dụ : Biên soạn: Phan Thị Tài Trang: 111 Trường THPT Ngơ Quyền Giáo trình ơn thi học sinh giỏi tin học 12 Phuong trinh có : Nghiem thu nhat la : x1 = 2.53 Nghiem thu hai la : x2 = 5.68 Hoặc : Phuong trinh co nghiem kep : x = 1.25 Hoặc : Phuong trinh vo nghiem !!! 3- Mẫu : F_code3 Yêu cầu : ▬ Khi nhập số có chữ số, bấm Enter, chữ Textbox thứ hai ▬ Kiểm tra trường hợp số khơng nhập thơng báo Ngồi bạn học viên thực hành ví dụ cho phần lý thuyết thực hành tập cho phần tập Macro D- Tạo thực đơn ▬ Thực đơn “Nhập” gồm lệnh : • Xuất|Nhập sản phẩm \ Mở Form F_mau3 (Access2) • Xuất|Nhập nhân viên \ Mở Form F_mau4 (Access2) ▬ Thực đơn “Thống kê” gồm lệnh : • Thống kê hóa theo khách hàng \ Mở Form FM_mau1 (Access2) • Thống kê nhân viên \ Mở Form FM_mau2 (Access2) • Thống kê doanh số sản phẩm \ Mở FM_mau3 (Access2) • Thống kê hóa đơn theo thời gian \ FM_mau5 (Access2) ▬ Thực đơn “Báo cáo” gồm lệnh : • Báo cáo sản phẩm \ Mở Report R_1 (Access3) • Báo cáo doanh thu khách hàng \ Mở Report R_2 (Access3) ▬ ▬ ▬ • • • • • • Thực đơn “Xử lý” gồm lệnh : Báo cáo \ Mở Form F_mau8 Thiệp mời \ Mở Form F_mau9 Thực đơn “Tiện ích” gồm lệnh : Tam giác \ Mở Form F_code1 Giải phương trình \ Mở Form F_code2 Đổi số chữ \ Mở Form F_code3 Thực đơn “Hệ thống” gồm lệnh : Thoát \ Mở Macro với phương thức Quit Biên soạn: Phan Thị Tài Trang: 111 ... ơn thi học sinh giỏi tin học 12 GIỚI THI U CƠ SỞ DỮ LIỆU TRONG ACCESS I- Dữ liệu sở liệu Ví dụ : Để quản lý việc xếp loại điểm cho học sinh trường phổ thông, ta cần biết thông tin: danh sách học. .. quản lý học viên : Hocvien.mdb Chương trình quản lý học viên đăng ký học môn học ngắn hạn trung tâm Tin học & Ngoại ngữ Bao gồm Table : ▬ Table Hocvien : Chứa thông tin học viên đăng ký học trung... ơn thi học sinh giỏi tin học 12 b) Nhập liệu cho Table DienUuTin gồm: Bài tập 03 - Thi t kế cấu trúc bảng liệu: Khởi động Ms-Access tạo tập tin CSDL ổ đĩa D: với tên ThiDaiHoc: Lần lượt thi t