intTypePromotion=1

Giáo trình Quản trị cơ sở dữ liệu Access 2 - CĐ Nghề Đắk Lắk

Chia sẻ: Bautroimaudo Bautroimaudo | Ngày: | Loại File: PDF | Số trang:56

0
8
lượt xem
2
download

Giáo trình Quản trị cơ sở dữ liệu Access 2 - CĐ Nghề Đắk Lắk

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình Quản trị cơ sở dữ liệu Access 2 cung cấp cho người học những kiến thức như: Tập lệnh Macro; Lập trình VBA; Lập trình cơ bản dữ liệu; Xây dựng thực đơn và thanh công cụ; Xây dựng ứng dụng. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Giáo trình Quản trị cơ sở dữ liệu Access 2 - CĐ Nghề Đắk Lắk

  1. TRƯỜNG CAO ĐẲNG NGHỀ ĐẮK LẮK KHOA ĐIỆN TỬ - TIN HỌC GIÁO TRÌNH QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS 2 NGHỀ: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: CAO ĐẲNG NGHỀ - TRUNG CẤP NGHỀ Người biên soạn: ThS. Lê văn Tùng Lưu hành nội bộ - 2014
  2. LỜI NÓI ĐẦU Giáo trình này là sự đúc kết kinh nghiệm của tác giả trong giảng dạy các khoá đào tạo về Access cũng như kinh nghiệm sử dụng Access làm hệ quản trị cơ sở dữ liệu và công cụ phát triển phần mềm. Hầu hết nội dung trình bày trong giáo trình đều bám theo những bài tập thực hành cụ thể. Do vậy, sau khi đọc xong và thực hành theo trình tự cuốn sách này, người đọc gần như có thể thiết kế và xây dựng được những ứng dụng về quản lý thông tin. Đối tượng chính của giáo trình là sinh viên, học sinh chuyên nghề Công nghệ thông tin (CNTT) cũng như không chuyên nghề CNTT có học môn Access. Tất nhiên cũnghoàn toàn phù hợp cho những ai quan tâm học hỏi môn học này bởi lẽ các nội dungđều được trình bày rất trực quan, có thứ tự và kết quả rõ ràng. Thời lượng thiết kế 75 tiết. Trong đó 24 tiết lý thuyết, 47 tiết thực hành và 4 tiếtdành cho kiểm tra. Tuỳ theo mức độ ứng dụng của từng nghề vào môn họcnày mà mỗi đơn vị sẽ chọn cho mình một quĩ thời gian cũng như các nội dunggiảng dạy phù hợp từ giáo trình này. Nội dung giáo trình gồm 5 chương: Chương 1: Tập lệnh Macro – Trình bày cơ bản về đối tượng macro cụ thể và tập lệnh, biết các thao tác xử lý đối với macro và cách sử dụng macro với các biến cố. Tạo được macro với các xứ lý cơ bản và kết hợp macro với biến cố để xử lý chức năng trên form. Chương 2: Lập trình VBA – Trình bày về môi trường lập trình VBA và hiểu một số khái niệm và cơ chế xử lý của ngôn ngữ VBA. Xây dựng và xử lý sự kiện trên các biểu mẫu sử dụng bộ lệnh Docmd. Chương 3: Lập trình cơ bản dữ liệu – Trình bày được kiến thức và các kỹ thuật DAO. Sử dụng được các đối tượng trên DAO. Chương 4: Xây dựng thực đơn và thanh công cụ - Trình bày các cách tạo menu và thanh công cụ trong Access. Gắn được menu và thanh công cụ trên các form giao diện. Chương 5: Xây dựng ứng dụng – Trình bày các kiến thức về quy trình xây dựng ứng dụng. Xây dựng được các ứng dụng với các form, báo cáo hiệu quả và thân thiện và xây dựng được tính bảo mật cho ứng dụng. Tuy có nhiều cố gắng trong quá trình biên soạn nhưng giáo trình này vẫn còn nhiều thiếu sót. Chúng tôi rất mong nhận được các ý kiến đóng góp của các bạn sinh viên và các bạn đồng nghiệp để chúng tôi có thể hoàn thiện giáo trình này. Đắk lắk, năm 2014 Tác giả ThS. Lê Văn Tùng 1
  3. MỤC LỤC LỜI NÓI ĐẦU .......................................................................................................... 1 Bài 1: Tập lệnh Macro ............................................................................................... 4 1.1. Giới thiệu macro .......................................................................................... 4 1.2. Tạo và thi hành macro .................................................................................. 4 1.2.1. Các thành phần trong cửa sổ Macro: (2 phần) ....................................... 4 1.2.2. Ví dụ minh họa ...................................................................................... 5 1.3. Các loại Macro và cách tạo Macro ............................................................... 5 1.4. Một số hành động thông dụng ...................................................................... 6 1.5. Điều kiện trong macro.................................................................................. 7 1.6. Gắn kết các biến cố với macro ..................................................................... 8 1.6.1. Quy trình thực hiện................................................................................ 8 1.6.2. Sử dụng biến cố trong mẫu biểu, báo biểu ............................................ 9 1.7. Một số ví dụ ............................................................................................... 10 Bài 2: Lập trình VBA .............................................................................................. 13 2.1. Môi trường lập trình VBA ......................................................................... 13 2.2. Các kiểu dữ liệu và khai báo ...................................................................... 14 2.2.1. Các kiểu dữ liệu: ................................................................................. 14 2.2.2. Khai báo .............................................................................................. 14 2.2.3. Kiểu dữ liệu tự định nghĩa: .................................................................. 14 2.3. Cấu trúc lệnh .............................................................................................. 16 2.4. Chương trình con thủ tục và hàm ............................................................... 18 2.4.1. Thủ tục (Procedure) ............................................................................. 18 2.4.2. Hàm (Function) ................................................................................... 19 2.4.3. Đối tượng DoCmd ............................................................................... 20 2.4.4. Kỹ thuật xử lý lỗi ................................................................................ 20 Bài 3: Lập trình cơ sở dữ liệu .................................................................................. 23 3.1. Kỹ thuật DAO ............................................................................................ 23 3.2. Lớp đối tượng DAO ................................................................................... 24 3.3. Bài toán đặt lọc dữ liệu .............................................................................. 31 Bài 4: Xây dựng thực đơn và thanh công cụ ............................................................ 35 4.1. Tạo menu ................................................................................................... 35 4.2. Tạo menu sử dụng công cụ ........................................................................ 40 4.3. Tạo menu sử dụng macro ........................................................................... 41 4.4. Tạo thanh công cụ ...................................................................................... 44 4.5. Tạo menu tắt .............................................................................................. 45 Bài 5: Xây dựng ứng dụng ...................................................................................... 48 5.1. Phân tích yêu cầu ....................................................................................... 48 5.2. Thiết kế các thành phần của ứng dụng ....................................................... 49 5.3. Xây dựng form giao diện chính.................................................................. 50 5.4. Kết luận và hướng phát triển ...................................................................... 53 5.5. Xây dụng hệ thống menu, thanh công cụ ................................................... 53 5.6. Bảo mật ứng dụng ...................................................................................... 53 TÀI LIỆU CẦN THAM KHẢO .............................................................................. 55 2
  4. CHƯƠNG TRÌNH MÔ ĐUN QUẢN TRỊ CƠ SỞ DỮ LIỆU VỚI ACCESS 2 Mã số của mô đun: MĐ 22; Thời gian của mô đun: 75 giờ; (Lý thuyết: 24 giờ; Thực hành: 51 giờ) I. VỊ TRÍ, TÍNH CHẤT CỦA MÔ ĐUN: Là mô đun chuyên môn nghề bắt buộc của chương trình đào tạo Cao đẳng nghề Công nghệ thông tin (ứng dụng phần mềm), được bố trí học sau mô đun Quản trị cơ sở dữ liệu với Access 1. II. MỤC TIÊU CỦA MÔ ĐUN: - Biết khái niệm về tập lệnh Macro và module trong Access; - Hiểu các cách tạo và thực thi tập lệnh Macro; - Biết cách tạo và thực thi module trong ứng dụng Access; - Sử dụng macro và module để tăng tính linh hoạt của các chức năng trong ứng dụng; - Chủ động, sáng tạo trong việc tìm hiểu các tài liệu phục vụ cho môn học. III. NỘI DUNG MÔ ĐUN: 1. Nội dung tổng quát và phân bổ thời gian: Thời gian Số Tên các bài trong mô đun Tổng Kiểm tra* TT LT TH số (LT hoặc TH) 1. Macro 15 5 9 1 2. Lập trình VBA 18 6 12 0 3. Lập trình cơ sở dữ liệu 12 3 7 2 Xây dựng thực đơn và thanh công 4. 10 4 6 0 cụ 5. Bài tập lớn 20 6 13 1 Cộng 75 24 47 4 3
  5. Bài 1: Tập lệnh Macro Mục tiêu: - Hiểu được cơ bản về đối tượng macro cụ thể tập lệnh; - Biết các thao tác xử lý đối với macro và cách sử dụng macro với các biến cố; - Tạo được macro với các xứ lý cơ bản; - Kết hợp macro với biến cố để xử lý chức năng trên form; - Nghiêm túc, tỉ mỉ trong quá trình tiếp nhận lý thuyết và thực hành. 1.1. Giới thiệu macro Macro là một lệnh hay tập hợp một nhóm lệnh được quy định sẵn trong MS - Access cho phép xác định một tập các thao tác trên các đối tượng cơ sở dữ liệu (CSDL) của Access như mở biểu mẫu, mở bảng in,… Việc tự động hóa các hành động của macro giúp đảm bảo tính chính xác và hiệu quả của CSDL. Macro thường được xây dựng dựa trên một số các hành động (action) thường dùng trong access được xây dựng sẵn, mỗi Macro gồm một hoặc nhiều hành động theo một thứ tự nhằm thực hiện một chức năng cụ thể được xác định. Macro thường được dùng kết hợp với sự kiện trên các ô điều kiển của các biểu mẫu, báo biểu. khi các sự kiện xảy ra thì Macro tương ứng sẽ được thực hiện, thông thường Macro được gán với sự kiện On Click của nút lệnh trong biểu mẫu để khi nhắp chuột vào nút lệnh thì Macro được thực hiện hơn. Thông qua Macro ta có thể điều khiển các đối tượng trên Biểu mẫu (Form) và Báo cáo (Report) một cách dễ dàng và linh hoạt. 1.2. Tạo và thi hành macro Từ cửa sổ Database chọn đối tượng Macro  New, xuất hiện cửa sổ Macro sau: Hình 1: Cửa sổ Macro trong MS-Access 2003 1.2.1. Các thành phần trong cửa sổ Macro: (2 phần) Phần 1: Cột Macro Name: Quy định tên riêng cho nhóm Macro. Khi trong cửa sổ Macro bạn muốn tạo nhiều Macro con thì mỗi một Macro này phải có một tên riêng. (Vào menu View  Macro Name để hiển thị mục này).  Cột Condition: Thiết lập các điều kiện kiểm tra cho Macro. (Vào menu View  Condition để hiển thị mục này).  Cột Action: Quy định những hành động được tạo sẵn cho Macro.  Cột Comment: Chú thích, diễn giải về các hành động tương ứng. 4
  6. Phần 2: Action Argument: Quy định các tham số tương ứng cho từng hành động.  Trong cửa sổ thiết kế Macro thực hiện các thao tác sau:  Chọn hành động cần gắn cho macro tại cột Action  Gõ dòng giải thích cho hành động tương ứng tại cột Comment (nếu cần)  Chọn các đối mục cho mỗi hành động tại mục Action Arguments Lưu ý: Mỗi macro có thể thực hiện nhiều hành động, thứ tự thực hiện các hành động phụ thuộc vào thứ tự liệt kê tại cột Action 1.2.2. Ví dụ minh họa Hãy mở bài tập “Quản lý HSSV” thiết kế và gắn hành động cho hai nút lệnh sau: Yêu cầu: 1) Khi click vào nút “quản lý điểm HSSV” thì thực hiện mở biểu mẫu (form) quản lý điểm HSSV ra màn hình. 2) Khi click vào nút “quản lý danh sách HSSV” thì thực hiện mở biểu mẫu (form) danh sách HSSV ra màn hình. 1.3. Các loại Macro và cách tạo Macro Macro đơn: Dùng để thực hiện một thao tác đơn giản nào đó. Cách tạo: Bước 1: Trong ngăn Macro  New Bước 2: Trong hộp thoại Macro xuất hiện, chọn:  Action: Hành động cho Macro.  Action Argument: Quy định các tham số cho hành động tương ứng trên. Bước 3: Lưu và đặt tên cho Macro. Ví dụ: Tạo Macro dùng để mở một Form, như sau: 5
  7. Macro nhóm (Macro Group): Mục đích nhằm tập hợp các Macro liên quan với nhau vào một cửa sổ Macro sheet, mỗi Macro có một tên riêng và thực hiện độc lập khi được gọi. Khi Macro nào được gọi thì Macro đó thực hiện. Cách tạo: Tại cửa sổ Macro sheet, vào menu View, chọn dòng Macro Name. Lúc này trong cửa sổ Macro sheet xuất hiện thêm một Macro Name, ta đặt tên Macro thành phần vào cột này và chọn Action vào dòng tương ứng và các dòng tiếp theo. Muốn gọi Macro thành phần nào ta chọn: . Ví dụ: Tạo một Macro để xem thông tin về các Bảng như sau: Tạo Macro nhóm có tên “Mo”: Dùng để mở bảng (Table) DM_SINHVIEN, Truy vấn (Query) DS_HSSV, biểu mẫu (Form) quản lý HSSV. Macro điều kiện: Là Macro mà các hành động chỉ thực hiện khi thỏa mãn một điều kiện nào đó. Cách tạo: Tại cửa sổ Macro sheet, vào menu View  Conditions. Lúc này trong cửa sổ Macro Sheet xuất hiện thêm cột Condition, ta nhập điều kiện vào cột này và chọn Action vào dòng tương ứng. Nếu một điều kiện đúng thực hiện nhiều hành động thì dòng tiếp theo của cột Condition ta gõ vào dấu ba chấm (…) và chọn tiếp hành động trong cột Action (nếu không có dấu ba chấm thì hành động đó thực hiện bất kể điều kiện nào). 1.4. Một số hành động thông dụng Action/ Argument Ý nghĩa Close Đóng cửa sổ (nếu không có tham số thì đóng cửa Object Type sổ Active) Kiểu đối tượng (Table, Query, Form,Report,…) Object Name Tên đối tượng đóng Save Chọn cách lưu khi đóng Msg box Hiển thị hộp thông báo Message Nội dung thông báo Beep Có/ không có tiếng Bíp Type Biểu tượng trong hộp thoại Title Nội dung tiêu đề Open Form Mở một Form 6
  8. Form Name Tên Form View Dạng hiển thị (Design, print preview, Data sheet) Filter Name Tên query nhập dữ liệu Where condition Điều kiện lọc dữ liệu Data mode Chế độ dữ liệu(Add,Edit,Read only) Open Query Mở một query Query Name Tên query View Dạng hiển thị (Design, print preview, Data sheet) Data Mode Chế độ dữ liệu(Add,Edit,Read only) Open Report Mở một Report Report Name Tên report View Dạng hiển thị (Design, print preview, Data sheet) Filter Name Tên Report nhập dữ liệu Where condition Điều kiện lọc dữ liệu Open Modulo Mở một Modulo Modulo Name Tên Modulo chứa thủ tục cần mở Procedure Name Tên thủ tục cần mở Run Macro Chạy một Macro Macro Name Tên Macro cần chạy Repeat Count Số lần lặp chạy Macro(không ghi là một lần) Repeat Expression Biểu thức điều kiện để lặp (False thì dừng) Run Code Gọi thực hiện một hàm của VBA Function Name Tên hàm (các tham số) Maximize Cực đại cửa sổ hiện hành Restore Phục hồi cửa sổ về kích thước cũ Stop All Macro Dừng thực hiện các Macro Quit Thoát khỏi Access trở về window Option Xử lý dữ liệu khi thoát (promt, save all, exit) Requery Cập nhật lại dữ liệu nguồn cho điều khiển Set Value Gán giá trị, thuộc tính cho một đối tượng điều khiển Item Tên đối tượng điều khiển nhận giá trị, thuộc tính Expression Biểu thức gán (nếu khác Form:Form![tên Form]!tên ĐK) Apply Filter Lọc dữ liệu khi xử lý Table, Form, Report Filter Name Tên truy vấn lọc dữ liệu Where condition Điều kiện lọc dữ liệu 1.5. Điều kiện trong macro Khi tạo macro ta có thể quy định điều kiện thực hiện từng hành động của macro, khi thực hiện: nếu điều kiện đúng thì thực hiện hành động tương ứng, nếu điều kiện sai thì không thực hiện. Cách tạo: Bước 1: Tại cửa sổ macro đơn, chọn Menu View/Conditions. Cửa sổ tạo macro xuất hiện thêm cột Condition Bước 2: Chọn hành động cần gắn cho macro tại cột Action Bước3: Gõ dòng giải thích cho hành động tương ứng tại cột Comment (nếu cần) 7
  9. Bước 4: Chọn các đối mục cho mỗi hành động tại mục Action Arguments Bước 5: Thiết lập điều kiện thi hành cho mỗi hành động tại cột Condition Bước 6: Đặt tên và lưu macro 1.6. Gắn kết các biến cố với macro Macro thường dùng được gắn với một nút lệnh trong biểu mẫu hoặc một sự kiện (event) của một ô điều khiển. Để gắn macro với một sự kiện của ô điều khiển ta chọn ô điều khiển, trong sự kiện thiết kế biểu mẫu chọn ô điều khiển cần gắn với macro rồi chọn thuộc tính ứng với sự kiện cần gắn macro rồi chọn tên macro (nếu có sẵn) hoặc nhắp chuột vào nút ba chấm (…) để tạo macro gắn với sự kiện. khi đó xuất hiện cửa sổ Choose Builder, chọn mục macro builder sẽ xuất hiện cửa sổ tạo macro. 1.6.1. Quy trình thực hiện Bước 1: R_Click đối tượng cần gán sự kiện (thường là nút lệnh Command hoặc Text box) chọn properties. Bước 2: Xuất hiện màn hình, chọn thẻ Event. Hình 2: Thuộc tính sự kiện on Click Bước 3: Chọn dòng sự kiện (Ví dụ: On Click): Nếu Macro đã tạo trước rồi thì ta click vào Combo box trên dòng đó để chọn Macro gán cho sự kiện của đối tượng. Nếu chưa tạo Macro thì click vào nút Buid(…) trên dòng đó, xuất hiện hộp thoại Choose Builder, ta chọn dòng Macro Builder và click ok, xuất hiện cửa sổ Macro Sheet cùng hộp thoại lưu Macro, ta đặt tên cho Macro đóng hộp thoại lưu và bắt đầu thiết kế Macro cho sự kiện của đối tượng. Để gắn một macro với một nút lệnh, trong cửa sổ thiết kế biểu mẫu chọn nút lệnh cần gắn với macro và chọn tên macro trong thuộc tính On Click Ví dụ: Để gắn hành động (Action) “Mở biểu mẫu”cho nút lệnh (Button) trên biểu mẫu (Form) Bước 1: R_Click Button chọn Properties (nhấn F4) Bước 2: Trong hộp thoại xuất hiện, thực hiện:  Chọn thẻ Event  Tại dòng On Click, Click vào dấu 3 chấm 8
  10. Click vào dấu 3 chấm Hình 3: Thẻ Event trong hộp thoại Property Sheet  Chọn Macro Bulder Hình 4: Chọn Macro Builder Hình 5: Chọn hành động mở From Bước 3: Lưu hành động đã chọn Bước 4: Thực thi sự kiện xem kết quả 1.6.2. Sử dụng biến cố trong mẫu biểu, báo biểu Để có thể kết hợp các đối tượng của Access phải có cơ chế tham chiếu nội dung của các đối tượng. 9
  11. 1) Để tham chiếu đến các ô điều khiển của báo biểu dùng cú pháp: [Forms]! [Tên biểu mẫu]! [Tên ô điều khiển] 2) Nếu tham chiếu đến ô điều khiển của báo biểu dùng cú pháp: [Forms]! [Tên báo biểu]! [Tên ô điều khiển] Những tham chiếu này có thể thực hiện từ truy vấn, báo biểu, biểu mẫu và macro. Việc tham chiếu này cho phép các đối tượng trao đổi dữ liệu với nhau. 1.7. Một số ví dụ Ví dụ 1: Tạo biểu mẫu cho phép nhập vào họ tên và ngày sinh của sinh viên cần tìm, để thực hiện thao tác tìm sinh viên có họ tên và ngày sinh học sinh – sinh viên nhập vào từ bàn phím. Yêu cầu: 1. Cửa sổ nhập điều kiện tìm kiếm có dạng 2. Cửa sổ trình bày kết quả tìm kiếm như một bảng truy vấn chứa thông tin những mẫu tin cần tìm. Các bước thiết kế: Tạo biểu mẫu tên “f_tim” chứa hai ô Text box, đặt tên “mTenSV”, “mNgaysinh” và 2 nút lệnh “Tìm”, “Thoát” Nút lệnh “Tìm” gắn với macro “tim SV”, nút lệnh “Thoát” gắn với macro “thoat” có nội dung chi tiết như sau: Macro “tim” Action Action Arguments OpenQuery Query Name: Tim SV_vd1 View: DataSheet Data mode: ReadOnly Macro “thoat” Action Action Arguments Close Object Type: Form Object Name: f_tim Save: Yes Tạo truy vấn lựa chọn có tên “tim SV_vd1” lấy dự liệu từ danh mục DMSV, truy vấn này truy vấn đến các ô Text box chứa dữ liệu cần tìm ở bảng “tim SV_vd1” 10
  12. Ví dụ 2:Tạo biểu mẫu cho phép chọn chế độ in báo cáo “Bang diem SV theo lop” ra máy in hay xem trên màn hình. Các bước thiết kế: Thiết kế biểu mẫu chọn cách in có tên “Chon_in” gồm: Một Option Group tên “in” với hai mục 1. In báo cáo trực tiếp ra máy in 2. Xem báo cáo trên màn hình rồi in Hai nút lệnh tên “Thực hiện” và “Kết thức” có nội dung như sau: Macro gắn cho nút lệnh “Thực hiện” là macro có điều kiện có dạng Action Condition Action Arguments Open Report [Forms]![Chon_in]![in]=1 Report Name: Bang diem SV theo lop View: Print Open Report [Forms]![Chon_in]![in]=2 Report Name: Bang diem SV theo lop View: Print Preview Macro gắn cho nút lệnh “kết thức” là macro có chức năng đóng biểu mẫu có dạng: 11
  13. Action Action Arguments Close Object Type: Form Object Name: Chon_in Save: Yes Ví dụ 3: Tạo biểu mẫu kiểm tra mật khẩu trước khi vào chương trình ứng dụng trên Access. Cửa sổ kiểm tra mật khẩu có dạng: Yêu cầu: Nếu mật khẩu không đúng thì thoát khỏi Access, ngược lại thì đóng cửa sổ kiểm tra mật khẩu và cho phép làm việc cơ sở dữ liệu của chương trình. Thiết kế chi tiết: Tạo biểu mẫu “Kiểm tra mật khẩu” như hình minh hoạ gồm: ô text box và nút lệnh chi tiết như sau: Ô text box có các thuộc tính:  Name: Mat_khau  Input Mask: Password  Default value: “” Nút lệnh “Đồng ý” có thuộc tính có thuộc tính On Click: KTMK (gắn với macro KTMK) Các thuộc tính của biểu mẫu:  Caption: Kiểm tra mật khẩu  Selector Record: No  Navigation Button: No  Pop Up: Yes  Modal: Yes Tạo macro “KTMK” (kiểm tra mật khẩu) có nội dung như sau: Action Condition Action Arguments [Forms]![Kiểm tra mật Message: sai mật khẩu MsgBox khẩu]![mat_khau] “lop13cct” Quit … Object Type: Form Close Object Name: Kiểm tra mật khẩu 12
  14. Bài 2: Lập trình VBA Mục tiêu: - Hiểu về môi trường lập trình VBA; - Hiểu một số khái niệm và cơ chế xử lý của ngôn ngữ VBA; - Xây dựng và xử lý sự kiện trên các biểu mẫu sử dụng bộ lệnh Docmd; - Nghiêm túc, tỉ mỉ trong quá trình tiếp nhận lý thuyết và thực hành 2.1. Môi trường lập trình VBA Visual Basic for Application (VBA) để giúp người dùng có thể tạo ra các tuỳ biến mạnh hơn, thân thiện hơn với trong công việc của mình. Hơn thế nữa VBA trên Access đã thể hiện tính chuyên nghiệp trong lập trình, phần nào biến được một CSDL đơn giản trở thành những sản phẩm đóng gói thương mại. Màn hình làm việc của VBA: Hình 2.1.1 Môi trường làm việc VBA Hệ thống thực đơn và thanh công cụ: Cũng như bất kỳ môi trường làm việc nào đều có hệ thống thực đơn và thanh công cụ đi kèm. Trên đó có chứa các lệnh để gọi, thi hành hoặc thiết lập các điều khiển cần thiết. Cửa sổ Project Explorer: Có rất nhiều các thành phần có thể lập trình được bởi VBA như: Forms, Reports, Modules. Cửa sổ Project Explorer là cây phân cấp lớp các đối tượng có chứa mã lệnh VBA, đồng thời giúp lập trình viên dễ dàng trong việc viết (coding) cũng như quản lý các mã lệnh VBA đã viết. Cửa sổ viết lệnh: Cửa sổ viết lệnh là nơi soạn thảo các dòng lệnh VBA. Mỗi cửa sổ sẽ chứa toàn bộ mã lệnh cho một đối tượng như: Forms, Reports, Modules. Trong mỗi cửa sổ có thể có nhiều phần được viết lệnh, mỗi phần có thể là nội dung một khai báo, một chương trình con, nội dung một thủ tục đáp ứng sự kiện. Cửa sổ Intermediate: Cửa sổ Intermediate là nơi giúp thi hành trực tiếp một câu lệnh nào đó, rất hữu dụng trong việc gỡ lỗi phần mềm. 13
  15. 2.2. Các kiểu dữ liệu và khai báo 2.2.1. Các kiểu dữ liệu: Tên kiểu Kiểu Field tương Phạm vi Boolean Yes/No True, False Byte Byte 0 → 255 Integer Integer -32768 → 32767 Long Integer, Long -2147483648 → 2147483647 AutoNumber -3.402823E+38 → -1.401298E-45 và Single Single 1.401298E-45 → 3.402823E+38 -1.79769313486232E+308 → -4.94065645841247E-324 Double Double và 4.94065645841247E-324 → 1.79769313486232E+308 -922337203685477.5808 → Currency Currency 922337203685477.5807 String Text hoặc Memo Chiều dài từ 0 đến 65500 ký tự Date Date/ Time Từ 01/01/100 → 31/12/9999 Kiểu bất kỳ (Date, Tương tự như các kiểu Date, Variant String, Double) Double, String ở trên 2.2.2. Khai báo Type Tên_kiểu_định_nghĩa Tên_field_1 As Kiểu_dữ_liệu Tên_field_2 As Kiểu_dữ_liệu … End Type 2.2.3. Kiểu dữ liệu tự định nghĩa: Kiểu dữ liệu tự định nghĩa phải khai báo trong phần Declarations của module. Để sử dụnh các thành phần (field) trong kiểu tự định nghĩa thì ghi như sau: Tên biến. tên file Biến (Variable) Là đại lượng có giá trị thay đổi tùy thuộc các xử lý. Biến để lưu trữ tạm thời các kết quả khi thực hiện các phép tính trong chương trình, các kết quả được so sánh với nhau hoặc lại sử dụng trong các phép tính khác. Tùy thuộc vào từ khóa khai báo biến và vị trí khai báo mà phạm vi sử dụng biến trong các thủ tục sẽ thuộc vào 1 trong 3 trường hợp sau: Từ khóa Loại Vị trí khai báo Phạm vi sử dụng khai báo Trong các thủ tục Bên trong thủ tục có chứa lệnh Biến cục bộ Dim khai báo Trong Declaration Trong bất kỳ các thủ tục thuộc Biến thuộc Section của module module có chứa lệnh khai báo Dim đơn thể 14
  16. Trong Declaration Trong bất kỳ thủ tục nào thuộc Global hoặc Section của module bất kỳ module nào của hệ Biến toàn cục Public thống ứng dụng Biến tĩnh: Thông thường khi 1 thủ tục chấm dứt thi hành thì giá trị các biến cục bộ được khai báo trong thủ tục này mất đi và lần gọi thi hành sau đó của thủ tục các biến cục bộ sẽ được khởi tạo lại. Nếu muốn giữ lại giá trị của biến cục bộ trong 1 thủ tục sau khi thủ tục này chấm dứt thi hành thì khai báo biến đó là biến tĩnh theo cú pháp sau: Static tên_biến Ví dụ: Dim I As Integer Static S As Double Public B As String Hằng và hằng ký hiệu Hằng là đại lượng có giá trị cụ thể và không đổi trong chương trình. Cách biểu diễn hằng tùy thuộc vào kiểu dữ liệu của hằng. Nếu hằng được sử dụng nhiều lần tại nhiều nơi khác nhau thì nên khai báo hằng ký hiệu để biểu thị cho giá trị hằng đó. Hằng ký hiệu sau khi khai báo có thể sử dụng trong các biểu thức nhưng không được phép thay đổi giá trị của hằng ký hiệu hoặc gán cho hằng ký hiệu 1 giá trị khác. Phạm vi sử dụng hằng tùy thuộc vào từ khóa khai báo và giá trị khai báo như sau: Từ khoá khai Loại Vị trí khai báo Phạm vi sử dụng báo Trong các thủ Bên trong thủ tục có chứa Hằng cụcbộ Const tục lệnh khai báo Trong Trong bất kỳ các thủ tục Hằngthuộc Declaration thuộc module có chứa lệnh Const đơn thể Section của khai báo module Trong Trong bất kỳ thủ tục nào Global Declaration thuộc bất kỳ module nào của Hằng toàncục Const hoặc Section của hệ thống ứng dụng Public Const module Ví dụ: Const CS = “Trung Tâm Máy tính và Điện tử” Const PI = 3.14159 Const NDN = #1/1/01# Const SAI = False Mảng (array) Mảng là một dãy các phần tử liên tiếp nhau có cùng một tên gọi và dùng chỉ số thứ tự để chỉ định một phần tử nào đó trong mảng. Mỗi phần tử được sử dụng giống như một biến. Các phần tử có thể có cùng kiểu dữ liệu hoặc khác kiểu nếu mảng được khai báo là Variant. 15
  17. Từ khóa Loại khai Vị trí khai báo Phạm vi sử dụng báo Trong các thủtục Bên trong thủ tụccó chứa Mảng cụcbộ Static lệnh khai báo TrongDeclaration Trong bất kỳ cácthủ tục Mảngthuộc Dim Section của module thuộc module có chứa lệnh đơn thể khai báo Global TrongDeclaration Trong bất kỳ thủtục nào Mảng Dim Section của module thuộc bất kỳ module nào của toàncục hoặc hệ thống ứng dụng Public Dim 2.3. Cấu trúc lệnh Các cấu trúc lệnh là thành phần cơ bản của mỗi ngôn ngữ lập trình. Thông thường các ngôn ngữ lập trình đều có các cấu trúc lệnh như nhau: lệnh xử lý điều kiện, lệnh lặp biết trước số vòng lặp, lệnh lặp không biết trước số vòng lặp,.. Tuy nhiên cách thể hiện (cú pháp) mỗi cấu trúc lệnh có thể khác nhau tuỳ thuộc vào mỗi ngôn ngữ lập trình. Hơn nữa, mỗi ngôn ngữ cũng có thể có một số điểm khác biệt, đặc trưng trong mỗi cấu trúc lệnh. Cũng giống như nhiều ngôn ngữ lập trình hiện đại khác, các cấu trúc lệnh trong VBA đều tuân thủ các nguyên tắc: Có cấu trúc  mỗi cấu trúc lệnh đều có từ khoá bắt đầu và một từ khóa báo hiệu kết thúc.  Thực hiện tuần tự (loại trừ trường hợp đặc biệt thủ tục Goto )  Có khả năng lồng nhau Cấu trúc rẽ nhánh Cấu trúc rẽ nhánh hay còn gọi là lệnh lựa chọn. Tức là nếu một điều kiện nào đó xảy ra sẽ là gì, hoặc trái lại có thể làm gì. Cú pháp: If Then [ Else ] End If Chức năng: nếu = True thì thực hiện các lệnh trong . Trái lại thực hiện các lệnh trong . Phần trong cặp dấu ngoặc vuông [..] có thể có hoặc không có trong câu lệnh, tuỳ thuộc vào mục đích xử lý. Ví dụ 1: Dim SL As Integer, DG As Double, TT As Double SL = Val(InputBox (“Nhập số lượng:”)) DG = Val(InputBox (“Nhập đơn giá:”)) TT = SL * DG If TT >= 200000 Then TT = TT * 0.95 Ví dụ 2: Const PI = 3.14159 Dim ban_kinh As Double 16
  18. ban_kinh = Val(InputBox (“Nhập bán kính:”)) If ban_kinh > 0 then Dim dientich As Double Dim chuvi As Double Dientich = ban_kinh*ban_kinh*PI Chuvi = ban_kinh*2*PI End If Cấu trúc lựa chọn Đây là một loại cấu trúc lựa chọn. Thông thường hoàn toàn có thể sử dụng If .. End If để thực hiện các xử lý liên quan đến kiểu cấu trúc này, nhưng trong những trường hợp đặc biệt, cấu trúc Select Case .. End Select thể hiện được sự tiện dụng vượt trội. Cú pháp: Select Case Case Case ……… Case [Case Else ] End Select Trong đó: luôn trả về giá trị kiểu vô hướng đếm được như: số nguyên, xâu ký tự, kiểu logic,.. Với cấu trúc này, VBA hoạt động như sau: Tính giá trị của biểu thức, Kiểm tra = ?. Nếu đúng thực hiện và kết thúc lệnh, thực hiện lệnh tiếp theo sau từ khoá End Select.Nếu sai, thực hiện tiếp việc so sánh = tiếp theo và xử lý tương tự qui trình nêu trên. Trong trường hợp , i=1..n khi đó có 2 khả năng: Nếu có tuỳ chọn Case Else thì VBA sẽ thực hiện ; Nếu không có tuỳ chọn Case Else, VBA sẽ không thực hiện bất kỳ thủ tục nào đã liệt kê trong vùng Select .. End Select cả mà chuyển tới thực hiện lệnh tiếp theo sau từ khoá End Select. Cấu trúc lặp Cấu trúc FOR … NEXT For… Next là một cấu trúc lặp biết trước số lần lặp trong VBA, tuy nhiên trong những tình huống đặc biệt, vẫn có thể sử dụng cấu trúc này như cấu trúc không biết trước được số lần lặp. Cú pháp: For = To [Step ] [Exit For] Next Trong đó:  là biến kiểu vô hướng đếm được, hay dùng nhất là biến kiểu nguyên; 17
  19.  , là các giá trị mà biến chạy sẽ nhận và thực hiện dịch chuyển sau mỗi lần lặp. Có thể dịch chuyển đi 1 đơn vị, có thể dịch chuyển đi nhiều đơn vị một lần, có thể dịch chuyển tiến, cũng có thể dịch chuyển lùi- tất cả điều này tuỳ thuộc vào việc có hay không có tuỳ chọn [Step ]; Nếu có tuỳ chọn [Step ] biến chạy sẽ dịch n đơn vị sau mỗi lần lặp. Khi đó, nếu n>0 dẽ dịch tiến, ngược lại sẽ dịch lùi; Mỗi lần lặp, VBA sẽ thực hiện một lần; Trong trường hợp đặc biệt nếu gặp phải lệnh Exit For trong vòng lặp, ngay lập tức thoát khỏi lệnh lặp và thực hiện lệnh tiếp ngay sau từ khoá Next. Chính Exit For đã làm mất đi tính lặp biết trước được số lần lặp. Cấu trúc WHILE … WEND While … Wend là một cấu trúc lặp không biết trước số lần lặp trong VBA. Cú pháp: While Wend Trong đó: While, Wend là các từ khoá của lệnh lặp; Nếu = True, các lệnh trong sẽ được thực hiện. Thực hiện xong lại quay lên dòng lệnh While để kiểm tra tiếp ; Nếu = False, sẽ thoát khỏi vòng lặp và thực hiện lệnh tiếp theo từ khoá Wend. Chú ý: Luôn phải chứng minh được rằng, sau một số hữu hạn lần thực hiện , giá trị của phải là False để thoát khỏi vòng lặp. Trong trường hợp không thể thoát khỏi vòng lặp, có nghĩa người lập trình đã mắc phải lỗi lặp vô hạn. Có thể dẫn đến chương trình bị treo. 2.4. Chương trình con thủ tục và hàm Các thủ tục và hàm trong đơn thể Access có hai loại: 2.4.1. Thủ tục (Procedure) Các chương trình Basic được viết thành những đơn vị riêng lẻ gọi là thủ tục. Trong mỗi thủ tục sẽ chứa các lệnh Basic để thực hiện một xử lý nhất định hoặc tính toán một giá trị. Có hai loại thủ tục: Cú pháp [Public] [Private] Sub ([]) End Sub Trong đó: Sub, End Sub là các từ khoá bắt buộc khai báo cấu trúc một chương trình con dạng thủ tục; là tên gọi thủ tục định khai báo. Tên không được chứa dấu cách (space) và các ký tự đặc biệt; danh sách các tham số cần thiết cho thủ tục. Có hay không có danh sách này tuỳ thuộc vào thủ tục cần tạo thân chương trình con. Nếu không có từ khoá Public trước Sub, thủ tục đó chỉ có tác dụng cục bộ: trong một module, trong một report hoặc trong một form. Khi có từ khoá Public trước Sub, thủ tục sẽ có tác dụng toàn cục. Tức là có thể sử dụng bất kỳ nơi nào trên tệp Access đó. Tất nhiên, tất cả những gì khai báo là Public phải được khai báo trong phần Decralations của một Module nào đó. 18
  20. Ví dụ: Xây dựng thủ tục thực hiện tính tổng hai số: Sub tong2so(a, b As Double) tong = a + b ‘tổng là biến được khai báo toàn cục End Sub 2.4.2. Hàm (Function) Là loại thủ tục trả về một giá trị kết quả duy nhất tại vị trí tham chiếu đến hàm đó, vì vậy có thể sử dụng hàm trong các biểu thức. Hàm có thể nhận các đối mục để sử dụng trong chương trình. Tổ chức của hàm như sau: Cú pháp Function ([]) As End Function Trong đó: Function, End Function là các từ khoá bắt buộc khai báo cấu trúc một chương trình con dạng hàm; là tên gọi hàm định khai báo. Tên không được chứa dấu cách (space) và các ký tự đặc biệt; danh sách các tham số cần thiết cho hàm. Có hay không có danh sách này tuỳ thuộc vào hàm cần định nghĩa; kiểu dữ liệu mà hàm sẽ trả lại. Phần này bắt buộc phải được khai báo với mỗi hàm; thân chương trình con. Trong đó câu lệnh = phải xuất hiện ít nhất một lần trong thủ tục. Câu lệnh này có tác dụng gán giá trị cho hàm. Chú ý: Nếu không có từ khoá Public trước Function, hàm đó chỉ có tác dụng cục bộ: trong một module, trong một report hoặc trong một form. Khi có từ khoá Public trước Function, hàm sẽ có tác dụng toàn cục. Tức là có thể sử dụng bất kỳ nơi nào trên tệp Access đó. Tất nhiên, tất cả những gì khai báo là Public phải được khai báo trong phần Decralations của một Module nào đó. Ví dụ1: Thiết kế hàm tổng để tính tổng hai số: Function Tong(a, b As Double) As Double Tong = a + b End Function Ví dụ2: Thiết kế hàm kiểm tra tính nguyên tố của một số: Function laNguyenTo(so As Integer) As Boolean Dim uoc As Integer laNguyenTo = True If so > 2 Then For uoc = 2 To Int(Sqr(so)) If so Mod uoc = 0 Then laNguyenTo = False Exit For End If Next End If End Function 19
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2