Giáo trình Chứng chỉ Tin học quốc gia trình độ B

Mục lục.1

GIỚI THIỆU .4

GIÁO TRÌNH LÝ THUYẾT.5

TÀI LIỆU THAM KHẢO.5

HƯỚNG DẪN PHẦN LÝ THUYẾT .6

Bài 1: MÀN HÌNH LÀM VIỆC CỦA ỨNG DỤNG.6

I. Giới thiệu đối tượng Form .7

I.1. Giới thiệu về thuộc tính của đối tượng.7

I.2. Các thuộc tính thường dùng của Form.9

II. Dạng màn hình thường gặp.11

II.1. Columnar .11

II.2. Tabular .11

II.3. Datasheet .12

III. Môi trường thiết kế màn hình làm việc.12

III.1. Tạo màn hình làm việc bằng Wizard.12

III.2. Môi trường Design của Form.13

Bài 2: THIẾT KẾ CÁC DẠNG MÀN HÌNH . 15

I. Các điều khiển.16

I.1. Những thành phần của Form.17

I.2. Một số thao tác chung trên điều khiển .18

I.3. Nhóm điều khiển văn bản .20

I.4. Nhóm điều khiển chọn lựa .22

I.5. Điều khiển liên kết dữ liệu.25

II. Các bước tạo màn hình làm việc.26

II.1. Chọn nguồn dữ liệu.26

II.2. Dạng hiển thị của Form.27

II.3. Tạo các điều khiển hiển thị dữ liệu .27

II.4. Tạo những điều khiển chức năng.28

II.5. Xem kết quả thiết kế - Hiệu chỉnh thiết kế .29

III. Tạo màn hình dạng main – sub.29

III.1. Điều khiển Subform/Subreport.29

III.2. Các bước thiết kế màn hình main – sub.30

IV. Truyền dữ liệu giữa các màn hình.31Tài liệu hướng dẫn giảng dạy

Chứng chỉ B Tin Học Quốc Gia Trang 2/131

IV.1. Nguyên tắc chung .32

IV.2. Lấy dữ liệu của Form Sub .32

V. Thiết kế các dạng màn hình .33

V.1. Màn hình đơn.33

V.2. Màn hình main – sub .39

Bài 3: NGÔN NGỮ LẬP TRÌNH VBA . 45

I. Môi trường lập trình trong Microsoft Access .46

I.1. Cơ chế lập trình Thủ tục – Sự kiện.46

I.2. Cửa sổ viết lệnh cho các xử lý trong thủ tục của sự kiện.47

II. Những thành phần cơ bản trong ngôn ngữ VBA.49

II.1. Đặc điểm của ngôn ngữ VBA.49

II.2. Biến .50

II.3. Cấu trúc điều khiển .54

II.4. Hàm và thủ tục.59

Bài 4: HÀM VÀ BỘ LỆNH THƯỜNG DÙNG TRÊN FORM. 62

I. Hàm/Thủ tục thường dùng.63

I.1. Nhóm hàm xử lý giá trị .63

I.2. Nhóm hàm thao tác dữ liệu .70

II. Bộ lệnh DoCmd.72

II.1. GoToRecord .72

II.2. OpenForm, OpenReport, OpenQuery.73

II.3. RunCommand .74

II.4. RunSQL.74

II.5. Close .74

Bài 5: THIẾT KẾ MÀN HÌNH DI CHUYỂN, TÌM KIẾM DỮ LIỆU. 76

I. Di chuyển dữ liệu trên màn hình làm việc .77

I.1. Thao tác di chuyển dữ liệu trên Form.77

I.2. Xử lý di chuyển bằng nút lệnh.79

I.3. Xử lý lỗi khi di chuyển .81

II. Tìm kiếm thông tin.83

II.1. Sử dụng DoCmd.84

II.2. Dùng RecordsetClone .85

Bài 6: THIẾT KẾ MÀN HÌNH THAO TÁC DỮ LIỆU . 88

I. Giới thiệu về các ràng buộc trên bảng dữ liệu .89

I.1. Khoá chính .89

I.2. Khoá ngoại .89

II. Chức năng thêm mới.89

II.1. Thêm dữ liệu trên Form.89Tài liệu hướng dẫn giảng dạy

Chứng chỉ B Tin Học Quốc Gia Trang 3/131

II.2. Cách thức thêm mới dữ liệu .90

III. Chức năng sửa dữ liệu.92

III.1. Cơ chế sửa dữ liệu trên Form.92

III.2. Thiết kế chức năng sửa dữ liệu .92

III.3. Các bước thực hiện .93

III.4. Ví dụ .94

IV. Xử lý dữ liệu thay đổi .94

IV.1. Lưu dữ liệu trên Form xuống bảng .95

IV.2. Kiểm tra ràng buộc khi lưu .98

IV.3. Không lưu dữ liệu mới thay đổi trên Form .103

V. Thao tác xoá dữ liệu.104

V.1. Cách thức xoá mẫu tin trên Form.105

V.2. Kiểm tra ràng buộc khi xoá dữ liệu của bảng.106

VI. Chức năng mở báo cáo .109

VI.1. Tạo chức năng mở báo cáo.109

VI.2. Ví dụ .110

Bài 7: XÂY DỰNG HỆ THỐNG THỰC ĐƠN.111

I. Giới thiệu về hệ thống thực đơn .112

I.1. Thanh lệnh.112

I.2. Phân loại .112

II. Thiết kế hệ thống thực đơn.113

II.1. Thêm mới thanh lệnh .113

II.2. Thiết kế chức năng trên thanh lệnh.115

II.3. Xoá thanh lệnh .117

Bài 8: GIỚI THIỆU VỀ MACRO .118

I. Đối tượng Macro.119

I.1. Ý nghĩa .119

 

pdf132 trang | Chia sẻ: trungkhoi17 | Lượt xem: 473 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo trình Chứng chỉ Tin học quốc gia trình độ B, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng hành động sẽ thực hiện không theo thứ tự từ trên xuống dưới. Có hai loại cấu trúc điều khiển là cấu trúc lựa chọn và cấu trúc lặp. II.3.1. Cấu trúc lựa chọn Như đã trình bày ở trên thì trong một đoạn lệnh, các lệnh sẽ được thực hiện lần lượt từ trên xuống dưới cho đến lệnh cuối cùng, nghĩa là tất cả những lệnh trong đoạn lệnh được thực thi ít nhất là một lần. Tuy nhiên, khi xử lý cho những trường hợp khác nhau của cùng một sự kiện ta có thể lựa chọn lệnh nào sẽ được thực hiện theo một điều kiện nào đó. Để chọn lệnh thực thi theo điều kiện, ngôn ngữ lập trình cung cấp cho ta một cấu trúc gọi là cấu trúc lựa chọn. Trong VBA, ta có hai cách viết cấu trúc lựa chọn tuỳ theo trường hợp cụ thể. Cú pháp If Cú pháp này thường được sử dụng trong trường hợp ta phải chọn một trong hai trường hợp để thực thi câu lệnh. Cú pháp của If có dạng như sau: If Then End If Trong cách viết trên, chính là yếu tố quyết định để được thực thi hay không. Các từ If Then End If là những từ khoá của VBA. là một hay nhiều biểu thức so sánh, kết quả của phép so sánh phải trả về một trong hai giá trị là True hay False, ở đây True có nghĩa là khác không và False là bằng không. Nhiều biểu thức điều kiện có thể được nối với nhau thông qua phép toán And hay Or, lưu ý là phải nhóm các biểu thức khi có nhiều phép toán khác nhau. Ví dụ: If ( And ) Or Then End If  Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 55/131 ở đây có thể là một lệnh, hay một nhóm các lệnh, có thể là một câu lệnh If khác. Những lệnh này chỉ được thực thi khi giá trị trả về của biểu thức điều kiện là True. Như vậy ta thấy rằng khi chương trình thực thi đến khối lệnh của cấu trúc If thì những lệnh trong If được thực thi hay không tuỳ vào kết quả của biểu thức điều kiện trong câu lệnh If. Cú pháp If còn có một cách viết khác như sau: If Then Else End If Ở cú pháp này, ta thấy If có hai vùng lệnh: vùng thứ nhất từ If cho đến Else và vùng thứ hai từ sau Else cho đến End If, Else là từ khoá của VBA. Khi chương trình thực thi đến đoạn lệnh của If thì chỉ có đúng một vùng lệnh được thi hành. ƒ Nếu giá trị của biểu thức điều kiện là True thì vùng lệnh thứ nhất được thực hiện, sau khi thực hiện xong thì chương trình tiếp tục thực hiện các lệnh sau End If nếu có. ƒ Nếu biểu thức điều kiện có giá trị là False thì vùng lệnh thứ hai được thực hiện, sau đó thực hiện tiếp những lệnh sau End If nếu có. Như vậy, tại một thời điểm chỉ có một vùng lệnh của cấu trúc được thực hiện cho dù giá trị của điều kiện là đúng hay sai. Ngoài ra, ta còn có thể kết hợp nhiều biểu thức điều kiện vào cấu trúc If, cấu trúc có nhiều trường hợp để chọn lựa, cú pháp như sau: If Then ElseIf then ... ElseIf then Else End If Cú pháp Select Case Trong trường hợp cần chọn lựa xử lý từ một biểu thức mà giá trị của nó có nhiều hơn hai kết quả thì cấu trúc Select Case sẽ là giải pháp hợp lý hơn. Xét trường hợp sau: giả sử ta có một biến X có giá trị thay đổi từ 1 đến 9 tuỳ theo thời điểm. Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 56/131 Chương trình yêu cầu chuyển giá trị số lưu trong X thành dạng chuỗi tương ứng và lưu vào biến chuỗi Y, chẳng hạn như nếu X là số 1 giá trị của Y sẽ là “một”. Thể hiện bài toán này bằng cú pháp If như sau: If X = 1 Then Y = “một” ElseIf X = 2 then Y = “hai” ElseIf X = 3 then Y = “ba” ... End If Với cú pháp If như trên, ta thấy biểu thức điều kiện lập lại là X = 1, X = 2, tức là cùng một biểu thức nhưng so sánh với nhiều giá trị khác nhau. Điều này làm cho cú pháp If trở nên dài và trùng lắp các câu lệnh kiểm tra. Do đó, người ta sử dụng cấu trúc chọn của Select Case sẽ tránh được những khuyết điểm của If, cú pháp có dạng như sau: Select Case Case tập_giá_trị_1 [Khối lệnh 1] Case tập_giá_trị_2 [Khối lệnh 2] Case Else [Khối lệnh n] End Select Tập giá trị có thể là: ƒ Một tập các giá trị rời rạc: Case 1, 3, 5, 7, 8, 10, 12 ƒ Tập các giá trị liên tục: Case 5 To 10 ƒ Biểu thức so sánh: Case Is >= 8, Case Is < 0 hay Case Is <= a + b ƒ Kết hợp các kiểu trên: Case 5,7, 10 To 25, 45 To 55 Trong cấu trúc Select Case trên ta thấy xuất hiện nhiều khối lệnh, tại một thời điểm chỉ có một khối lệnh được thực hiện. Khối lệnh sẽ được thi hành là khối lệnh nằm trong vùng của câu lệnh Case mà tập giá trị của nó có chứa giá trị của Biểu thức giá trị ở câu lệnh Select Case. Ta có thể viết lại bài toán đổi số trong X vào chuỗi Y bằng cú pháp của Select Case như sau: Select Case X Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 57/131 Case 1 Y = “một” Case 2 Y = “hai” ... Case Else Y = “chín” End Select Ta nên sử dụng cấu trúc Select Case cho những biểu thức trả về nhiều giá trị rời rạc. Không nên dùng cho các biểu thức trả về giá trị đúng/sai. Lấy ví dụ: tính số ngày trong một tháng, đổi tên một thứ trong tuần của tiếng Việt sang tiếng Anh, II.3.2. Cấu trúc lặp Về nguyên tắc thì khi chương trình thực hiện một khối lệnh thì các lệnh trong khối sẽ được thi hành đúng một lần, nếu không dùng cấu trúc rẽ nhánh. Tuy nhiên, đôi khi ta cần thi hành một hay một số lệnh nhiều lần tại một thời điểm thì mới xử lý được những yêu cầu của bài toán. Do đó, bất kỳ ngôn ngữ nào cũng cung cấp một cú pháp để ta có thể thi hành các câu lệnh với số lần lặp theo điều kiện cho trước. Với VBA thì ta có nhiều cú pháp lặp khác nhau, ở đây ta sẽ tìm hiểu hai dạng thường dùng là For và Do While. Cú pháp lặp dùng For Vòng lặp For được tạo với cú pháp như sau: For Biến chạy = Giá trị đầu To Giá trị cuối [Step Bước nhảy] [Exit For] [Khối lệnh lặp 2] Next [Biến chạy] Trong cú pháp trên ta sẽ có khối lệnh lặp nằm trong vùng của từ khoá For cho đến từ khoá Next. Khối lệnh này sẽ được lặp với số lần xác định bởi Giá trị đầu và Giá trị cuối. Để vòng lặp này thực thi ta cần một thành phần quan trọng đó là Biến chạy. Biến chạy chính là điều kiện để bắt đầu và kết thúc số lần lặp của khối lệnh. Giá trị đầu của Biến chạy có thể là một con số âm hay dương. Trong quá trình thực hiện vòng lặp, giá trị của biến chạy có thể tăng lên hay giảm xuống bằng cách cộng với giá trị của Bước nhảy. Bước nhảy có thể là một con số lớn hơn 0 hay nhỏ hơn 0. Từ khoá To trong cú pháp chính là biểu thức điều kiện xác định thời điểm dừng của vòng lặp bằng cách so sánh giá trị của Biến chạy với Giá trị cuối, phép toán của biểu thức điều kiện Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 58/131 là phép so sánh lớn hơn hay nhỏ hơn tuỳ thuộc vào Bước nhảy: ƒ Nếu bước nhảy lớn hơn 0 thì phép toán của biểu thức điều kiện dừng là phép so sánh lớn hơn, khi đó biểu thức điều kiện dừng có dạng: Biến chạy > Giá trị cuối. Có nghĩa là vòng lặp này sẽ dừng nếu giá trị của biến chạy lớn hơn Giá trị cuối. ƒ Nếu bước nhảy nhỏ hơn 0 thì phép toán của biểu thức điều kiện dừng là phép so sánh nhỏ hơn, khi đó biểu thức điều kiện dừng có dạng: Biến chạy < Giá trị cuối. Có nghĩa là vòng lặp sẽ dừng nếu giá trị của biến chạy nhỏ hơn Giá trị cuối. Khi chương trình gặp đoạn lệnh For, trước tiên chương trình sẽ gán giá trị cho Biến chạy bằng Giá trị đầu. Sau đó, chương trình sẽ kiểm tra biểu thức điều kiện dừng: ƒ Nếu giá trị của biểu thức là False thì chương trình sẽ bỏ qua các lệnh bên trong For và Next, đồng thời thực hiện tiếp những lệnh bên dưới Next nếu có. ƒ Nếu giá trị của biểu thức điều kiện dừng là True thì các lệnh bên dưới For sẽ được thực hiện. Sau khi thực hiện các lệnh bên trong For chương trình sẽ gặp từ khoá Next, khi này chương trình sẽ làm thao tác là: ƒ Gán giá trị cho biến chạy bằng cách cộng dồn giá trị của nó với giá trị của Bước nhảy. ƒ Kiểm tra điều kiện dừng với giá trị mới của Biến chạy, cách xử lý tương tự như trên. Câu lệnh Exit For có thể sử dụng hoặc không. Khi gặp câu lệnh này chương trình sẽ bỏ qua tất cả những lệnh phía sau nó và thực hiện tiếp những câu lệnh dưới từ khoá Next. Exti For thường được sử dụng để thoát khỏi vòng lặp, bỏ qua điều kiện dừng, sau khi đã đạt được kết quả cần tìm nhằm tăng tốc độ xử lý cho chương trình. Ví dụ: Tính tổng các số chẵn nhỏ hơn 100: Dim i As Integer, Tong As Integer Tong = 0 For i = 2 To 98 Step 2 Tong = Tong + i Next i Cấu trúc lặp Do While Do While cũng dùng để xây dựng vòng lặp cho các xử lý nhưng ở đây nó có sự khác biệt cơ bản so với For và có một số trường hợp ta không thể sử dụng For để tạo cấu trúc lặp. Đối với cú pháp For bạn cần phải xác định được giá trị đầu và giá trị cuối, và quan trọng nhất là giá trị cuối, đó là giá trị xác định thời điểm dừng của vòng lặp. Nghĩa là ta chỉ có thể viết cấu trúc For khi đã biết được thời điểm dừng của vòng lặp, khi đó ta sẽ biết chắc là các lệnh trong vòng lặp thực hiện tối đa là bao nhiêu lần. Ngoài ra, Giá trị cuối của For chỉ được xác định duy nhất trong lần chạy đầu tiên của vòng lặp, từ đó cho đến lúc kết thúc vòng lặp thì giá trị này là không đổi, ta có thể thay đổi giá trị nhưng đối với For thì nó vẫn lấy giá trị cũ. Tuy nhiên, trong một số bài toán thì số lần lặp của các câu lệnh không thể biết trước được, ví  Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 59/131 dụ ta muốn tìm một số mà tổng từ 1 đế số đó nhỏ hơn 10000. Ở đây ta chỉ biết được điều kiện dừng là tổng nhỏ hơn 10000 nhưng số lần tính tổng để tìm con số cuối cùng là không thể biết trước được và ta không thể xác định giá trị cuối là bao nhiêu cho hợp lý nhất. Do đó, trong những trường hợp không xác định được số lần lặp của vòng lặp, người ta sẽ sử dụng cấu trúc Do While để giải quyết bài toán, cú pháp của Do While như sau: Do While [ Exit Do ] [ Khối lệnh lặp 2 ] Loop Điều kiện ở đây sẽ là một biểu thức so sánh với kết quả trả về là True hay False, đôi khi ta cũng có thể sử dụng một hằng số để lập liên tục. Giá trị của biểu thức điều kiện có thể thay đổi theo các câu lệnh lặp bên trong. Khối lệnh lặp sẽ được thực hiện trong khi mà Điều kiện còn trả về giá trị True, cách thực thi và kiểm tra điều kiện cũng giống như For. Ta cũng có thể thoát khỏi vòng lặp mà không cần quan tâm đến giá trị của điều kiện bằng câu lệnh Exit Do. Cú pháp Do While có thể xây dựng tất cả các vòng lặp khi viết chương trình, nó có thể thay thế cho For. Nhưng ngược lại For không thể thay thế được Do While trong những vòng lặp không xác định. II.4. Hàm và thủ tục II.4.1. Hàm và thủ tục Trong ngôn ngữ lập trình thì đơn vị nhỏ nhất gọi là lệnh, tập hợp nhiều lệnh gọi là khối lệnh. Một chương trình thì có thể có nhiều khối lệnh cùng thực hiện một chức năng xử lý, nhằm dễ dàng trong việc quản lý các khối lệnh ta dùng một đơn vị lớn hơn gọi là hàm hay thủ tục. Việc nhóm các lệnh thành Hàm và Thủ tục giúp chương trình dễ đọc, dễ sửa. Ngoài ra, ta có thể dễ dàng sử dụng lại những lệnh giống nhau ở những vị trí khác nhau mà không phải viết lại toàn bộ những lệnh cần dùng. Hàm và Thủ tục giống nhau về sử dụng, chúng dùng để chứa một nhóm các lệnh tạo ra kết quả xử lý và các lệnh đó luôn được thực thi cùng nhau. Tuy nhiên, chúng có một điểm khác biệt cơ bản và cần thiết. Thủ tục dùng để chứa một số lệnh, khi cần sử dụng các lệnh ta chỉ cần chỉ định thủ tục chứa lệnh cần dùng. Thủ tục mà ta thường sử dụng nhất đó chính là xử lý các điều khiển. Mỗi xử lý trong sự kiện của điều khiển sẽ dựa trên một thủ tục ứng với sự kiện phát sinh, các lệnh trong thủ tục sẽ được thực thi khi điều khiển phát sinh sự kiện. Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 60/131 Còn Hàm là một trường hợp đặc biệt của thủ tục. Nó ngoài khả năng chứa các lệnh cần gom nhóm và gọi lại khi cần, hàm còn có thể trả về thông tin sau khi các lệnh trong hàm thực thi xong. Có nghĩa là sau khi thực thi các lệnh của hàm ta có thể nhận về giá trị của các xử lý có trong hàm. II.4.2. Cú pháp Để tạo ra các hàm hay thủ tục ta sử dụng cú pháp có dạng sau: Cú pháp tạo thủ tục Sub TenThuTuc(ThamSo1, ThamSo2, ) Các lệnh có trong thủ tục End Sub Cú pháp tạo hàm Function TenHam(ThamSo1, ThamSo2, ) As KieuDuLieuTraVe Các lệnh có trong hàm TenHam = Giá trị trả về End Function Một Thủ tục sẽ bắt bằng từ khoá Sub và kết thúc là End Sub, còn Hàm thì bắt đầu là Function và kết thúc là End Function. Trong cú pháp trên, có một thành phần quan trọng đó là các Tham số trong dấu ngoặc tròn. Hai dấu ngoặc tròn bắt buộc phải có, còn tham số thì có hay không cũng được. Các tham số được khai báo giống như khai báo biến, nhưng không có từ khoá Dim, có dạng như sau: TenThamSo As KieuDuLieu. Tham số của hàm/thủ tục là nơi chuyển thông tin từ bên ngoài vào cho các lệnh xử lý bên trong của hàm/thủ tục. Thao tác truyền thông tin từ bên ngoài vào hàm/thủ tục thông qua tham số gọi là truyền giá trị cho tham số. Bằng cách sử dụng tham số ta có thể tạo ra một hàm/thủ tục có nhiều ý nghĩa sử dụng bằng cách thay đổi giá trị truyền cho tham số tại một thời điểm nhất định. Đối với hàm thì ta còn có thành phần As KieuDuLieuTraVe, KieuDuLieuTraVe là một trong những kiểu dữ liệu của VBA, dùng để chỉ định kiểu giá trị sẽ được trả ra bên ngoài sau khi thực thi các lệnh có trong hàm. Để trả giá trị ra bên ngoài thì trong hàm ta cần phải có câu lệnh TenHam = Giá trị trả về. Giá trị trả về phải cùng kiểu với kiểu dữ liệu đã khai báo ở trong phần tạo hàm. Nội dung của Hàm/Thủ tục có thể chứa bất kỳ lệnh, nhóm lệnh, cấu trúc điều khiển, theo đúng cú pháp của VBA. Cấu trúc Hàm/Thủ tục có thể được khai báo ở bất kỳ vị trí nào trong cửa sổ viết lệnh, nhưng không được lồng vào vùng lệnh của những hàm/thủ tục khác. Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 61/131 II.4.3. Sử dụng Sau khi đã nhóm các thành thành Hàm/Thủ tục, ta có thể dễ dàng sử dụng các lệnh bằng cách gọi thực thi hàm/thủ tục tương ứng. Để gọi thực thi một thủ tục ta chỉ cần viết tên của thủ tục tại vị trí cần thực hiện nhóm lệnh mà thủ tục lưu trữ. Nếu thủ tục có sử dụng tham số, ta phải truyền giá trị cho tất cả các tham số đã được khai báo khi tạo thủ tục. Giá trị truyền cho tham số của thủ tục có thể là một biến chứa giá trị hay là một hằng số cụ thể. Mỗi giá trị các nhau bởi dấu phẩy (,) theo đúng thứ tự khai báo tham số. Khi gọi thực thi thủ tục ta sẽ bỏ hai dấu ngoặc tròn, giá trị truyền cho tham số đầu tiên của thủ tục sẽ cách tên thủ tục bởi một dấu khoảng trắng. Ví dụ: Nếu ta có một khai báo cho thủ tục như sau Sub ThongTin (strHoTen As String) ... End Sub Để sử dụng các lệnh bên trong thủ tục trên khi cần ta sẽ gọi thực thi thủ tục đó tại vị trí cần sử dụng như sau: ThongTin “Chứng Chỉ Lập Trình Microsoft Access” Hàm luôn trả về một giá trị nên ta cần phải có thao tác nhận giá trị trả về của hàm để xứ lý. Ngoài ra, khi gọi hàm luôn có cặp dấu ngoặc tròn phía sau tên hàm, nếu hàm có tham số thì giá trị của chúng nằm trong dấu ngoặc tròn. Ví dụ: Nếu ta có một hàm tính tổng hai số như sau: Function TinhTong(So1 As Integer, So2 As Integer) As Integer TinhTong = So1 + So2 End Function Khi gọi thực thi hàm ta cần khai báo một biến để lưu giá trị mà hàm tính toán được, các câu lệnh sau: Dim intKq as Integer intKq = TinhTong(4, 5) Sau khi thực hiện 2 câu lệnh trên, giá trị của intKq sẽ là 9 Hàm/Thủ tục có thể được gọi ở bất kỳ nhóm lệnh nào, thông thường nó được gọi trong một hàm hay thủ tục xử lý tính toán khác.   Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 62/131 Bài 4 HÀM VÀ BỘ LỆNH THƯỜNG DÙNG TRÊN FORM Tóm tắt Lý thuyết 4 tiết - Thực hành 0 tiết Mục tiêu Các mục chính Bài tập bắt buộc Bài tập làm thêm Bài học này giúp học viên biết những hàm/ thủ tục do ngôn ngữ VBA cung cấp nhằm hỗ trợ người lập trình trong việc xây dựng ứng dụng. Học viên sẽ có một cái nhìn tổng quan những chức năng của màn hình thông qua bộ lệnh DoCmd. Sau khi kết thúc bài học, học viên có thể: 9 Biết và sử dụng những hàm và thủ tục của VBA khi cần thiết. 9 Làm quen những lệnh quan trọng khi xây dựng màn hình làm việc bằng Microsoft Access: bộ lệnh DoCmd. I. Hàm/Thủ tục thường dùng II. Bộ lệnh DoCmd Không có Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 63/131 I. Hàm/Thủ tục thường dùng Ngôn ngữ VBA ngoài những thành phần đã giới thiệu trong bài trước, nó còn hỗ trợ một số hàm thư viện giúp người lập trình rất nhiều trong việc viết Code. Hàm/ thủ tục của VBA có thể chia thành hai nhóm lớn: nhóm hàm xử lý tính toán trên kiểu dữ liệu và nhóm hàm xử lý dữ liệu. I.1. Nhóm hàm xử lý giá trị Nhóm hàm xử lý giá trị chủ yếu xử lý trên những kiểu dữ liệu cơ bản như số, chuỗi, ngày giờ, I.1.1. Hàm thông báo: MsgBox Đây là một hàm thường được sử dụng nhiều nhất khi viết chương trình, khi hàm này được gọi nó sẽ hiện một cửa sổ thông báo với nội dung có thể thay đổi tuỳ theo yêu cầu. MsgBox có thể được sử dụng như là một thủ tục hay một hàm. Nếu là thủ tục, MsgBox chỉ đơn giản là cung cấp thông tin cho người dùng. Nếu là hàm, MsgBox mang ý nghĩa vừa cung cấp thông tin vừa nhận lại giá trị hồi đáp của người dùng. Sử dụng MsgBox như là một thủ tục theo cú pháp sau: MsgBox “Nội dung thông báo”, Bộ nút + Biểu tượng, “Tiêu đề” Ví dụ: Nếu ta có một câu lệnh như sau MsgBox “Xin chao cac ban”, vbOKOnly + vbInformation, “Su dung” Khi chương trình thực thi câu lệnh trên, ta sẽ thấy trên màn hình xuất hiện cửa sổ có dạng như hình sau: Trong hình trên, hình xuất hiện bên trái câu “Xin chao cac ban” chính là biểu tượng của cửa sổ thông báo, hình dạng của biểu tượng sẽ được xác định thông qua một giá trị hằng số, trong ví dụ trên là vbInformation. Ta có một số hằng số ứng với các biểu tượng như sau: vbInformation vbQuestion vbCritical Hình dạng của các biểu tượng có thể khác tuỳ vào hệ điều hành bạn đang sử dụng.  Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 64/131 Nút OK bên dưới chính là bộ nút của hộp thoại. MsgBox có nhiều bộ nút khác nhau tuỳ theo nhu cầu sử dụng và để chọn bộ nút ta sẽ chỉ định một trong những hằng số sau: vbOKOnly vbYesNo vbYesNoCancel vbOKCancel Giá trị của bộ nút và biểu tượng có thể kế hợp với nhau thông qua phép toán +, như trong ví dụ Nội dung của tiêu đề sẽ hiển thị ở vùng trên cùng của hộp thoại thông báo, trong ví dụ trên tiêu đề sẽ có dạng Trong cú pháp trên của MsgBox, ta có thể bỏ qua việc truyền giá trị cho tham số thứ 2 và thứ 3. Khi đó, hộp thoại sẽ tự động lấy giá trị mặc định cho tham số thứ hai là vbOKOnly và tham số thứ là ba là chuỗi “Microsoft Access”. Sử dụng MsgBox như là một hàm: Khi dùng MsgBox ở dạng hàm ta cần chú ý một điểm quan trọng là nhận giá trị trả về của nó. Giá trị trả về của MsgBox sẽ phụ thuộc vào bộ nút của hộp thoại, hộp thoại phải có ít nhất hai nút để người dùng có thể chọn lựa. Tuỳ vào bộ nút sử dụng, kết quả trả về của MsgBox có thể là một trong những giá trị sau: vbYes, vbNo, VbOK, vbCancel. Sử dụng MsgBox để thông báo và nhận kết quả trả lời từ người sử dụng ta cần thực hiện một số lệnh sau: ƒ Khai báo một biến để nhận kết quả trả lời của người sử dụng. ƒ Gọi thực thi hàm MsgBox với những tham số cần thiết và gán giá trị trả về cho biến đã khai báo ở trên. ƒ Thực hiện thao tác xử lý tuỳ theo giá trị của biến kết quả. Cú pháp như sau: Dim intKq as Integer intKq = MsgBox(“Ban se chon Yes hay No?”, vbYesNo + vbQuestion, “Su dung ham”) If intKq = vbYes then MsgBox “Ban da chon nut Yes” Else MsgBox “Ban da chon nut No” End if I.1.2. Len, Left, Mid, Right Đây là những hàm xử lý chuỗi thường dùng trong quá trình xây dựng ứng dụng. Các hàm này Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 65/131 sẽ nhận vào một chuỗi và trả về kết quả xử lý chuỗi tương ứng. Len Hàm này cho biết số ký tự có trong một chuỗi, giá trị trả về là một con số nguyên lớn hơn hay bằng 0. Cú pháp: Len(Chuoi As String) As Long Ví dụ: Dim lngKq As Long lngKq = Len(“ABCDEF”) Trong ví dụ trên, giá trị của biến lngKq sau khi thực hiện câu lệnh Len là 6. Left Hàm này dùng để lấy số ký tự từ bên trái của một chuỗi, giá trị trả về là chuỗi gồm những ký tự lấy được. Cú pháp: Left(Chuoi As String, SoKyTu As Long) As String Ví dụ: Dim strKq As String strKq = Left(“ABCDEF”, 4) Trong ví dụ trên, giá trị của biến strKq sau khi thực hiện câu lệnh Left là chuỗi “ABCD”. Right Hàm này dùng để lấy số ký tự từ bên phải của một chuỗi, giá trị trả về là chuỗi gồm những ký tự lấy được. Cú pháp: Right(Chuoi As String, SoKyTu As Long) As String Ví dụ: Dim strKq As String strKq = Right(“ABCDEF”, 4) Trong ví dụ trên, giá trị của biến strKq sau khi thực hiện câu lệnh Right là chuỗi “CDEF”. Mid Hàm này có thể thay thế cho hàm Left và Right, dùng để lấy số ký tự từ một vị trí bất kỳ có trong chuỗi, vị trí đầu tiên của chuỗi bắt đầu từ 1, giá trị trả về là chuỗi gồm những ký tự lấy được. Cú pháp:    Tài liệu hướng dẫn giảng dạy Chứng chỉ B Tin Học Quốc Gia Trang 66/131 Mid(Chuoi As String, ViTri As Long, SoKyTu As Long) As String ViTri trong cú pháp trên sẽ là một con số biến thiên từ 1 đến chiều dài của chuỗi ký ký truyền vào cho Mid. Ví dụ: Dim strKq As String strKq = Mid(“ABCDEF”, 3, 3) Trong ví dụ trên, giá trị của biến strKq sau khi thực hiện câu lệnh Mid là chuỗi “CDE”. Ngoài ra, ta có thể bỏ qua tham số thứ 3, SoKyTu, khi đó hàm Mid sẽ lấy những ký tự từ ViTri cho đến hết chuỗi. Với cách sử dụng này thì kết quả của hàm Mid giống với hàm Right. Ví dụ: Dim s

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_chung_chi_tin_hoc_quoc_gia_trinh_do_b.pdf
Tài liệu liên quan