1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình AccessXP pptx

32 372 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình AccessXP pptx
Trường học Trường Đại học Công Nghệ Thông Tin - Đại học Quốc Gia Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Giáo trình
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 3,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sử dụng ngôn ngữ Access Basic cơ bản để lập trình cho các sự kiện trên đối tượng... • Thẻ Margin: Canh lề giấy left, right, top, bottom.• Thẻ Page: Chọn khổ giấy size, hướng giấy orienta

Trang 1

ACCESS 3

Yêu cầu :

Tự thiết kế được các Report lập nhóm thông dụng.

Sử dụng Macro để liên kết các đối tượng.

Sử dụng ngôn ngữ Access Basic cơ bản để lập trình cho các sự kiện trên đối

tượng.

Trang 2

▬ Nghiên cứu cách thiết kế Report cho phép ta tạo ra các Report theo đúng ý thích vàthẩm mỹ của cá nhân Vì vậy ta cần phải nắm được các nguyên tắc để thiết kế sao chokhi in ấn sẽ đạt được kết quả theo mong muốn.

▬ Các điều khiển sử dụng để thiết kế Report thông dụng nhất là Textbox và Label

▬ Cần chú ý là để thiết kế được Report thì máy tính phải có khai báo một máy in

▬ Có hai chế độ:

• Chế độ thiết kế: Menu View  Design View

• Chế độ xem: Menu View  Print Preview

II- Chuẩn bị

1- Chuẩn bị trang giấy

▬ Menu File  Page Setup  Xuất hiện hộp thoại Page Setup

Trang 3

• Thẻ Margin: Canh lề giấy (left, right, top, bottom).

• Thẻ Page: Chọn khổ giấy (size), hướng giấy (orientation)

• Thẻ Column: Chọn số cột trên trang giấy (number of column)

2- Giới thiệu cửa sổ thiết kế

▬ Report Header|Footer: Nội dung trong các vùng này xuất hiện một lần duy nhất ở đầu

và cuối Report Thường dùng để tạo các tiêu đề cho Report, logo công ty hoặc tạo cácthống kê cho toàn bộ Report

▬ Page Header|Footer: Nội dung trong các vùng này xuất hiện ở đầu và cuối mỗi trangReport Thường dùng để tạo các tiêu đề cột, đánh số trang

▬ Detail: Chứa nội dung của các

cột dữ liệu

Chú ý: Tùy theo nhu cầu thiết kế mà

ta có thể thêm hoặc bớt các vùng

Header|Footer Lệnh: Menu View 

Report Header|Footer (Page Header|

Footer)

3- Một số thuộc tính thường dùng của Report

▬ Caption: Tiêu đề của Report (nằm trên thanh tiêu đề)

▬ Auto Resize: Tự động điều chỉnh kích thước vừa khít với nội dung thiết kế khi xem ởchế độ Print Preview

▬ Auto Center: Tự động canh giữa màn hình Report khi xem ở chế độ Print Preview

▬ Record Source: Nguồn của Report

III- Thiết kế Report

1- Các bước tổng quát

Trang 4

▬ Bước 1: Tạo nguồn cho Report (Có thể tạo nguồn cho Report bằng cách khai báonguồn thông qua thuộc tính Record Source).

▬ Bước 2: Cửa sổ “Database”  Thẻ Report  New  Xuất hiện cửa sổ New Report

▬ Bước 3: Chọn Design View và chọn nguồn cho Report (nếu đã có nguồn) trong mục

“Choose the table or query …”  OK  Xuất hiện cửa sổ thiết kế Report

▬ Bước 4: Sử dụng thanh công cụ để thiết0 kế Report (có thể chọn menu View  FieldList để mở bảng nguồn của Report và kéo thả khi thiết kế)

▬ Bước 5: Kiểm tra kết quả: menu View  Print Preview

▬ Bước 6: Lưu

2- Tạo nguồn cho Report bằng thuộc tính Record Source

▬ Mở bảng thuộc tính của Report

▬ Nhấp vào nút ba chấm của thuộc tính Record Source  Xuất hiện của sổ Design Query

▬ Tạo Query nguồn

▬ Thực hiện một trong hai thao tác:

• Nếu muốn Query nguồn tồn tại trong cửa sổ Database thì chọn lệnh Save để lưu Đóng cửa sổ Design Query  Chọn Yes

• Nếu không muốn Query nguồn tồn tại trong của sổ Database  Đóng cửa sổDesign Query  Chọn Yes (Lưu ý : trong trường hợp này tại thuộc tính RecordSource xuất hiện một chuỗi lệnh được gọi là chuỗi lệnh SQL)

3- Các thuộc tính bổ sung cho Textbox

▬ Hide Duplicates: Ẩn hoặc không ẩn các giá trị trùng trong Field nguồn của Textbox(yes|no)

▬ Running Sum: Tạo dãy số thứ tự cho các Record trong nhóm hoặc cả Report (No,OverGroup, OverAll)

▬ Can Grow: Cho phép hoặc không nội dung trong Textbox tự động xuống hàng khi kíchthước của chiều ngang không đủ lớn

4- Sắp xếp và lập nhóm cho dữ liệu

▬ Đây là một trong những chức năng quan trọng trong Report nhằm tạo cho dữ liệutrong Report có cái nhìn khách quan và chính xác hơn Đồng thời cho phép xuất hiệncác vùng thống kê dữ liệu theo từng nhóm sao cho phù hợp tối đa tới nhiều nhu cầucủa người dùng

▬ Khi thiết kế Report người thiết kế phải quan sát mẫu hoặc phải hình dung Field có dữliệu lập nhóm (thường là Field bên “một”) Sau khi khai báo Field lập nhóm thì trongcửa sổ sẽ xuất hiện thêm các vùng Group Header hoặc Group Footer tùy theo khaibáo

▬ Để tạo Field sắp xếp và lập nhóm ta làm theo các bước sau:

• Bước 1: Menu View  Sorting and

Grouping  Xuất hiện cửa sổ “Sorting

and Grouping”

Trang 5

• Bước 2: Chọn Field sắp xếp và lập nhóm trong cột Field/Expression (Có thể chọnnhiều hàng ứng với nhiều Field để tạo nhiều cấp sắp xếp và lập nhóm).

• Bước 3: Xác lập cách sắp xếp trong cột Sort Order

• Bước 4: (Chỉ thực hiện khi có lập nhóm) Khai báo Group Header và Group Footer đểcho xuất hiện hoặc không các vùng tương ứng trên Report Trong đó:

 Group Header: Thường dùng để chứa Field nhóm và các nhãn cho dữ liệu trongnhóm

 Group Footer: Thường dùng để tạo các Textbox chứa các giá trị thống kê dữ liệucho nhóm

• Bước 5: Ba thuộc tính còn lại: Group On, Group Interval và Keep Together có liênquan đến nội dung của dữ liệu lập nhóm (tham khảo ở phần dưới)

trí  OK  Thay đổi thuộc

tính cho điều khiển Image (Chủ yếu là chọn Stretch cho thuộc tính Size Mode)

5.2- Đánh số trang

▬ Bước 1: Menu Insert  Page Numbers  Xuất hiện hộp

thoại Page Number

▬ Bước 2: Khai báo:

• Page N: Chỉ xuất hiện số trang hiện hành

• Page N of M: Xuất hiện số trang hiện hành trên tổng số

trang

• Top of Page [Header]: Số trang xuất hiện trên vùng Page Header

• Bottom of Page [Footer]: Số trang xuất hiện trên vùng Page Footer

• Alignment: Chọn vị trí canh lề cho số trang (left, center, right)

 Số trang sẽ xuất hiện trong cửa sổ thiết kế dưới dạng một Textbox lập công thức Ví dụnhư: =Page & “/” & Pages

5.3- Lập nhóm theo nội dung dữ liệu

▬ Việc chỉ định phạm vi dữ liệu để lập nhóm có liên quan đế hai thuộc tính Group On vàGroup Interval trong hộp thoại “Sorting and Grouping” Hãy quan sát bảng sau:

Field có dữ liệu kiểu Text

Trang 6

Group on Group interval Ý nghĩa

Each value 1 Nhóm các Record có giá trị bằng nhau

Prefix character n Nhóm các Record có n ký tự bên trái bằng nhau.Field có dữ liệu kiểu Date/Time

Group on Group interval Ý nghĩa

Each value 1 Nhóm các Record có giá trị bằng nhau

Year Khai báo khoảng giá trị Nhóm các Record có giá trị theo năm

Qtr Khai báo khoảng giá trị Nhóm các Record có giá trị theo quý

Field có dữ liệu kiểu Number

Group on Group interval Ý nghĩa

Each value 1 Nhóm các Record có giá trị bằng nhau

Interval Khai báo khoảng giá trị Nhóm các Record theo khoảng giá trị đã khai báo.5.4- Thống kê dữ liệu trên Report

▬ Sử dụng các phương thức thống kê: Sum, Avg, Min, Max, Count, … trong các Textbox

▬ Thống kê dữ liệu cho nhóm thường đặt tại vùng Group Footer

▬ Thống kê dữ liệu cho Report thường đặt tại vùng Report Footer

Ví dụ: Muốn tính tổng thành tiền cho nhóm theo Tenkh, ta tạo một Textbox tại Tenkh Footer

có dạng: =Sum(Thanhtien) Còn nếu muốn tính tổng thành tiền cho toàn bộ Report, ta tạomột Textbox tại vùng Report Footer có dạng: =Sum(Thanhtien)

Ví dụ: Các mẫu Report:

Mẫu Report không lập nhóm:

Trang 7

Mẫu Report lập nhóm theo Tenkh:

Mẫu Report lập nhóm theo Tenkh, Nam, Thang:

Trang 9

▬ Một Macro sau khi tạo sẽ được gán vào một sự kiện trên đối tượng và khi sự kiện xảy

ra thì Macro sẽ thực thi Các sự kiện của đối tượng nằm trong thẻ Event của hộpProperties

Ví dụ: Một Macro được gán vào sự kiện OnClick của một nút lệnh thì khi nhấp mouse vào nútlệnh thì Macro sẽ thi hành

▬ Các công việc có thể sử dụng Macro:

• Liên kết công việc giữa Form và Report

• Tìm kiếm hoặc lọc ra những thông tin cần tham khảo một cách tự động

• Cài đặt các thuộc tính cho Form, Report hoặc các điều khiển Cũng như cài đặt mộtgiá trị của điều khiển trong Form vào kết quả của phép tính toán hoặc vào giá trịcủa một bảng dữ liệu khác

• Tự động hóa việc nhập|xuất dữ liệu vào các Table

• Tạo ra một môi trường làm việc theo ý riêng Chẳng hạn như điều chỉnh thanh thựcđơn cho Form, nhóm các Query…

II- Tạo Macro

1- Tạo Macro thông qua sự kiện

▬ Mở hộp Properties của đối tượng  Chọn sự kiện  Nhấp vào nút ba chấm

▬ Chọn Macro Builder

▬ Đặt tên cho Macro  Xuất hiện cửa sổ Design Macro

Trang 10

▬ Các thành phần của cửa sổ Design:

• Macro Name: Lệnh mở|đóng: Menu View  Macro Name Được sử dụng trong việctạo ra nhóm Macro

• Condition: Lệnh mở|đóng: Menu View  Condition Được sử dụng cho các Macro cóđiều kiện

• Action: Thành phần cố định Chứa các hành động cho Macro

• Comment: Nơi diễn giải nội dung cho hành động

• Action Argument: Các tham số cho hành động

▬ Thực thi sự kiện trên đối tượng để chạy Macro

2- Tạo Macro và gán vào sự kiện trên đối tượng

▬ Cửa sổ “Database”  Thẻ Macro  New  Xuất hiện cửa sổ Design Macro như trên

▬ Khai báo các hàng động trong Macro

Thiết kế:

▬ Tạo một Macro gán vào sự kiện OnClick của nút “Tìm” với hành động OpenForm để

mở Form “Thông tin khách hàng” theo điều kiện nhận được từ Textbox của Form “Tìmkhách hàng”

OpenForm Form Name: “ F_Thongtinkhachhang

View: FormWhere Conditon: Tenkh=Forms!F_Timkhachhang!txtTenkh4- Các sự kiện và biến cố thường dùng

4.1- Các sự kiện trên đối tượng

Trang 11

BeforeUpdate Xảy ra trước khi dữ liệu mới ghi vào thuộc tính Value của đối tượng.AfterUpdate Xảy ra sau khi dữ liệu mới ghi vào thuộc tính Value của đối tượng.OnClick Xảy ra khi nhấp mouse trên đối tượng.

OnDblClick Xảy ra khi nhấp kép mouse trên đối tượng

OnOpen Xảy ra khi đối tượng được mở

OnEnter Xảy ra trước khi đối tượng nhận focus

OnGotFocus Xảy ra khi đối tượng nhận focus

OnExit Xảy ra trước khi đối tượng mất focus

OnLostFocus Xảy ra sau khi đối tượng đã mất focus

4.2- Các hành động thường dùng

ApplyFilter Cho phép sàng lọc dữ liệu

hiển thị khi xử lý dữ liệu Filter Name: Tên của Query dùng để trích lọcdữ liệu nguồn đang xử lý

Where Condition: Điều kiện sàng lọc dữ liệu.Beep Phát ra tiếng “bíp” (không có đối số)

Close Đóng một đối tượng Object Type: Loại đối tượng muốn đóng Nếu

để trống thì hiểu là đối tượng hiện hành

Object Name: Tên của đối tượng muốn đóng.Save : Có lưu lại khi đóng đối tượng không.GotoControl Chuyển focus giữa các điều

khiển trên Form Control Name: Tên của đối tượng chuyển tới.GotoRecord Cho phép di chuyển con trỏ

Record trong Table|Queryhoặc Form

Object Type: Kiểu đối tượng trong Table|Queryhoặc Form

Object Name: Tên của đối tượng

Record: Vị trí di chuyển là: trước, sau, đầu,cuối, thêm mới

MsgBox Hiển thị một hộp thông báo

đến người dùng Message: Nội dung của thông báo cần hiển thị.Beep: Có phát ra tiềng "bíp" hay không

Type: Loại hộp thông báo

Title: Tiêu đề của hộp thông báo

OpenForm Mở một Form Form Name: Tên Form cần mở

View: Dạng trình bày Form

Filter Name: Tên của Query dùng để sàng lọc

dữ liệu hiển thị trong Form

Where Condition: Điều kiện dùng để sàng lọc

dữ liệu hiển thị trong Form

OpenReport Mở một Report Report Name: Tên Report cần in

View: Chế độ mở

Filter Name: Tên của Query dùng để sàng lọc

dữ liệu trong Report

Where Condition: Điều kiện sàng lọc dữ liệuhiển thị trong Report

Quit Thoát khỏi Access Options: Lưu đối tượng hay không ? (Prompt,

SaveAll, Exit)

RunCommand Thực hiện một lệnh trên

menu của Access Command: Lệnh trên menu.

ShowAllRecords Hiển thị tất cả các Record

trong Table|Query|Form (không có đối số)SetValue Gán giá trị cho một Field,

điều khiển hoặc thuộc tính Item: Tên của Field, điều khiển hoặc thuộc tínhcủa điều khiển muốn gán giá trị

Expression: Biểu thức cần gán giá trị

Trang 12

StopMacro Ngừng thi hành Macro (không có đối số)

II- Macro đặc biệt

1- Macro có điều kiện

▬ Khi muốn các hành động trong Macro thi hành phụ thuộc vào một điều kiện nào đó tathiết kế Macro có điều kiện bằng cách mở thêm cột Condition trong cửa sổ thiết kế

▬ Các biểu thức điều nhập trên hàng có hành động cần thực hiện Nếu hành động cócùng điều kiện thì nhập thay thế bằng dấu ba chấm

Ví dụ: Xét mẫu Form sau đây:

Yêu cầu:

▬ Khi chọn tùy chọn “Tất cả thành phố” thì Combobox mờ đi

Ngược lại, khi chọn tùy chọn “Chọn thành phố” thì Combobox sẽ

sáng lên để cho phép chọn tên một thành phố trong nó

Thiết kế một Macro gán vào thuộc tính AfterUpdate của Option Group:

fraChon=1 SetValue Item: cobTp.Enabled

Expression: NofraChon=2 SetValue Item: cobTp.Enabled

Expression: Yes2- Macro nhóm

▬ Trong một Form có thể có nhiều Macro, do đó sẽ phát sinh rất nhiều Macro tại cửaDatabase Việc này gây khó khăn trong việc quản lý các Macro đối với người thiết kế

▬ Để tập hợp các Macro trong một Form lại và lưu chung trong một Macro, ta gọi làMacro Group Để tạo một Macro Group ta mở thêm cột Macro Name trong cửa Design

▬ Trong cột Macro Name, ta ghi tên Macro con trong nhóm ở hàng chứa hành động đầutiên

Ví dụ:

Trang 13

Themmoi GotoRecord

3- Macro AutoExec

▬ Đây là loại Macro được lưu với tên Autoexec, nó sẽ tự động chạy khi file mdb được mở

ra Ta có thể sử dụng Macro với các hành động để khởi tạo môi trường làm việc choứng dụng Ví dụ như mở các Form giới thiệu chương trình, tắt các thanh công cụ, …

▬ Nếu không muốn chạy Macro Autoexec thì khi mở mdb ta giữ thêm phím Shift

▬ Ví dụ: Tạo macro AutoExec như sau:

Maximize

OpenForm FormName:”GiaoDienChuongTrinh”

SetValue Item: [Application].[MenuBar]

Expression: " CHUONG TRINH QUAN LY NHAN SU"

Trang 14

BÀI 3

THỦ TỤC XỬ LÝ SỰ KIỆN

I- Tổng quan

▬ Ngoài việc sử dụng Macro để xử lý các sự kiện trên các đối tượng Form|Report|Control

ta có thể viết các mã lệnh để thay thế Các mã lệnh này khi tạo ra sẽ nằm bên trongmột thủ tục và ta gọi là thủ tục xử lý sự kiện (Event Procedure)

▬ Các thủ tục này được lưu theo đối tượng và cũng như Macro có thể có nhiều thủ tụctrên Form|Report tạo nên một đơn thể lớp (Class Module) của Form|Report đó

▬ Một thủ tục xử lý sự kiện có thể được tạo khi tạo các nút lệnh bằng Wizard Ngoài racác thủ tục xử lý sự kiện cho đa số các đối tượng khác thường phải viết bằng tay.II- Giới thiệu thủ tục xử lý sự kiện

1- Thủ tục Wizard

▬ Khi thực hiện nút lệnh “Đóng” của một Form bằng Wizard thì trên sự kiện OnClick củanút lệnh xuất hiện dòng “Event Procedure” Nhấp mouse vào nút ba chấm sẽ xuất hiệncửa sổ sau:

Trang 15

▬ Như vậy ta có thể tự viết ra các dòng lệnh hoặc sửa đổi các thủ tục Wizard như trên

để xử lý các sự kiện theo đúng như cầu của riêng mình

2- Tạo thủ tục xử lý sự kiện

▬ Chọn sự kiện của đối tượng

▬ Nhấp vào nút ba chấm  Chọn Code Builder  OK

▬ Xuất hiện 2 dòng thủ tục sự kiện chuẩn

▬ Viết các lệnh trong thân thủ tục để hoàn thành thủ tục

▬ Đóng cửa sổ code

▬ Thực thi sự kiện

Ví dụ: Mẫu Form sau đây:

▬ Mở thủ tục AfterUpdate của Option Group

▬ Nhấp nút ba chấm  Chọn Code Builder

▬ Thủ tục được viết như sau:

Private fraChon_AfterUpdate()

If fraChon = 1 Then cobTp.Enabled = False Else

cobTp.Enabled = True End If

End Sub

III- Các qui tắc khi viết lệnh

1- Viết lệnh

▬ Một câu lệnh đơn chỉ viết trên một dòng

▬ Để viết nhiều câu lệnh trên một dòng ta dùng dấu hai chấm (:) để ngăn cách

▬ Để viết một lệnh trên nhiều dòng ta dùng dấu gạch dưới (_) ở vị trí ngắt

▬ Dòng chú thích được bắt đầu bằng dấu nháy đơn (‘)

2- Lệnh gán

▬ Để thay đổi giá trị của thuộc tính đối tượng ta sử dụng lệnh gán theo cú pháp sau:

<Đối tượng>.<Thuộc tính> = <Giá trị>

Trang 16

Yêu cầu:

▬ Khi nhấp nút “Hiển thị” thì trong Textbox

sẽ hiện lời chào “Chào mừng các học viên

…” (theo mẫu) có màu đỏ, được canh giữa

và được khóa lại

▬ Khi nhấp nút “Xóa” thì Textbox sẽ bị xóa

vbCrLf & "Tinh Dong Nai"

' Thay doi thuoc tinh Me.txtLoichao.ForeColor = 255 Me.txtLoichao.TextAlign = 2 Me.txtLoichao.Locked = True End Sub

Private Sub cmdThoat_Click() DoCmd.Close , , acSaveYes End Sub

Private Sub cmdXoa_Click() Me.txtLoichao.Value = Null End Sub

3- Thực hiện hành động trong thủ tục

▬ Access cung cấp đối tượng DoCmd chứa các phương thức có tên và đối số tùy chọngiống như các hành động trong Macro Vì vậy, ta có thể sử dụng đối tượng này khimuốn thực hiện các hành động

▬ Cú pháp tổng quát:

DoCmd.<hành động> [các đối số]

Trong đó:

▬ <hành động> sẽ được chọn trong danh sách xuất hiện sau khi ta nhập dấu chấm

▬ [các đối số] ngăn cách bằng dấu phẩy và có thể sử dụng đối số mặc nhiên bằng cáchđánh dấu phẩy và rồi để trống Các đối số này sẽ xuất hiện khi ta đánh dấu phẩy Cácđối số là hằng chuẩn thường các ký tự đầu là ac…, vb…, … Còn các đối số không phải

là hằng đều phải đặt trong cặp dấu nháy kép

Ngày đăng: 04/07/2014, 22:21

TỪ KHÓA LIÊN QUAN

w