I. Tham biến và tham trị
II. Đệ qui
III. Thi hành Macro trong VB
IV. Kích hoạt các ứng dụng khác
V. Gỡ rối mã VB
I. Tham biến và tham trị
Truyền theo tham trị(ByVal): các tham số không thay đổi giá trị
- Truyền theo tham biến: giá trị các tham số thay đổi nếu thủ tục gọi có câu lệnh là thay đổi giá trị của chúng
Ví dụ truyền theo tham trị và tham biến
Sub Thamso(ByVal a As Integer, b As Integer)
a = a + 1
b = a
End Sub
‘----------------------
Sub goi()
Dim a As Integer : Dim b As Integer
a = 5: b = 7
Call Thamso(a, b)
Debug.Print "a=", a
Debug.Print "b=", b
End Sub
II. Đệ qui
Trong thủ tục có lời gọi đến chính thủ tục đó
Ví dụ thủ tục đệ qui
Function Dequi(a As Byte, n As Byte)
If n = 0 Then
Dequi = 1
Else
Dequi = Dequi(a, n - 1) * a
End If
End Function
III. Thi hành Macro trong VB
Cú pháp: Docmd.Tên_phương_thức [các tham số]
Các phương thức của Docmd có tên và chức năng giống như các thao tác (Action) trong Macro
Sub Vedau_Click()
Docmd.GotoRecord , , ac First
EndSub
Thiết kế Form đăng nhập hệ thống, yêu cầu người sử dụng phải nhập vào mật khẩu khi muốn sử dụng CSDL
Dim dem As Byte
‘-----------------
Private Sub Dongy_Click()
If matkhau = "TTTH" Then
DoCmd.OpenForm "Giaodien"
DoCmd.Maximize
ElseIf dem < 3 Then
MsgBox "Ban nhap sai roi!"
dem = dem + 1 : matkhau = ""
matkhau.SetFocus
Else
MsgBox "Ban da nhap 3 lan"
DoCmd.Quit acQuitPrompt
End If
End Sub
Private Sub Form_Load()
dem = 1
End Sub
IV. Kích hoạt các ứng dụng khác
1. Hàm Shell: thực hiện một tập tin chương trình
Cú pháp:
SHELL (đường dẫn đến tập tin chương trình [,kiểu của sổ])
2. Lệnh AppActivate: kích hoạt ứng dụng thành ứng dụng hiện hành
Cú pháp: APPACTIVATE tên ứng dụng
3. Hàm Sendkey: gửi các phím bấm đến một ứng dụng
Cú pháp: SENDKEY chuỗi các phím [,True/False]
V. Gỡ rối mã VB
Các loại lỗi có thể gặp:
Lỗi biên dịch:
Nguyên nhân: lệnh sai cấu trúc
Hạn chế: chọn “Auto Syntax Check”
Lỗi trong lúc thi hành:
Nguyên nhân: do cố gắng thực hiện một hành động không thể thực hiện được.
Xử lý: dùng phát biểu ON ERROR để đặt bẫy lỗi
Lỗi logic của chương trình: kết quả sai
Nguyên nhân: sai giải thuật
Phát hiện: Chạy từng bước để kiểm tra (Menu Debug -> Step Into)
Ví dụ dùng phát biểu On Error để đặt bẫy lỗi
Sub Vedau_Click()
On error goto err_VD
Docmd.GotoRecord , , ac First
err_VD:
Exit Sub
EndSub
0 nhận xét:
Đăng nhận xét