Cấu trúc chọn lựa

Một phần của tài liệu Giáo trình access 2 – trung tâm tin học đh sư phạm kỹ thuật TP HCM (Trang 79)

a) CÚ PHÁP

End Select b) Ý NGHĨA:

Nếu <Biểu thức kiểm tra> cĩ giá trị là <Giá trị 1> thì thực hiện <Nhĩm lệnh 1>, nếu <Biểu thức kiểm tra> cĩ giá trị là <Giá trị 2> thì thực hiện <Nhĩm lệnh 2>, … , Nếu <Biểu thức kiểm tra> cĩ giá trị là <Giá trị n> thì thực hiện <Nhĩm lệnh n> , cịn nếu <Biểu thức kiểm tra> cĩ giá trị khác với các giá trị đã liệt kê thì thực hiện <Nhĩm lệnh n+1> nếu cĩ.

c) THÍ DỤ:

Thủ tục con tìm thứ của một ngày bất kỳ

Public Sub InThuCuaNgay()

Dim Thu As String

Ngay = InputBox("Nhap mot ngay bat ky", "Nhap lieu") Select Case Weekday(Ngay)

Case 1

Thu = "Chu Nhat" Case 2

Thu = "Thu Hai" Case 3

Thu = "Thu Ba" Case 4

Thu = "Thu Tu" Case 5

Thu = "Thu Nam" Case 6

Thu = "Thu Sau" Case 7

Thu = "Thu Bay" End Select

MsgBox Ngay & " la ngay " & Thu, vbInformation, "Ket qua" Debug.Print Ngay & " la ngay " & Thu

End Sub

Khi chạy chương trình

Hình 3.25: Hộp thoại yêu cầu nhập ngày cần tìm thứ của nĩ

Bấm OK sẽ xuất hiện Hình 3.26: Kết quả hiển thị trên MsgBox 3.3.4. CẤU TRÚC VỊNG LẶP a) CẤU TRÚC DO…LOOP Dùng với While Dạng 1: - Cú pháp:

Do While <Điều kiện lặp>

<Khối lệnh>

Loop

- Ý nghĩa: Kiểm tra <Điều kiện lặp> trước. Nếu <Điều kiện lặp> Đúng thì thực hiện <Khối lệnh> và cứ lặp như thế cho đến khi nào điều kiện lặp là Sai thì dừng vịng lặp.

Dạng 2:

<Khối lệnh>

Wend

- Ý nghĩa: Kiểm tra <Điều kiện lặp>. Nếu <Điều kiện lặp>Đúng thì thực

hiện <Khối lệnh>. Nếu <Điều kiện lặp> là Sai thì thốt khỏi vịng lặp.

Dùng với Until Dạng 1:

- Cú pháp:

Do Until <Điều kiện lặp>

<Khối lệnh>

Loop

- Ý nghĩa: Kiểm tra <Điều kiện lặp> trước. Nếu <Điều kiện lặp> là Sai thì thực hiện <Khối lệnh>. Khi nào <Điều kiện>Đúng thì dùng vịng lặp.

Dạng 2:

- Cú pháp: Do

<Khối lệnh>

Loop Until <Điều kiện lặp>

- Ý nghĩa: Thực hiện <Khối lệnh> trước, sau đĩ mới kiểm tra <Điều kiện lặp>. Nếu <Điều kiện lặp> là Sai thì quay về tiếp tục thực hiện lại <Khối lệnh>. Khi nào <Điều kiện lặp> Đúng thì dừng vịng lặp.

Thí dụ: Viết thủ tục hàm tính tổng của N số tự nhiên

Hình 3.27: Tính tổng N số tự nhiên dùng Do While…Loop

Dùng Do…Loop While

Hình 3.28: Tính tổng N số tự nhiên dùng Do…Loop While

Hình 3.30: Tính tổng N số tự nhiên dùng Do…Loop Until

Dùng While …Wend

Hình 3.31: Tính tổng N số tự nhiên dùng While…Wend

Lưu ý:

Trong cấu trúc này muốn thốt ra khỏi vịng lặp cĩ cấu trúc Do mà khơng cần kiểm tra <điều kiện lặp> thì ta cĩ thê dùng lệnh Exit Do.

b) CẤU TRÚC FOR…NEXT

- Cú pháp:

For <Biến đếm> = <Giá trị đầu> To <Giá Trị cuối> Step <Bước nhảy>

<Khối lệnh>

Next <Biến đếm>

- Trong đĩ:

Nếu khơng khai báo Step thì mặc nhiên <Bước nhảy> là 1. - Ý nghĩa:

+ Bước 1: <Biến đếm> được gán giá trị bằng <Giá trịđầu>.

+ Bước 2: Kiểm tra <Biến đếm> cĩ nhỏ hơn hay bằng giá trị cuối hay khơng (trường hợp bước nhảy mang giá trị dương, cịn bước nhảy mang giá trị âm thì kiểm tra ngược lại).

+ Bước 3: Nếu kết quả kiểm tra là Đúng thì thực hiện <Khối lệnh> > Nếu kết quả kiểm tra là Sai thì dừng vịng lặp.

+ Bước 4: Nhảy giá trị của <Biến đếm> lên thêm một <Bước nhảy>. Quay lại Bước 2.

- Thí dụ:

1/ Viết thủ tục con để tính tổng N số tự nhiên dùng vịng lặp For…Next

Hình 3.32: Tính tổng N số tự nhiên dùng For…Next (For tăng)

InputBox(<Câu thơng báo>[, <Tiêu đề>][, <Giá trị mặc định>])

Chức năng:

Hàm sẽ hiển thị một hộp thoại nhập liệu. Giá trị nhập vào hàm qua hộp thoại sẽ được dùng để gán cho biến.

Thí dụ:

Lệnh sau đây:

a = InputBox(“Nhập vào giá trị cho a: “, “Nhap lieu”,9)

sẽ hiển thị hộp thoại sau:

Hình 3.34: Hộp thoại yêu cầu nhập số a

và giá trị nhập qua hộp thoại sẽ được gán cho biến a.

3.4.2. HÀM XUẤT DỮ LIỆU (MSGBOX) Cú pháp: Cú pháp:

MsgBox (<Câu thơng báo>[, <Loại hộp thoại>][, <Tiêu đề>])

Nếu khơng khai báo “Tiêu đề” thì mặc nhiên lấy tiêu đề hộp thoại là Microsoft Access.

Loại hộp thoại = <Số các nút> +< Biểu tượng hộp thoại> +<Nút mặc định>

Số các nút Biểu tượng Nút mặc định

0 vbOKOnly 0 Khơng cĩ 0 vbDefaultButton1

1 vbOKCancel 16 vbCritical 256 vbDefaultButton2

3 vbYesNoCancel 48 vbExclamation

4 vbYesNo 64 vbInformation

5 vbRetryCancel

Với bảng trên khi sử dụng ta cĩ thể sử dụng giá trị số hoặc tên hằng bên cạnh mà VB đã định nghĩa sẵn.

Chức năng:

Xuất hiện hộp thoại thơng báo và nhận kết quả trả về tùy theo người sử dụng bấm vào nút nào trên hộp thơng báo.

Bảng giá trị của nút trả về khi người dùng click chọn. Giá trị Tên hàng Nút click chọn

1 vbOk Ok 2 vbCancel Cancel 3 vbAbort Abort 4 vbRetry Retry 5 vbIgnore Ignore 6 vbYes Yes 7 vbNo No Thí dụ:

MsgBox( "Ban muon tiep tuc khong?", 3 + 32 + 256, "Thong bao")

Hình 3.35: Hộp thoại yêu cầu người dùng xác nhận cĩ muốn tiếp tục khơng.

Hoặc

MsgBox ("Ban muon tiep tuc khong?", vbYesNoCancel + vbQuestion + vbDefaultButton2, "Thong bao")

Chú ý:

• Ta cĩ thể sử dụng Msgbox dưới dạng thủ tục bằng cách khơng sử dụng cặp dấu mĩc trịn để bao các tham số của Msgbox.

• Msgbox được sử dụng ở dạng thủ tục khi muốn xuất hiện một hộp thoại chứa nội dung thơng báo nào đĩ xem xong người sử dụng click chuột vào nút Ok để kết thúc chứ khơng cĩ ý định lấy giá trị của nút mà người dùng click chọn ta sử dụng.

Bài 4. LÀM VIC VI ĐỐI TƯỢNG TRONG ACCESS

4.1. OBJECT VÀ COLLECTION 4.1.1. KHÁI NIỆM VỀ OBJECT 4.1.1. KHÁI NIỆM VỀ OBJECT

a) KHÁI NIỆM

Object cịn gọi là đối tượng cơ sở dữ liệu nĩ bao gồm các thành phần tồn tại bên trong cơ sở dữ liệu như Table, Form, Query, Report, Module, các Control trên Form hoặc Report. Đối tượng trong Access cũng giống như đối tượng cĩ trong thế giới thực như con người, con vật, cái bàn, cái ghế,…Mỗi đối tượng đều cĩ đặc tính riêng và cách cư xử riêng. Thí dụ con người cĩ những đặc tính như tên, tuổi, chiều cao, cân nặng,…Với cùng đối tượng người, ta phân biệt người này với người khác thơng qua đặc tính riêng của họ. Các đối tượng trong Access cũng vậy, mỗi đối tượng cĩ một cái

tên để phân biệt với các đối tượng khác, cĩ nhiều đặc điểm riêng gọi là các thuộc tính, cĩ nhiều hoạt động gọi là các phương thức và cĩ những phản ứng với tác động

lên nĩ gọi là các sự kiện hay biến cố của đối tượng đĩ.

b) THUỘC TÍNH, BIẾN CỐ VÀ PHƯƠNG THỨC CỦA ĐỐI TƯỢNG

- Tập thuộc tính (Properties): Là tập hợp các đặc điểm để hình thành ra đối tượng. Thơng thường, các đối tượng cĩ một vài thuộc tính giống nhau và cĩ một số thuộc tính riêng biệt chỉ cĩ trong một số đối tượng. ví dụ: Form và TextBox đều cĩ thuộc tính Width (chiều rộng), nhưng chỉ ở Form mới cĩ thuộc tính Record Source cịn TextBox chỉ cĩ thuộc tính Control Source. Khi người dùng tạo ra một đối tượng trong Access thì tập hợp các thuộc tính của đối tượng do Access đã định nghĩa sẵn. Mỗi thuộc tính của đối tượng mới tạo ra Access cũng đã gán một giá trị mặc định để khởi tạo ra đối tượng đĩ. Trong quá trình điều khiển đối tượng trong Access người lập trình cĩ thể tham khảo và hoặc thay đổi giá trị tập thuộc tính của đối tượng. Trong VB thuộc tính của đối tượng cĩ biểu tượng là .

- Tập phương thức (Methods): Là tập hợp các hành động mà đối tượng đĩ cĩ

khả năng thực hiện được. ví dụ đối tượng cĩ khả năng di chuyển (Move), làm tươi lại đối tượng (Requery),… Các đối tượng khác nhau sẽ cĩ các phương thức khác nhau. Khi người dùng tạo ra một đối tượng tập hợp phương thức của đối tượng do Access đã định nghĩa sẵn và được người lập trình gọi phương thức của đối tượng thi hành khi cần thiết. Trong VB phương thức cĩ biểu tượng là . - Tập biến cố (Events): Là tập hợp sự kiện xảy ra trên một đối tượng (chủ yếu do

Collection), tập hợp các Control (Controls Collection).

Hình 4.1: Mơ hình đối tượng Cơ sở dữ liệu

a) FORMS COLLECTION

Tập hợp các Form bao gồm các Form hiện hành đang được mở trong tập tin CSDL. Sử dụng tập hợp các Form ta cĩ thể thực hiện các hành động làm thay đổi thuộc tính của Form như tiêu đề, màu sắc,… trên Form đang mở.

Thí dụ: Thay đổi tiêu đề của các Form đang mở bằng cách chèn thêm tên người sử

dụng hiện hành. Application Controls Reports Modules Screen DoCmd Forms Controls Ý nghĩa Đối tượng và tập hợp Đối tượng

Hình 4.2: Đoạn lệnh thay đổi tiêu đề Form

b) REPORTS COLLECTION

Tương tự như tập hợp các Form. Tập hợp các Report bao gồm các Report đang được mở trong tập tin CSDL. Sử dụng tập hợp các Report ta cũng cĩ thể thay đổi thuộc tính của các Report đang mở.

c) MODULES COLLECTION

Tập hợp cá Module đang mở bao gồm các Module chung và các Module của Form hoặc Report.

d) CONTROLS COLLECTION

Tập hợp các Control (điều khiển) cĩ trên Form, SubForm, Report hoặc Section đang mở.

4.2. CÚ PHÁP CHỈ ĐỊNH ĐẾN MỘT OBJECT VÀ CONTROL 4.2.1. CÚ PHÁP CHỈ ĐỊNH ĐẾN MỘT FORM 4.2.1. CÚ PHÁP CHỈ ĐỊNH ĐẾN MỘT FORM

a) CÚ PHÁP

Forms!<Tên Form> b) THÍ DỤ

Muốn chỉ định tới Form F_Hoadon ta viết như sau:

Forms!F_Hoadon

4.2.2. CÚ PHÁP CHỈ ĐỊNH ĐẾN SUBFORM a) CÚ PHÁP a) CÚ PHÁP

Forms!<Tên Main Form>!<Tên vùng nhúng Sub Form>.Form

b) THÍ DỤ

Muốn chỉ định đến SubForm cĩ tên vùng nhúng là CTHoaDon và tên MainForm là F_Hoadon, ta viết như sau:

Forms!F_Hoadon!CTHoaDon.Form

4.2.3. CÚ PHÁP CHỈ ĐỊNH ĐẾN MỘT REPORT a) CÚ PHÁP a) CÚ PHÁP

Reports!<Tên Report> b) THÍ DỤ

Muốn chỉ định đến Report tên R_HoaDon, ta viết như sau:

b) THÍ DỤ

+ Muốn chỉ định tới điều khiển là TextBox SOHD nằm trên Form tên

F_HoaDon, ta viết như sau:

Forms!F_HoaDon!SOHD

+ Muốn chỉ định tới điều khiển là TextBox MASP nằm trên Report tên

R_SanPham, ta viết như sau:

Reports!R_SanPham!MASP

+ Muốn chỉ định tới điều khiển là TextBox MAKH nằm trên SubForm cĩ tên vùng nhúng là HoaDon và tên MainForm là F_KhachHang, ta viết như sau:

Forms!F_Khachhang!HoaDon.Form!MAKH.

Chú ý: Ta cĩ thể sử dụng từ Me để thay thế cho đường dẫn đến form hoặc report chứa module mà ta đang lập trình. Khi đĩ cú pháp chỉ định đến control nằm trên form hoặc report đĩ sẽ là: Me.<tên control>

Ví dụ: Giả sử ta đang lập trình trên module của form F_Hoadon thì: • Me sẽ thay thế cho đường dẫn Forms!F_Hoadon

• Me.SoHD thay thế cho đường dẫn Forms!F_Hoadon!SoHD

4.2.5. CÁCH THAY ĐỔI THUỘC TÍNH CỦA ĐỐI TƯỢNG.

Để tham khảo hoặc thay đổi thuộc tính của đối tượng ta cĩ thể sử dụng một trong hai cách sau:

Cách 1: Áp dụng để thay đổi thuộc tính ngay khi khởi tạo ra đối tượng. • Vào hộp thoại thuộc tính của đối tượng

• Khai báo lại giá trị cho các thuộc tính của đối tượng để làm cho đối tượng phù hợp với bĩi cảnh chương trình.

Cách 2: Thay đổi bằng lệnh. Cách này được áp dụng để thay đổi thuộc tính của đối tượng khi đối tượng đang mở.

Cú pháp:

<Đường dẫn đến đối tượng>.<Tên thuộc tính>=<Giá trị mới>

THÍ DỤ

Muốn làm mờ đối tượng CommandButton (nút lệnh) tên cmdLuu trên Form cĩ tên là F_ChiTietHoaDon, ta viết như sau:

Fomrs!F_ChiTietHoaDon!cmdLuu.Enabled = False

4.2.6. CÁCH GỌI PHƯƠNG THỨC CỦA MỘT OBJECT THI HÀNH

CÚ PHÁP

<Đường dẫn đến đối tượng>.<Tên phương thức> [<Danh sách tham số>]

THÍ DỤ

Muốn tính tốn lại các điều khiển tính tốn trên Form F_CapNhatHangHoa, ta sử dụng phương thức Recalc như sau:

Forms!F_CapNhatHangHoa.Recalc

Để di chuyển một TextBox MANSX trong Form F_DMNSX đến vị trí gĩc trên bên trái là 50,50 và cĩ độ rộng 400, chiều cao 200, ta viết lệnh như sau:

form hoặc report đĩ sẽ là: Me.<tên control>.

Ví dụ: giả sử ta đang lập trình trong module của form F_Hoadon thì:

o Me sẽ thay thế cho đường dẫn Forms!F_Hoadon

o Me.Sohd sẽ thay thế cho đường dẫn Forms!F_Hoadon!Sohd

4.2.7. MƠ TẢ VÀ GÁN BIẾN ĐỐI TƯỢNG a) Ý NGHĨA a) Ý NGHĨA

Biến đối tượng là biến dùng để chỉ định đến một loại đối tượng như cơ sở dữ liệu, bộ mẫu tin (Recordset), Form, Control.

b) CÚ PHÁP KHAI BÁO BIẾN ĐỐI TƯỢNG Dim <Tên biến> As <Kiểu dữ liệu đối tượng>

Set <Tên biến> = <Tên điều khiển>

c) CÚ PHÁP SỬ DỤNG BIẾN ĐỐI TƯỢNG

Sau khi khai báo và gán giá trị khởi tạo cho biến đối tượng, ta sử dụng biến đối tượng bình thường như một đối tượng.

<Tên biến>.<Thuộc tính> hoặc <Tên biến>.<Phương thức>

d) CÚ PHÁP GIẢI PHĨNG BIẾN ĐỐI TƯỢNG

Sau khi đã làm việc xong với một biến đối tượng, ta giải phĩng tài nguyên vùng nhớ hệ thống bằng cách gán từ khĩa Nothing cho biến đối tượng.

Set <Tên biến> = Nothing

e) CÁC THUỘC TÍNH ĐẶC BIỆT CHỈĐỊNH ĐẾN CÁC ĐỐI TƯỢNG

Visual Basic for Applications cung cấp các thuộc tính đặc biệt dùng để chỉ định đến các đối tượng trong mơ hình đối tượng của Access.

Tên thuộc tính Chỉ định

ActiveControl Điều khiển đang nhận sự tập trung trên đối tượng màn hình, Form, Report

RecordsetClone Bộ mẫu tin dữliệu nguồn bên dưới của Form ActiveForm Form đang nhận sự tập trung

ActiveReport Report đang nhận sựtập trung Form Form con chứa trong một Form Report Report con chứa trong một Report

Me Đối tượng Form hoặc báo cáo nơi chứa đoạn mã lệnh hiện tại đang thực hiện

Parent Đối tượng cha của đối tượng hiện tại

4.2.8. CÚ PHÁP LỆNH WITH a) Ý NGHĨA a) Ý NGHĨA

Khi ta khơng muốn lặp đi lặp lại nhiều lần tên biến đối tượng hoặc tên đối tượng trong các câu lệnh thì ta cĩ thể dùng phát biểu With.

b) CÚ PHÁP

With <Đối tượng>

.<Thuộc tính>

.<Phương thức>

End With

c) THÍ DỤ : Đoạn lệnh sau đây

Me.Caption = "Quan ly khach hang" Me.AllowAdditions = False

Me.AllowDeletions = False Me.AllowEdits = True Cĩ thể viết lại theo cấu trúc With là:

With Me

.Caption = "Quan ly khach hang" .AllowAdditions = False

.AllowDeletions = False .AllowEdits = True End With

4.3. MỘT SỐ THUỘC TÍNH, PHƯƠNG THỨC, BIẾN CỐ CỦA MỘT SỐ ĐỐI TƯỢNG THƯỜNG DÙNG

- Visible: Ẩn hoặc hiện form khi mở form ra. Cĩ 2 giá trị là True (hiện) hoặc False (ẩn).

Thí dụ: Muốn ẩn Form hiện hành

Me.Visible = False ‘Ẩn Form hiện hành

- AllowDeletions: Cho (True) hoặc khơng cho (False) xĩa dữ liệu trên Form Thí dụ:

Me.AllowDeletions = False ‘Khơng cho phép xĩa dữ liệu trên Form - AllowAdditions: Cho (True) hoặc khơng cho (False) thêm dữ liệu trên Form

Thí dụ:

Me.Additions = True ‘Cho phép thêm dữ liệu trên Form - AllowEdits: Cho (True) hoặc khơng cho (False) sửa dữ liệu trên Form

Thí dụ:

Me.AllowEdits = False ‘Khơng cho phép sửa dữ liệu trên Form - NavigationButtons: hiện (True) hoặc ẩn (False) thanh chứa các nút di chuyển

mẫu tin của Form

Thí dụ:

Me.NavigationButtons = False ‘Ẩn thanh chứa các nút di chuyển mẫu tin. - BookMark: Di chuyển mẫu tin hiện hành của form đến vị trí cĩ BookMark nào

đĩ. (BookMark là số hiệu đánh dấu của từng mẫu tin trên bộ mẫu tin)

Thí dụ:

Me.BookMark = Rs.BookMark ‘Di chuyển mẫu tin hiện hành của Form đến mẫu tin mà con trỏ mẫu tin Recordset đang trỏ tới (Rs là biến cĩ kiểu Recordset)

- CurrentRecord: Trả về một số cĩ kiểu Long cho biết mẫu tin hiện hành của

Form được chỉ định nào đĩ (Form này đang hiển thị ở chế độ Form View) là mẫu tin thứ mấy. Thuộc tính này read only nên chỉ cho phép người lập trình tham khảo chứ khơng cho phép thay đổi.

- AllowFilters: Cho phép (True) hoặc khơng cho phép (False) lọc các mẫu tin

trên Form. Mặc nhiên là cho phép lọc.

Thí dụ:

Me.AllowFilters = False ‘Khơng cho phép lọc các mẫu tin trên Form - Filter: cho phép xác định điều kiện lọc cho Form hoặc Report. Điều kiện lọc là

Một phần của tài liệu Giáo trình access 2 – trung tâm tin học đh sư phạm kỹ thuật TP HCM (Trang 79)

Tải bản đầy đủ (PDF)

(120 trang)