Lap trinh voi Access

9 992 9
Lap trinh voi Access

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chương 6: MODULES 1) TỔNG QUAN VỀ VISUAL BASIC 1.1] Chương trình: là tập hợp các lệnh được sắp xếp theo một trình tự nhất đònh nhằm giải quyết một bài toán hoặc một vấn đề. 1.2] Thuật giải: là cách giải quyết một vấn đề bằng ngôn ngữ đời thường Ví dụ: giải và biện luận phương trình bậc nhất Ax + B = 0 • Nhập A, B • Xét A  A = 0  xét B ( B = 0 phương trình vô số nghiệm, B ≠ 0 vô nghiệm)  A ≠ 0 phương trình có một nghiệm x = -B / A • Xuất kết quả và kết thúc. 1.3] Chương trình con: trong Visual Basic có hai loại chương trình con 1.3.1 – Thủ tục (sub): dùng để giải quyết một vấn đề nhưng không có giá trò trả về. Ví dụ: hành động Msgbox 1.3.2 – Hàm ( Fuction ): dùng để giải quyết một vấn đề tương tự thủ tục nhưng có trò trả về. Ví dụ: hàm Msgbox 1.4] Đơn thể: là nơi chứa các chương trình con, có 2 loại đơn thể 1.4.1 – Đơn thể dùng chung: những chương trình con được viết trong đơn thể này và được khai báo bằng từ khóa Public thì có thể được dùng trong toàn bộ ứng dụng. Để mở đơn thể dùng chung: chọn đối tương Modules  New 1.4.2 – Đơn thể của forms hay reports: những chương trình con bên trong chỉ được sử dụng cho forms hay reports đó mà thôi. Được khai báo bằng từ khóa Private. Để vào đơn thể: mở forms hay reports ở chế độ thiết kế  view / code 1.5] Biến và kiểu dữ liệu: 1.5.1 – Kiểu dữ liệu: • Số nguyên: byte (0  255), integer ( -32768  32767), long ( - 2 tỉ  + 2 tỉ ) • Số thực: single, double • Kiểu logic: boolean • Kiểu chuổi: string • Ngày tháng: date • Variant: là kiểu có thể chứa được các kiểu khác, đặc biệt chứa được giá trò null • Kiểu đối tượng: là kiểu đại diện cho forms, reports, control 1.5.2 – Khai báo biến:  Cú pháp: Public ( Dim ) < tên biến > [ as < kiểu dữ liệu >]  Giải thích: • Public: dùng để khai báo biến toàn cục và được viết trong đơn thể dùng chung. • Dim: dùng trong khai báo biến cục bộ, tằm hoạt động chỉ trong chương trình được khai. Nếu khai báo ở đầu đơn thể thì sẽ được dùng cho toàn bộ đơn thể. • Nếu bỏ qua phần khai báo kiểu thì biến đó mặc đònh là kiểu Variant • Mỗi biến ứng với một kiểu dữ liệu, một Dim có thể cho nhiều biến 1.6] Các phép toán thường dùng: 1.6.1 – Phép gán: =  cú pháp: [set ( biến đối tượng)] < tên biến > = < trò hay biểu thức > 1.6.2 – Toán tử số: +, -, *, / (chia hết), \ (lấy nguyên), mod (lấy dư ) 1.6.3 – Toán lũy thừa: ^ 1.7] Các hàm thường dùng: 1.7.1 – Hàm nhập dữ liệu từ bàn phím:  Cú pháp: = inputbox (< chuỗi thông báo >, < tiêu đề >, < giá trò mặc đònh >)  Ví dụ: a = inputbox (“ nhap so a”, “ Giai PT”, 0) 1.7.2 – Hàm xuất thông báo:  cú pháp: =msgbox(< chuỗi thông báo>, <số 1 + số 2 + số 3>, < tiêu đề>) trả về  Giải thích: • Số 1: biểu tượng thông báo ( bội số 16 thể hiện biểu tượng) • Số 2: loại nút có trong thông báo (không có là nút OK, 1 hoặc 4 là 2 nút yes/ no) • Số 3: đặt con trỏ tại nút nào mặc đònh (không có là nút đầu, bội số của 256 di chuyển) • Trả về: trả về số 6 hoặc 7 • Không có ( ) hàm là thủ tục  Ví dụ: msgbox (“chao ban”, 48, “ lop 04A”) 1.7.3 – Các ghi chú • Cài đặt việc kiểm tra biến tường minh (Option Explicit): vào màn hình đơn thể  tools / option / đanh dấu check tại requuire varible declaration. • Để xuống dòng trong Msgbox ta dùng lệnh: & vbcrlf • Để đổi chuỗi thường sang hoa: ucase (chuỗi) • Để ghi chú nội dung trong đoạn code: ‘ câu nội dung 2) CẤU TRÚC ĐIỀU KHIỂN 2.1] Cấu trúc tuần tự: chương trình thi hành các dòng lệnh từ trên xuống dưới. 2.2] Cấu trúc rẻ nhánh ( if ) Dạng Cú pháp Ý NGHĨA 1 If < ĐK > then ĐK: điều kiện Khối lệnh End if Nếu ĐK đúng thì thực hiện khối lệnh hay 1 lệnh 2 If < ĐK > then < 1 lệnh > 3 If < ĐK > then Khối lệnh 1 Else Khối lệnh 2 End if Nếu ĐK đúng thì thực hiện khối lệnh 1, ngược lại thực hiện khối lệnh 2. Khối lệnh: có thể là biểu thức hay một cấu trúc khác. 4 If typeof < biến đối tượng > is <kiểu đối tượng> then Khối lệnh End if Dùng cho biến đối tượng là form, report hay control. Những biến đối tượng thuộc kiểu đối tượng sẽ được thi hành khối lệnh. 2.3] Cấu trúc chọn lựa case ( select case ): Cú pháp Ý nghóa Select case < biểu thức > Case < GT 1 >: Khối lệnh 1 Case < GT 2 >: Khối lệnh 2 ……………………………… Case < GT n >: Khối lệnh n Case else Khối lệnh n’ GT: giá trò ( thường là hằng số), có thể có nhiều giá trò trên 1 case và giá trò được biểu hiện từ đầu đến cuối ( 1 to n ). Nếu biểu thức bằng với giá trò case nào thì khối lệnh đó được thực hiện, nếu biểu thực không bằng với giá trò case nào thì khối lệnh của case else được thực hiện. Hàm đổi ngày thành thứ trong tuần: weekday( Date ) Trò trả về: 1 là chủ nhật 2 là thứ hai ……………………………… 7 là thứ bảy 2.4] Cấu trúc vòng lặp Tên vòng lặp Cú pháp Ý nghóa For… next For < Biến đếm > = < GT đầu > to < GT cuối > [ step < bước tăng>] Khối lệnh [ exit for ] Next < biến đếm > Khi biến đếm chưa lớn hơn GT cuối khối lệnh được thi hành. Mặc đònh bước tăng là 1, sau 1 1 lặp biến đếm tăng theo bước tăng. Exit For thoát vòng lặp vô điều kiện Do while … loop Do while < ĐK > Khối lệnh [ exit do ] Loop Khi điều kiện đúng khối lệnh thi hành cho đến khi điều kiện sai thì dừng. Exit do = exit for Do… loop while Do Khối lệnh [ exit do ] Loop whlie < ĐK > Khối lệnh được thi hành lần 1 rồi kiểm tra điều kiện. Nếu ĐK đúng thì thi hành tiếp và dừng lại khi ĐK sai. Duyệt đối tượng For each < biến đối tượng > in <kiểu đối tượng> If typeof < biến đối tượng > is <kiểu đối tượng> then Lệnh Next < biến đối tượng> Dùng để duyệt các đối tượng trên tập hợp đối tượng. Như lebel, textbox,… 2.5] Hàm và thủ tục 2.5.1 – Khai báo a) Thủ tục: Private (public) sub < tên thủ tục > (Danh sách tham số) Phần lệnh Exit sub End sub b) Hàm: Private (public) function < tên hàm > ( danh sách tham số ) as < kiểu trò trả về > o Phần lệnh o Tên hàm = ( giá trò / biểu thức ) o Exit function End function 2.5.2 – Lệnh gọi a) Thủ tục: a.1 – Trong đơn thể và không có tham số: đặt dấu nháy trong thủ tục  nhấn F5 a.2 – Gọi thủ tục từ một thủ tục khác: có hai cách • call < tên thủ tục >(danh sách tham số). VD: call HoanVi(a,b) • < tên thủ tục > (danh sách tham số). VD HoanVi (a,b) b) Hàm: a.1 – Thử hàm: Bấm Ctrl_G  gõ theo cú pháp: ? < tên hàm > ( DSTS thực sự) enter VD: ?max2so (2, 5)5 a.2 – Gọi hàm: thường thì gọi hàm trong một biểu thức, gán giá trò trả về cho một biến, hay so sánh. < tên biến> = < tên hàm > (DSTS) 2.5.3 – Tham số và ý nghóa: a) Tham số: có hai loại (tham số hình thức: dùng khi khai báo, và tham số thực sự: dùng khi gọi hàm) b) Tham biến – tham trò: b.1 – Tham biến: là loại biến số sẽ bò thay đổi nếu trong hàm hay thủ tục có sự thay đổi. Trước tham biến cần có câu lệnh byref. Mặc đònh là tham biến b.2 – Tham trò: Là loại biến số không bò thay đổi. Trước tham trò cần có câu lệnh byval public sub S1( a as byte, b as byte) a = a * 10 b = b * 10 end sub sub S2( byval a as byte, byval b as byte) như sub s1 public sub S3( n1 as byte, n2 as byte) n1 = 1 n2 = 5 call S1(n1, n2)\ S2(n1, n2) msgbox “n1: ” & n1 ( 10\ 1) msgbox “n2: ” & n2 ( 50 \ 5) end sub 2.5.4 – Các trường hợp đặc biệt a) Tham số có số lượng tùy ý ( tham số mãng): paramaray < tên biến >( chỉ số ) as Variant Tham số mãng được dùng khi số lượng tham số tùy ý không biết trước nhưng có cùng kiểu dữ liệu. Tham số này có kiểu là Variant. Vd: public Function Tong (paramaray so ( ) as variant ) as integer b) Tham số tùy chọn ( optional argument ): Khi khai báo các tham số này luôn được đặt sau cùng, trước tên tham số có từ khóa Optional, sau phần kiểu là giá trò mặc đònh khi tham số này không được truyền vào. VD sub ThongBao( tuoi as byte, optional Ho as string = “ Le”, optional Ten as string = “T”) 3)LẬP TRÌNH VỚI CÁC ĐỐI TƯNG TRONG ACCESS 3.1] Các khái niệm 3.1.1 – Đối tượng: là những thực thể độc lập trong ứng dụng 3.1.2 – Thuộc tính: là các tính chất trạng thái của đối tượng 3.1.3 – Phương thức: là các hành động đặc thù của một đối tượng. 3.1.4 – Thủ tục sự kiện ( Event Procedure): là một thủ tục đặc biệt được gán cho một sự kiện. Khi sự kiện xảy ra thì thủ tục điều kiện được thi hành. Cách mở: Cách 1: Tại tính chất của sự kiện click … . rồi chọn code … Cách 2: Tại tính chất của sự kiện chọn event procedure rồi click … 3.2] Các đối tượng thường dùng trong lập trình đối tượng 3.2.1 – Application: đại diện cho ứng dụng hiện hành đang làm việc 3.2.2 – Form hay report: là form hay report cụ thể bên trong ứng dụng. 3.2.3 – Control: là một control cụ thể bên trong form hay report nào đó. 3.2.3 – Docmd: đây là một đối tượng đặc biệt của ACCESS, nó chứa các phương thức tương ứng với hầu hết các hành động trong Macro 3.3] Các tập hợp thường dùng: 3.3.1 – Forms: là tập hợp chứa các form đang được mở 3.3.2 – Report: là tập hợp chứa các report đang được mở 3.3.3 – Control: là tập hợp các control trong một form hay report hiện hành 3.4] Cách tham chiếu Tham chiếu đến Cú pháp Ví dụ 1 thành phần ( TP ) trong tập hợp ( TH ) < Tên TH > ! < Tên TP > Forms!BT1 1 thuộc tính của đối tượng <Tên ĐT>.<Tên TT> = <GT> Me.txtA.enabled = true 1 control trong subform <fomrs> ! <Tên Main> ! <Tên sub> Forms!Fr1!Fr1_sub!txtDT 1 TT trong subform < tham chiếu đến control>. Form.<tên TT> Forms!Fr1!Fr1_sub!txtDT . enabled Cách thi hành 1 phương thức < tên ĐT>.< phương thức> [ danh sách tham số ] Docmd.gotocontrol, , acFirst Cách sử dụng biểu thức điều kiện trong hàm thống kê “ tên field = ‘ ” & < tên biến > & “ ‘ “ Đối với biến kiểu chuỗi “ tên field = # ” & < tên biến > & “ # “ Đối với biến ngày tháng “ tên field = ” & < tên biến > Đối với biến kiểu số 3.5] Các thuộc tính và phương thức thường dùng: 3.5.1 – Đối tượng Application: có hai phương thức • Application.CloseCurrentDatabare: thoát về Access ( đóng ứng dụng ) • Application.quit: thoát về Window (đóng Access) 3.5.2 – Đối tượng Form: a) Thuộc tính: • CurrentRecord: trả về số thứ tự mẫu tin hiện hành • NewRecord: trả về mẫu tin mới của ứng dụng • Dirty (true / false): mẫu tin có bò sữa không • Me: thuộc tính dùng để đại diện cho một form hay report chứa đoạn code đang thi hành • Parent: đại diện cho đối tượng cha của đối tượng đang xét (dùng cho subform muốn tham chiếu ra Mainform) b) Phương thức: • Setfocus: dùng để chọn một form hiện hành • Requery: dùng để tái truy vấn dữ liệu nguồn của form • Recalc: dùng để tính toán lại control tính toán trên Form 3.5.3 – Control: a) Thuộc tính: forecolor, … b) Phương thức: setfocus, requery 3.5.4 – Docmd ( tài liệu ngoài) 4) Các loại thanh lệnh: có 3 loại 4.1] Các loại thanh lệnh 4.1.1 - Thanh thực đơn ( Menubar): thanh thực đơn, thực đơn, mục chọn, thực đơn con (sub menu) 4.1.2 - Thanh công cụ ( toolbar):các nút công cụ (mục chọn) 4.1.3 - Thực đơn tắt ( short cut menu / popup): xuất hiện khi click phải gồm mục chọn và các thực đơn con 4.2] Các thao tác với thanh lệnh 4.2.1- Tạo thanh lệnh: view / toolbar / customize • Trang toolbar  new  đặt tên  ok • Xác đònh loại thanh lệnh: chọn tên thanh lệnhproperties tại type chọn (menubar, toolbar, popup) 4.2.2 – các thao tác khác a) xóa thanh lệnh: chọn thanh lệnh click delete b) đổi tên: chọn thanh lệnh rename 4.3] Tạo thực đơn mục chọn 4.3.1 – Tạo thực đơn:trang commands  bên trái chọn new menu  bên phải drag mouse new menu vào thanh lệnh 4.3.2 – Tạo mục chọn a) Dùng để mở các đối tượng: table, query, form, report, macro, … Trang commands  bên trái chọn nhóm đối tượng (all form, all report, …) bên phải chọn đối tượng và drag mouse vào thanh lệnh b) Là các chức năng có sẵn của hệ thống: Trang commands  bên trái chọn nhóm chức năng ( file, edit, record, …)  bên phải chọn chức năng và drag mouse vào thanh lệnh c) Khi mục chọn dùng để thi hành một đoạn lệnh: Điều kiện: • Các đoạn lệnh phải được xây dựng thành một hàm • Hàm đó phải nằm trong đơn thể dùng chung modules Thao tác: • Trang commands  bên trái chọn chức năng File  bên phải chọn custom và drag mouse vào thanh lệnh • Gọi hàm: chọn mục chọn click phải properties  tại mục on action gọi hàm theo cú pháp : = <tên hàm > ([tham số]) 4.3.3 – Tạo thực đơn tắt Trang toolbar  click chọn shortcut menu xuất hiện thanh thực đơn nhanh  tạo thực đơn hay mục chọn tương tự như các thanh trước 4.4] Kết thanh lệnh vào ứng dụng 4.4.1 – Kết thanh lệnh vào form / report : ở chế độ thiết kế  trang order tại các thuộc tính (menubar, toolbar, shortcut menubar) chọn tên thanh thực đơn 4.4.2 – Kết thanh lệnh vào ứng dụng: tools / startup •Application title: tên ứng dụng •Application icon: biểu tượng ứng dụng •Menu bar: chọn tên thanh thực đơn ( thực đơn chính của ứng dụng ) 5) TẠO USERNAME VÀ PASSWORD 5.1] Quyền hạn a) CSDL: gồm hai bảng NguoiDung: MAND, TENND, MATKHAU, MANHOM) Nhom: MANHOM, TENNHOM, QUYENHAN 6) CÀI ĐẶT TIẾNG VIỆT TRONG ACC 6.1] Các yêu cầu cài đặt - Yêu cầu bộ font phải có font VK San Senf - Yêu cầu về thư việc đọc: VNCMB.dll 6.2] Đưa thư viện vào ứng dụng Mở ứng dụng mở màn hình code  tool / ref… / brow / chọn tên tập . dll Dùng lệnh: tạo tập tin . dat và soạn nội dung regsvr 33 vncmd.dll /s Lưu ý: thư viện đọc, tập tin và ứng dụng nên để trong một thư mục 6.3] Lệnh thay đổi và trả lại font Thay đổi: setcaptionmenufont < tên font >, < kích cỡ > FW_normal Trả lại: retorecaptionmenufont và retorewidownsfont Lưu ý: Khi dùng bộ font VK San Senf thì hàm msgbox đổi thành vnmsgbox 6.4] cách chuyển mã Font trong window •Chọn đoạn văn bản cần chuyển mã  copy •Mở unicode ở chế độ công cụ • Tại mục nguồn: chọn bộ font hiện hành của đoạn văn bản • Tại mục đích: chọn bộ font mới của đoạn văn bản • Click chuyển mã •Trở lại vùng soạn thảo paste  chọn lại font phù hợp với bộ gõ Chương 7: Ghi Chú 1) CÁC GHI CHÚ VỀ THUỘC TÍNH 1.1) Một số thuộc tính Listindex: chọn thứ tự dữ liệu trên list, combobox (-1 chưa chọn, 0 dòng 1, 1 dòng 2, …) Selected(n): cho biết dòng thứ n được chọn Itemdata (n): cho giá trò dòng thứ n được chọn 2) GÕ RỐI VÀ XỬ LÝ TRONG CHƯƠNG TRÌNH 2.1] Các loại lỗi trong chương trình: LỖI NGUYÊN NHÂN KHẮC PHỤC Biên dòch chương trình Xảy ra khi ta dùng các câu lệnh sai cú pháp. VD: cấu trúc If thiếu end if, . Kiểm tra lại cú pháp câu lệnh tại dòng báo lỗi trong code của chương trình Thực thi chương trình Xảy ra trong lúc chương trình đang thi hành VD: lỗi chia cho 0, khi cập nhật dữ liệu mà vi phạm các ràng buộc trên CSDL Logic chương trình Không phát sinh lỗi nhưng kết quả chương trình cho giá trò sai, có thể do thuật toán sai hoặc Cấu trúc chương trình viết sai 2.2] Gõ rối chương trình Để chạy từng bước trong chương trình  F8, Để tạo điểm dừngF9 ( click chuột tại dòng dừng tại thanh thướt) Để hỏi giá trò của biến hay biểu thức: CTRL_G? <tên biến> enter Chèn hiển thò Watches và hiển thò giá trò: view / watch window click phải tại vùng trống và chọn thêm, xoá sữa 2.3] Xử lý lỗi trong chương trình 2.3.1 – Dùng đối tượng Err : ta dùng đối tượng Err với các thuộc tính Err.number: trả về mã số lỗi Err.decription: trả về câu thông báo lỗi 2.3.2 – Sử dụng câu lệnh On Error Dạng – cú pháp Ý nghóa Ví dụ On Error Resume Next ( dùng khi ta không quan tâm đến lỗi) sau khi đặt bãy lỗi này thì các lệnh phía sau nếu có lênh gay ra lỗi thì chương trình sẽ bỏ qua lệnh đó và thi hành những lệnh tiếp theo On Error Goto < nhãn lỗi > (1) < phần lệnh > (2) Exit sub / exit function (3) < Nhãn lỗi >: (4) < lệnh xử lý lỗi > (5) Dùng để bắt lỗi ngoài ý muốn, sau khi đã sử lý lỗi bằng tay. Để Sau dòng 1 mà các câu lệnh bên dưới có gay ra lỗi thì chương trình sẽ không thi hành tiếp và nhảy đến nơi có đặt nhãn lỗi rồi thi hành các lệnh bên dười nhãn lỗi. Dòng 3: dùng để thoát chương trình con khi câu lệnh không gay lỗi ( không thi hành phần sử lý nhãn lỗi On Error Goto Loighi Docmd.runcommand accmdsaverecord End sub Loighi: Msgbox “ khong hop le” bắt lỗi ta đưa mã lỗi và câu thông báo vào một table . Application.CloseCurrentDatabare: thoát về Access ( đóng ứng dụng ) • Application.quit: thoát về Window (đóng Access) 3.5.2 – Đối tượng Form: a) Thuộc tính:. trong form hay report nào đó. 3.2.3 – Docmd: đây là một đối tượng đặc biệt của ACCESS, nó chứa các phương thức tương ứng với hầu hết các hành động trong Macro

Ngày đăng: 06/07/2013, 01:27

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan