1. Trang chủ
  2. » Giáo án - Bài giảng

Lap trinh voi Access

9 997 9
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 105,5 KB

Nội dung

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

Trang 1

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:

Trang 2

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 )

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

Trang 3

2.3] Cấu trúc chọn lựa case ( select case ):

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

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

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

Trang 4

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”)

Trang 5

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

Trang 6

• 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

Trang 7

• 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õ

Trang 8

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”

Trang 9

bắt lỗi ta đưa mã lỗi và câu thông báo vào một table

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

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w