Quản trị cơ sở dữ liệu Access - Đại học Kinh doanh và Công nghệ Hà Nội - 14


 Lưu thủ tục này bằng một tên nào đó giả sử tên D au F orm  Thoát về 1

Lưu thủ tục này bằng một tên nào đó, giả sử tên DauForm

Thoát về CSDL

Chạy thủ tục này bằng cách chọn Forms, kích đúp vào tên DauForm ta thấy một

Form hiện ra.

Tiếp theo bạn kích vào vùng FormHeader, chương trình chạy và kết quả là bảng

SoLuong được mở ra như sau:

Sự kiện Click ở các vùng còn lại thiết kế tương tự Tất nhiên không chỉ có 2

Sự kiện Click ở các vùng còn lại thiết kế tương tự. Tất nhiên không chỉ có sự kiện Click (),

Có thể bạn quan tâm!

Xem toàn bộ 145 trang tài liệu này.

mà có rất nhiều sự kiện, bạn tự tìm hiểu theo cái Logic đó.

8.2.2 Thủ tục đáp ứng sự kiện với Report

Cũng như sự kiện với Form, trên Report cũng có 6 vùng. Giả sử ta mở Report có t ên:

So_LuongReport như hình sau:



Nhìn vào hình trên ta th ấy Phía bên phải có hộp thoại Report hộp thoại này 3

Nhìn vào hình trên ta th ấy: Phía bên phải có hộp thoại Report, hộp thoại này đang được chọn Event và có 7 thủ tục đáp ứng sự kiện. Giả sử ta d ùng sự kiện On Open. Theo các bước xây dựng chương trình như đã nói ở trên, ta có:

Bạn gõ thêm dòng lệnh ở thân thủ tục MsgBox Chao ban an OK de mo Report nay Vì đây 4

Bạn gõ thêm dòng lệnh ở thân thủ tục:

MsgBox(“Chao ban, an OK de mo Report nay”)

Vì đây là Report đã có tên So luongReport nên b ạn chỉ lưu lại Hãy thoát về 5

Vì đây là Report đã có tên (So_luongReport), nên b ạn chỉ lưu lại. Hãy thoát về CSDL và chạy Report này. Kết quả ta nhận được:


8 2 3 Thủ tục đáp ứng sự kiện của các điều khiển khác tr ên Form Trên Form 6

8.2.3 Thủ tục đáp ứng sự kiện của các điều khiển khác tr ên Form

Trên Form ta có thể đặt các đối tượng khác và các đối tượng này cũng có các sự kiện như: Kích, kích đúp, v.v..

Dạng tổng quát của sự kiện của đối t ượng này như sau:

[Private] Sub <Tên đối tượng >_<tên đáp ứng sự kiện >()

<Nhóm lệnh >

End Sub

Ví dụ: Giả sử trên Form ta đặt một nút lệnh có tên là Command0, thì thủ tục đáp ứng sự kiện

có dạng sau:

Private Sub Command0_Click()

<Thân thủ tục >

End Sub

Bạn có thể viết mã cho thân thủ tục tuỳ ý, giả sử ta chỉ thêm một lệnh: MsgBox (“Chao ban”) và ghi l ại tệp này với tên: FormNutLenh như sau:

Thoát về CSDL kích đúp vào FormNutLenh như hình sau Ta có hình mới như sau Nếu 7

Thoát về CSDL, kích đúp vào FormNutLenh như hình sau:


Ta có hình mới như sau Nếu bạn kích vào nút lệnh có tiêu đề Command0 thì thủ 8

Ta có hình mới như sau:

Nếu bạn kích vào nút lệnh có tiêu đề Command0 thì thủ tục sẽ chạy và cho ta 9

Nếu bạn kích vào nút lệnh có tiêu đề Command0 thì thủ tục sẽ chạy và cho ta:

Nếu bạn chọn OK thì chương trình sẽ kết thúc vì trong chương trình ta chỉ 10

Nếu bạn chọn OK thì chương trình sẽ kết thúc, vì trong chương trình ta chỉ mới cài 1 lệnh:

MsgBox(“Chao ban”)


8.3 Tạo và thực hiện thủ tục và hàm

8.3.1 Cách tạo thủ tục và hàm.

a.Taọ thủ tục, hàm trong Module Tab.

Bước 1: Từ cửa sổ Database chọn Tab Module chọn New, sau đó cửa sổ soạn thảo xuất

hiện như sau:

Bước 2 Khai báo và tạo lập thủ tục hoặc hàm Bước 3 Ghi Module Ví dụ Vào 11

Bước 2: Khai báo và tạo lập thủ tục hoặc hàm

Bước 3: Ghi Module

Ví dụ: Vào tuổi của hai người, tính tuổi trung bình của họ.

Function Tong()

Dim T1 As Interger Dim T2 As Interger Dim TB As Single

T1 = InputBox( “vào tuoi cua nguoi thu nhat?”) T2 = InputBox( “vào tuoi cua nguoi thu hai?”) TB=(T1+T2)/2

MsgBox “Tuoi trung binh la:” & Str(TB)

End Function

Tuổi trung bình có thể không phải nguyên (vì phải chia cho 2), do đó ta phải khai báo l à thực (Single). Số thực trong máy là số có dấu chấm thập phân, ví dụ: 23.45, 12.00, -45.34567, v.v..

b. Tạo thủ tục đáp ứng sự ki ên của các điều khiển trên Form.

Trên Form ta có thể đặt các điều khiển nh ư nút lệnh chẳng hạn, nút lệnh n ày cũng có các sự

kiện. Các bước tiến hành:

Bước 1: Mở Form và bổ sung một đối tượng lên Form, giả sử nút lệnh (Command button)

chẳng hạn.

Bước 2: Mở cửa sổ Code:

Chọn nút lệnh, kích nút Build trên thanh Form Design, sau đó hộp thoại Code Builder hiện ra:


 Chọn Code Builder và chọn OK một thủ tục sự kiện xuất hiện  Soạn thủ 13

Chọn Code Builder và chọn OK, một thủ tục sự kiện xuất hiện:


 Soạn thủ tục hoặc hàm đáp ứng sự kiện  Ghi lại thủ tục đó và 14

Soạn thủ tục hoặc hàm đáp ứng sự kiện.

Ghi lại thủ tục đó và chạy thử

Hoặc:

Chọn nút lệnh

Mở hộp thoại Properties bằng cách chọn View Properties

Chọn thuộc tính On Click trong nhóm Event. Kích chọn nút (Event procedure) ứng

với dòng On Click.

Chọn Code Builder, chọn OK Bước 3: Soạn thủ tục đáp ứng sự kiện. Bước 4: Ghi và chạy thử.

Ví dụ: Tạo nút lệnh có tên Command0, khi ta kích vào nút l ệnh này thì bảng có tên So_Luong

được mở ra. Các bước tiến hành như sau:

Mở một database và tạo bảng có tên So_Luong

Mở cửa sổ Design Form

Tạo nút lệnh (command Button) có ti êu đề là Mở tệp như hình sau:

 Kích nút Build từ hộp thoại Choose Builder chọn Code builder và OK một thủ tục 15

Kích nút Build từ hộp thoại Choose Builder, chọn Code builder OK một thủ tục hiện

ra.

Ta soạn thủ tục đáp ứng sự kiện cho nút lệnh đó:

Private Sub Command0_Click()

DoCmd.Opentable”So_luong”

End Sub

Ghi lại, sau đó chạy chương trình và kích vào nút l ệnh này ta có kết quả là bảng

So_Luong đã được mở như sau:

c Chương trình có nhiều thủ tục Một thủ tục khi chạy có thể yêu cầu gọi 16

c. Chương trình có nhiều thủ tục

Một thủ tục khi chạy có thể yêu cầu (gọi) một hoặc nhiều thủ tục khác l àm việc. Lệnh gọi này được viết lại đúng tên thủ tục bị gọi, ví dụ hai thủ tục sau:

Sub MoBang()

DoCmd.OpenTable”So_luong”

End Sub

Và thủ tục tính tổng:

Sub Tong()

Dim a As Integer, b As Integer, s As Integer a = 12

b = 20

s = a + b

MsgBox ("s=" & Str(s))

End Sub

Để chạy được 2 thủ tục trên, ta có thể tạo một thủ tục khác (giả sử có t ên là GOI(), thủ tục

GOI có dạng sau:

Sub GOI()

MoBang Tong

End Sub

Khi chạy, thủ tục GOI() yêu cầu thủ tục MoBang() làm việc, thủ tục MoBang ()làm việc xong lại quay về thủ tục GOI() v à thực hiện tiếp lệnh sau đó (tức l à lệnh gọi thủ tục Tong). Cứ nh ư thế cho đến khi tất cả các lệnh trong thủ tục GOI() đ ược hoàn tất. Ba thủ tục đó nằm trong một đoạn mã (chương trình) như sau:

Nếu các bạn thay đổi trật tự các thủ tục đó nh ư hình sau Thì có còn đúng 17

Nếu các bạn thay đổi trật tự các thủ tục đó nh ư hình sau:


Thì có còn đúng không Tất nhiên vẫn không sao miễn là thủ tục GOI phải 18

Thì có còn đúng không? Tất nhiên vẫn không sao, miễn là thủ tục GOI() phải được chạy trước thì trật tự mới đúng. Vậy làm thế nào để thủ tục GOI()được chạy trước? để làm được điều đó bạn theo các bước sau:

Chọn Tools, chọn Macros... như hình sau:

Sau đó ta có hộp thoại 19

Sau đó ta có hộp thoại:

Theo các bước sau  Chọn Tools chọn Macros như hình sau Sau đó ta có hộp thoại 20

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 26/01/2024