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ó sự kiện Click (),
Có thể bạn quan tâm!
- Thiết Kế Một Báo Biểu Bằng Design View
- Tự Động Hoá Ứng Dụng Bằng Macro
- Tổ Chức Và Hoạt Động Của Chương Trình Trong Access
- Các Phép Toán, Hàm, Bi Ến, Biểu Thức.
- Quản trị cơ sở dữ liệu Access - Đại học Kinh doanh và Công nghệ Hà Nội - 16
- Quản trị cơ sở dữ liệu Access - Đại học Kinh doanh và Công nghệ Hà Nội - 17
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 đ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 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 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 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ỉ 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 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ủ 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 và 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 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) 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 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: