Lệnh DoCmdDùng để thực hiện các thao tác xử lý trên các đối tượng như: mở, đóng form, mở Report, query, xử lý bản ghi, …... Bạn có thể dùng Macro để thực hiện một số công việc sau:Thêm
Trang 21 Lệnh DoCmd
Dùng để thực hiện các thao tác xử lý trên các đối tượng như: mở, đóng form, mở Report, query,
xử lý bản ghi, …
Trang 31.1 Một số lệnh làm việc với mẫu tin
Trang 4DoCmd.OpenForm [objectName], [ViewMode],
[FilterName], [WhereCondition], [DataMode],
[WindowsMode]
ObjectName – tên form muốn mở;
ViewMode - chế độ mở: acDesign, acNormal
FilterName – tên query lọc dữ liệu
WhereCondition – điều kiên
DataMode - thiết lập chế độ dữ liệu trên form WindowsMode - thiết lập kiểu cửa sổ form là: acDialog, acWindowsNormal
Mặc nhiên là Normal, mục nào không có thì bỏ trống
Ví dụ: Mở From nhập dữ liệu cho phòng “TC” Docmd.Openform “nhap_HSCANBO”, ,
,phong=“TC”
Trang 5DoCmd.OpenReport [objectName], [ViewMode], [FilterName], [WhereCondition], [DataMode], [WindowsMode]
Vidụ 1: Tạo form in report
Select Case chon
Trang 6End Select Option Group 1:
Name: chonin Option Group 2: Name: chon
Trang 8Kỹ thuật xử lý lỗi
Xử lý lỗi là kỹ thuật rất quan trọng trong lập trình Đã lập trình thì khó tránh khỏi lỗi (Errors) Có rất nhiều nguyên nhân gây ra lỗi; các nguyên nhân này có thể được lường trước hoặc không được lường trước Kỹ thuật xử lý lỗi bao gồm các kỹ năng phát hiện và xử lý
các tình huống khi chương trình gây lỗi
Trang 9On Error Resume Next
Khi đó từ chỗ đó trở đi, nếu chương trình gặp lỗi, nó sẽ bỏ qua
(ignore) hoàn toàn
End Sub
Trang 11Private Sub truoc_Click()
On Error GoTo Err_truoc_Click
Trang 12Private Sub luumoi_Click()
On Error GoTo Err_luumoi_Click
Trang 13Ví dụ: Tạo Form nhập dữ liệu cho Bảng
Neither
Trang 14CHƯƠNG 7 MACRO
Trang 15Định nghĩa: macro là tập hợp một hay nhiều hành động, mỗi hành động dùng để thực hiện một công việc nào đó Những hành động này đã được cài đặt sẵn trong ACCESS Bạn có thể dùng Macro để thực hiện một số công việc sau:
Thêm trên Form một nút lệnh để mở một form khác , mở một report, các công việc với mẫu tin (thêm, xoá, lưu, di chuyển con trỏ mẫu tin, …) và các công việc khác.
Tìm kiếm và lọc những thông tin một cách tự động và nhanh chóng.
Cài đặt các thuộc tính cho Form, report, đối tượng điều khiển, đặt một giá trị của đối tượng vào bảng dữ liệu.
Tự động hoá nhập/ xuất dữ liệu giữa các dạng thức khác nhau Chẳng hạn, xuất dữ liệu ra bảng tính Excel.
Bạn có thể tạo macro để thiết kế menu gắn trên form.
Trang 162 Các bước tạo MACRO
Bước 1: Chọn thẻ Macro, chọn nút
New: xuất hiện cửa sổ thiết kế Macro
chọn hành động
cho macro chú thích cho từng hành động
Trang 17Ví dụ: tạo Macro đĩng form themmoi và mở form nhap_hscb Gán macro đĩ vào nút lệnh của form themmoi
Close Object Type: Form
Object Name: themmoi Open Form Form name: nhap_hscanbo
Lưu macro vừ tạo với tên đóng mở
Bước 1: Tạo macro
Trang 18Bước 2: Gắn Macro vừa tạo lên
form:
Thuộc tính:
Onclick: mo_dong
Trang 19Ví dụ 2: Tạo một macro chạy report inbảnglương và gắn vào nút lệnh tương ứng trên form: như sau:
Trang 20Action Argument
OpenReport Report name: Indscanbo
View: Print Prevew Condition: phong=Form!Locphong! Cbophongban
Bước 1: Tạo macro tên là macro_in
Bước 2: gắn macro trên form locphong
Nút lệnh: in bảng lương:
Xác định thuộc tính On click: macro_in
Trang 214 Macro có điều kiện:
Khái niệm: là các Macro có chứa các điều kiện để kiểm tra trước khi cho thực hiện từng hành động Nếu điều kiện đúng sẽ thực hiện, ngược lại không thực hiện
Chèn thêm cột Condition: trên cửa sổ thiết
kế Macro chọn menu View, chọn Condition hoặc chọn biểu tượng Condition trên thanh công cụ Macro Đặt điều kiện thi hành cho từng hành động.
Trang 22Ví dụ 2: Tạo macro lọc dữ liệu như sau:
Trang 23 Bước 1: tạo Macro có tên Macro_gt
Chongt=1 Apply Filter Filter name: Query_GT
Condition: gioitinh=false
Chongt=2 Apply Filter Filter name: Query_GT
Condition: gioitinh=true Chongt=3 ShowAllRecord
Trang 24Bước 2: tạo form, có các thuộc tinh sau:
Trang 25Ví dụ 2: Tạo Form lựa chọn in như sau:
Trang 26Bước 1: Tạo macro
Chon=1 OpenReport Report name: Indscanbo
View: print Chon=2 OpenReport Report name: Indscanbo
View: Prevew Chon=3 OutPutTo ObjectType: Report
ObjectName:InDSca nbo
Format: Excel OutPut File:
DScanbo
Trang 27Bước 2: Tạo Form In Form:
Trang 283 Nhóm macro:
Khái niệm: nhóm macro là macro trong đó chứa nhiều macro con, thay vì tổ chức thành các macro nằm rời rạc bên ngoài, bạn có thể gom chúng lại với nhau thành tên duy nhất, những macro được gom phải cùng tính chất.
Bước 1: Trên cửa sổ thiết kế Macro; chọn menu View , chọn Macro Name hoặc nhập vào biểu tượng Macro Name trên tahnh công cụ Macro.
Bước 2: Đặt tên macro trong nhóm macro tại cột Macro name
Gọi thi hành một macro trong nhóm, bạn theo quy tắc sau: tên nhóm macro.tên macro cần gọi.
Trang 29Ví dụ: tạo nhĩm macro chứa các macro con: để di chuyển con trỏ mẫu tin đầu, trước, sau, cuối.
Bước 1: Tạo macro
Trên cửa sổ thiết kế macro chon view\ name
Name Action Argument
Dau Runcomma
nd ReccordGotoFirst Cuoi Runcommn
ad RcordGotoLast Truoc Runcommn
ad RcordGotoProvous Sau Runcommn
ad RcordGotoNxet
Bứơc 2: gắn Macro vào form
Trang 30 Ví dụ: tạo hệ thống menu sau:
Trang 31Bước 1: Thiết kế Macro menu_chinh để định nghĩa menu chính của chương trình
Macro Name Action Argument
Addmenu Menu name: & Hệ thống
Menu Macro Name: menu_HT
Addmenu Menu name: & Dữ liệu
Menu Macro Name: menu_DL
Addmenu Menu name: & In ấn
Menu Macro Name: menu_IN
Trang 32Bước 2: Thiết kế menu con (popoup)
Tạo Macro menu_HT
Macro Name Action Argument
& Giới thiệu OpenForm Form name: Gioithieu
& Thoat Quit
Trang 33 Tạo Macro menu_DL
Macro Name Action Argument
& Dữ liệu phòng ban OpenForm Form Name: Nhap_DMPHONG
& Dữ liệu chức vụ OpenForm Form Name: Nhập_DMCHUCVU
& Hồ sơ nhân viên OpenForm Form Name: Nhập_HSNV
Trang 34Tạo Macro menu_IN
Macro Name Action Argument
& Danh sách phòng ban OpenForm Form Name: DSphongban
& Danh sách chức vụ OpenForm Form Name: DScanbo
& Tìm kiếm cán bộ theo tên OpenForm Form Name: Timten
& Lọc danh sách
cán bộ OpenFor m FormName: Loc_phong
Trang 35Bước 3: Gắn Macro menu trên vào Form
Đặt tên form này là Form_MENU
Thiết lập một số thuộc tính cho form như sau: Menu Bar menu_chinh (tên Macro)
Navigation Button No
Trang 365 Một số macro thường dùng
Addmenu Liên kết menu con vào thanh menu ch ính
Apply Filter Lọc dữ liệu trên Form
Beep Phát ra một tiếng kêu
Cancel Huỷ bỏ một biện cố đang thực hiện
Close Đóng đối tượng đang mở
FindNext Tìm một mẫu tin tiếp theo thỏa mãn điều kiện dò
tìm trong hành động FindRecord trước đó FindRecord Tìm kiếm mẫu tin thoả mãn điều kiện
GotoControl Cho phép di chuyển con nháy đến một điều khiển GotoRecord Di chuyển tương đối con tr ỏ trên Form, Query Hourblass Cho phép chuyển đổi biểu tượng của chuột
Trang 37Action Ý nghĩa
Max/ Min Phóng to thu nhỏ cửa sổ hiện hành
MsgBox Xuất hiện hộp thoại thông báo ra màn hình OpenForm Mở một Form
StopMacro Dừng lại Macro đang thực hiện
Trang 384 Lệnh DoCmd
Dùng để thực hiện các thao tác xử lý trên các đối tượng như: mở, đóng form, mở Report, query,
xử lý bản ghi, …
Trang 39UPDATE <Table name>
Private Sub cmdtinh_Click()
DoCmd.RunSQL "update hscanbo set luong=hsl*540000 where macb=txtmacb"
Form.Refresh
End Sub
DoCmd.RunSQL “lệnh SQL”
Trang 40DELETE FROM <Table name>
Trang 41DoCmd.OpenReport [objectName], [ViewMode], [FilterName], [WhereCondition], [DataMode], [WindowsMode]
Vidụ: Tạo form in report
Select Case chon
Trang 42Private Sub Command8_Click()
ten = IIf(chonl = 1, "dscanbo", IIf(chonl
Trang 43được lường trước Kỹ thuật xử lý lỗi bao gồm các
kỹ năng phát hiện và xử lý các tình huống khi
chương trình gây lỗi Hộp thông báo lỗi
Trang 44 Sử dụng lệnh On Error Resume Next Khi đó từ chỗ đó trở đi, nếu chương trình gặp lỗi, nó sẽ bỏ qua (ignore)
Trang 45Chương 6
LẬP TRÌNH VỚI CƠ
SỞ DỮ LIỆU
Trang 46Kỹ thuật DAODAO: Data Access Object là tập hợp (thư viện)
bao gồm các lớp đối tượng dùng để xử lý dữ liệu trong CSDL
Cách thức làm việc
Ứng dụng Các kết nối dữ liệu
Cơ sở dữ liệu
Trang 47Lớp đối tượng DAO
Định nghĩa tập hợp các CSDL Access cần làm việc trên
một dự án Định nghĩa tập hợp các Query cần làm việc trên
một dự án
Định nghĩa tập hợp các mẫu tin cần làm
việc
Định nghĩa tập hợp các bảng cần làm
việc
Trang 48Đối tượng Database
Trang 49Đối tượng RecordSet
Định nghĩa:
Dim rs As RecordSet
Set rs=db.openRecorSet(“tên bảng”)
Hoặc
Set rs=db.openRecorSet(“tên query”)
Set rs=db.openRecorSet(“câu lệnh SELECT”)
Trang 50Một số thuộc tính, phương thức của RsThuộc tính
NameNội dung của rs
AbsolutePostion Vị trí của mẫu tin hiện tại
RecordCount Tổng số mẫu tin
EOF/BOF Con trỏ ở vị trí EOF/BOF không
Phương thức
Close đóng rs giải phóng bộ nhớ
MoveFirts d/c con trỏ đến bản ghi đầu tiên
MoveLast d/c con trỏ đến bản ghi đầu tiên
MoveNext d/c con trỏ đến bản ghi đầu tiên
MovePrevous d/c con trỏ đến bản ghi đầu tiên
Trang 51AddNew Thêm mới một mẫu tin vào rs
Update Đưa dữ liệu mẫu tin hiện hành
từ rs vào bảng Edit sửa dữ liệu một mẫu tin ở rs
Delete Xoá mẫu tin hiện hành ra khỏi rs
Trang 52Ví dụ: tạo các bộ nút điều khiển đầu, trước, sau,
cuối bằng kỹ thuật DAO.Sub Cmdcuoi_Click()
cmdsau.Enabled = True Cmdcuoi.Enabled = True cmdsau.SetFocus
Cmddau.Enabled = False cmdtruoc.Enabled = False Form.Bookmark =
rs.Bookmark End Sub
Trang 53Form.RecordsetClone rs.MoveNext
Cmddau.Enabled = True cmdtruoc.Enabled = True
If rs.EOF Then cmdtruoc.SetFocus rs.MovePrevious
cmdsau.Enabled = False Cmdcuoi.Enabled = False Else
Form.Bookmark = rs.Bookmark
End If End Sub
Trang 54Ví dụ 2: Tạo bộ nút cập nhật dữ liệu Thêm, lưu, k
lưu, thoát. Private Sub cmdluu_Click()
Dim db As DAO.Database
Dm rs As DAO.Recordset Set db = CurrentDb
Set rs = db.OpenRecordset("hscanb o")
rs.AddNew rs!MaCB = txtMaCB rs!Hoten = txtHoten rs!phong = cbophong rs!chucvu = cbochucvu
… rs.Update Cmdthem.Enabled = True Cmdthem.SetFocus
Cmdluu.Enabled = False End Sub
Trang 55Ví dụ 2: Tạo Form thống kê giới tính theo mẫu
Private Sub gt_Click()