Bài giảng Lập trình VBA căn bản - Phạm Phúc Thịnh
Giới thiệu về VBA
VBA : Visual Basic for Application
Giúp cho người sử dụng nâng cao hiệu quả sử dụng Access, biến một CSDL đơn giản trở thành những sản phẩm đóng gói thương mại.
Để sử dụng VBA cần hiểu biết các kiến thức :
- Cách sử dụng các cấu trúc lệnh.
- Cách khai báo biến
- Thực hiện các thủ tục con giải quyết các yêu cầu đặt ra.
Các thành phần chính trong cửa sổ VBA
Hệ thống thực đơn và thanh công cụ : Chứa các menu cần thiết & Các công cụ cơ bản
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, giúp người viết lệnh dễ dàng quản lý các mã lệnh VBA đã viết.
Cửa sổ viết lệnh : Nơi soạn thảo cá dòng lệnh VBA, mỗi cửa sổ gồm toàn bộ mã lệnh cho một đối tượng như : Form, Report, Modules .mỗi cửa sổ có thể có nhiều phần được viết lệnh.
LẬP TRÌNH VBA CĂN BẢNGv : PHẠM PHÚC THỊNHGiới thiệu về VBAVBA : Visual Basic for ApplicationGiúp cho người sử dụng nâng cao hiệu quả sử dụng Access, biến một CSDL đơn giản trở thành những sản phẩm đóng gói thương mại.Để sử dụng VBA cần hiểu biết các kiến thức : - Cách sử dụng các cấu trúc lệnh. - Cách khai báo biến - Thực hiện các thủ tục con giải quyết các yêu cầu đặt ra.Màn hình làm việc của VBA1Hệ thống menu & toolbar2Cửa sổ Project Explorer3Cửa sổ viết lệnhCác thành phần chính trong cửa sổ VBAHệ thống thực đơn và thanh công cụ : Chứa các menu cần thiết & Các công cụ cơ bảnCử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, giúp người viết lệnh dễ dàng quản lý các mã lệnh VBA đã viết.Cửa sổ viết lệnh : Nơi soạn thảo cá dòng lệnh VBA, mỗi cửa sổ gồm toàn bộ mã lệnh cho một đối tượng như : Form, Report, Modules ...mỗi cửa sổ có thể có nhiều phần được viết lệnh.CÁC KIỂU DỮ LIỆU &KHAI BÁOCác kiểu dữ liệu cơ bảnKiểu Boolean : Nhận 1 trong 2 giá trị YES/NO hoặc TRUE/FALSE. Chiếm 2 byte bộ nhớ.Kiểu Byte : Kiểu số nguyên dương, phạm vi giá trị 0 – 255. Chiếm 1 byte bộ nhớ.Kiểu Integer : Kiểu số nguyên, phạm vi giá trị -32768 đến 32767. Chiếm 2 byte bộ nhớ.Kiểu Long : Kiểu số nguyên dài, phạm vi giá trị -2.147.483.648 đến 2.147.483.647. Chiếm 4 byte bộ nhớ.Kiểu Single : Kiểu số thực. Chiếm 4 byte bộ nhớ.Các kiểu dữ liệu cơ bảnKiểu Double : Kiểu số thực có độ lớn hơn kiểu Single. Chiếm 8 byte bộ nhớ.Kiểu Currency : Kiểu tiền tệ, bản chất là kiểu số. Chiếm 8 byte bộ nhớ, luôn có ký hiệu tiền tệ đi kèm.Kiểu String : Kiểu chuỗi ký tự. Tối đa 255 ký tự.Kiểu Variant : Kiểu dữ liệu không khai báo cụ thể. Có thể nhận bất kỳ một giá trị nào có thể. Được sử dụng khi phải xử lý biến đó mềm dẻoKiểu Object : là một loại biến kiểu Variant, chiếm 4 byte, dùng để tham chiếu đến một đối tượng nào đó trong khi lập trìnhBiến & Cách sử dụng biếnBiến – khai báo biến đơn giản. - Biến (Variable) là thành phần của một ngôn ngữ lập trình, giúp xử lý dữ liệu linh hoạt &mềm dẻo . - Biến có thể được định kiểu, tuy nhiên với VBA có thể không cần định kiểu vẫn sử dụng được, trong trường hợp này biến sẽ nhận kiểu Variant. - Biến có thể được khai báo bất kỳ ở đâu trong phần viết lệnh của VBA. Biến có hiệu lực từ sau lời khai báo, có phạm vi hoạt động như đã quy định.Biến & Cách sử dụng biến Cách khai báo biến. DIM tên biến số AS kiểu dữ liệu Ví dụ : - Dim i as integer - Dim i,j as integer - Dim i as integer,st as string*15 (biến i kiểu integer, biến st kiểu string độ dài 15 ký tự) - Dim i (biến i kiểu variant) - Dim hoten(45) as string*30 (biến mảng hoten có 45 phần tử kiểu string độ dài 30 ký tự)Phạm vi BiếnBiến cục bộ.Biến cục bộ được khai báo sau từ khóa DIM nó chỉ có tác dụng trong chương trình con, cục bộ trong một form, hoặc trong một module nào đó.Biến chỉ có tác dụng sau lệnh khai báo Dim Biến toàn cục.Biến toàn cục được khai báo sau từ khóa PUBLIC, nó có tác dụng trong toàn bộ chương trình.Biến toàn cục được khai báo trong phần Decralations của một module. Hằng & Cách sử dụng hằngKhai báo hằng - Hằng (Constant) là đại lượng có giá trị xác định khôgn bị thay đổi. - Tương ứng với từng kiểu dữ liệu, có những hằng tương ứng Hằng & Cách sử dụng hằng Cách khai báo hằng. CONST tên hằng = giá trị hằng Ví dụ : - Const a = 5 - Const ngay = #24/12/2005# - Const phongban = “tài vụ” - Const OK = truePhạm vi HằngHằng được khai báo trong thủ tục nào, hoặc cục bộ trong form, report hoặc module nào sẽ chỉ có tác dụng trong phạm vi đó.Hằng có phạm vi toàn cục phải được khai báo sau từ khóa Public Const tại vùng Decralations của một module nào đóCÁC CẤU TRÚC LỆNH VBAGv : Phạm Phúc ThịnhNGUYÊN TẮC CHUNG CỦA LỆNH VBACó cấu trúc : mỗi cấu trúc lệnh đều có từ khóa bắt đầu và từ khóa kết thúc.Các lệnh được thực hiện tuần tự.Các cấu trúc lệnh có khả năng lồng vào nhau.CẤU TRÚC IF . END IFCấu trúc này được gọi là lệnh lựa chọnCú pháp của lệnh như sau :If then [else ]End ifPhần trong [ ] có thể có hoặc không trong lệnhCẤU TRÚC IF . END IFVí dụ : Kiểm tra một số là số chẵn hoặc lẻIf so mod 2 = 0 thenMsgbox “là số chẵn”else Msgbox “là số lẻ”End ifCẤU TRÚC SELECT CASE . END SELECTLà cấu trúc lựa chọn với nhiều chọn lựaCú pháp như sau Select case Case Case ..... [Case else End SelectCẤU TRÚC SELECT CASE . END SELECTBiểu thức là số nguyên, chuỗi ký tự, kiểu logicCách hoạt động của lệnh Case như sau 1. Tính giá trị biểu thức 2. Kiểm tra biểu thức = giá trị 1(n) thủ tục 1(n) kết thúc lệnh thực hiện tiếp lệnh sau End select 3. Trong trường hợp các giá trị từ 1,n không thỏa mãn sẽ thực hiện lệnh CASE ELSE (nếu có) hoặc chuyển ngay thực hiện lệnh sau End SelectCẤU TRÚC SELECT CASE . END SELECTVí dụ : nhập vào một con số bất kỳ, trả về tên tháng tương ứng con số đóSelect case SO Case 1 thang = “tháng giêng” Case 2 thang = “tháng hai” .... Case 12 thang = “tháng chạp” Case else thang = “không có tháng này”End SelectCẤU TRÚC FOR NEXTCấu trúc lặp biết trước số lần lặpCú pháp For ... Next như sau : For = to step [exit for] NextGiải thích : biến chạy : thường là biến kiểu nguyên gt1; gt2 : là các giá trị mà biến chạy sẽ nhận và thực hiện sau mỗi lần lặp. Step : số đơn vị biến chạy sẽ dịch chuyển sau mỗi lần lặp (n>0 : tiến; n WendWhile ; Wend : từ khóa của lệnh lặpNếu = true thì sẽ được thực hiện.Nếu = false thì thoát khỏi vòng lặp và thực hiện lệnh tiếp sau từ khóa WENDCẤU TRÚC WHILE WENDVí dụ : tính tổng các số chia hết cho 3 từ 1 đến 50, giá trị lưu vào biến tổng.Dim i as byteDim tong as integer tong = 0 i=3 while i <=50 tong = tong + i i = i +3 WendMsgbox tong
File đính kèm:
- Bai giang MS Access.ppt