Chương 4: Làm Việc Với Báo Cáo
2. Tạo report bằng Wizard
69
3.Tạo report bằng Design -Cách tạo
−Chọn Table/Query làm dữ liệu nguồn cho report.
− Chọn tab Create trên thanh Ribbon, trong nhóm lệnh Reports, click nút Report Design.
− Xuất hiện của sổ thiết kế report và field list chứa các lệnh trong dữ liệu nguồn của report.
-Lần lượt drag chuột kéo các field trongn filed list hoặc các control trong nhóm lệnh Control trên thanh Ribbon thả vào report.
*-XUẤT DỮ LIỆU:
Thông thường trong báo cáo sau khi chúng ta thiết kế bằng công cụ trình thông minh, sau đó trở lại màn hình thiết kế để chỉnh sửa lại.
+ Đánh số thứ tự trong báo cáo:
-Tạo một TextBox trong vùng Detail.
-Nhập =1 vào Textbox hoặc vào thuộc tính Control Source.
-Vào thuộc tính Running Sum của Textbox này, chọn:
-Over Group: đánh số thứ tự theo từng nhóm.
-Over All: đánh số thứ tự cho toàn bộ. + Đánh số trang cho báo cáo:
Số trang của Report được quy định trong 2 biến: [Pages] (tổng số trang) và [Page] (số trang hiện hành).
-Tạo một TextBox trong vùng Page Footer.
-Nhập ="Trang " & [Page] & "/" & [Pages] vào Textbox hoặc vào thuộc tính Control Source. Kết quả in ra là: Trang 2/4
Ngoài ra ta có thể tạo nhanh việc đánh số trang bằng cách chọn Insert Page Number
+ Phân trang cho từng nhóm trong báo cáo:
Trường hộp trong báo cáo muốn in mỗi nhóm trên một trang, chúng ta cần phải phân trang cho từng nhóm bằng cách:
- Mở bảng thuộc tính của Group Footer (double click vào thành phần này) - Chọn thuộc tính Force New Page là After Section.
70
+ Hiển thị thêm vùng tiêu đề cuối nhóm (Group Footer) : -Chọn View - Sorting and Grouping hoặc click
-Chọn tên nhóm cần hiển thị tiêu đề. Trong vùng Group Properties chọn Group Footer là Yes
+ Tạo thêm các vùng tính toán cuối nhóm : -Tạo một TextBox trong vùng Group Footer.
-Nhập công thức và hàm tính toán vào Textbox hoặc vào thuộc tính Control Source.
Ví dụ: Muốn tính tổng số tiền công của từng tổ: tại vùng TO Footer bạn tạo TextBox và nhập vào công thức =SUM([Tiencong]), hoặc tính tổng số nhân viên
=COUNT([manv])
+ Tạo thêm các vùng tính toán cuối Report :
Tương tự như tạo vùng tính toán cuối nhóm, nhưng bạn tạo trong vùng Report Footer.
4.Thực thi report
- Hiển trên màn hình: có 2 chế độ hiển thị: chế độ thiết kế (Report Design) và chế độ xem trang in (Print Preview).
- In ra máy in
71
Bài Tập
Sử dụng dữ liệu baitap4.accdb 1.Tạo Report dạng Tabular:
2. Tạo Report dạng Columnar :
72
3. Tạo Report gồm th ng tin trên nhiều Table:
4. Tạo Reportsau, che các dữ liệu trùng lắp:
73
5. Tạo Report có đánh số thứ tự, cột tính toán nhƣ sau :
6. Tạo Report sau: có STT, phân nhóm và tính toán cuối nhóm và cuối Report:
74
7.Tạo bảnglương tháng 12/1999:
8. Tạo Report hai nhóm, mỗi tổ trên 1 trang:
75
CHƯƠNG 5 : MACRO
Giới thiệu:
Macro là một công cụ mà Microsoft Access cung cấp cho người sử dụng để có các thao tác đơn giản trong lúc xây dựng chương trình ứng dụng mà không cần quan tâm đến ngôn ngữ lập trình Visual Basic, chẳng hạn như mở các biểu mẫu, các báo cáo chỉ đượ định trước, tự động tính thành tiền khi đã nhập số lượng và đơn giá của mặt hàng trên biểu mẫu hóa đơn…
Ngoài ra sử dụng tập lệnh để giúp chúng ta liên kết các đối tượng trong tập tin CSDL Access lại với nhau để giúp cho ứng dụng đượ hoàn hảo hơn Gải sử sao khi đã tạo ra các bảng, biểu mẫu, báo cáo của ứng dụng chúng ta không yêu cầu người sử dụng chương trình khi muốn chạy biểu mẫu thì phải chọn tên biểu mẫu đó và chọn nút Open mà tất cả các chức năng đó phải thể hiện dưới dạng thực đơn hoặc các biểu tượng trên màn hình chung của ứng dụng và khi người sử dụng chọn vào nó thì tất cả các biểu mẫu hoặc báo cáo tương ứng được mở ra.
Với một tập các thao tác cơ bản của Access, chúng ta có thể kết hợp lại để tạo ra các thao tác đơn giản của riêng mình nhằm giải quyết các vấn đề nào đó trong quá trình xây dựng ứng dụng mà không cần đến ngôn ngữ lập trình Visual Basic. Bên trong nội dung tập lệnh sẽ chứa các lệnh riêng của Microsoft Access cung cấp, thứ tự các lệnh thông thường được thực hiện từ trên xuống (tuần tự), tuy nhiên chúng ta có thể kiểm tra một điều kiện nào đó phải đúng trước khi thực hiện thao tác đó.
Mục tiêu:
-Hiểu ứng dụngcủa Macro trong CSDL Access;
-Các thuộc tính và sự kiện thường dùng trong macro;
-Tạo được các macro và áp dụng các macro trên form.
-Thực hiện các thao tác an toàn với máy tính Nội dung chính
1.Khái niệm về macro
Một macro là một tập hợp của một hoặc nhiều hành động thực hiện chính xác theo một trình tự từ trên xuống để phục vụ các yêu cầu thao tác trên các đối tượng trong cơ sở dữ liệu.
Một Macro giúp bạn thực hiện các công việc hàng ngày bằng cách tự động hóa chúng. Thay vì thực hiện bằng tay các công việc lặp đi lặp lại, bạn có thể ghi lại một macro đơn giản cho toàn bộ công việc một lần.
Xây dựng Macro bao gồm các hành động lựa chọn từ một danh sách, và sau đó điền vào các đối số của hành động.
76
Giả sử xây dựng một Form với nút đóng Form bằng cách tạo nút trên Form và xây dựng một Macro để đóng Form sau đó gán Macro cho sự kiện Click của nút.
Cách tạo
- Chọn Tab Create trên thanh Ribbon, trong nhóm lệnh Macro & Code, Click nút Macro.
- Xuất hiện cửa sổ thiết kế Macro với các thành phần:
+ Khung bên trái dùng để chọn các Action trong Macro.
+ Khung bên phải chứa các Action theo nhóm và các đối tượng trong cơ sở dữ liệu đã được gán Macro.
- Chọn Action trong khung Add New Action.
- Ứng với những Action khác nhau thì xuất hiện các ô cho bạn chọn hoặc nhập các Argument tương ứng. Argument như hình.
77
Ví dụ: Khi chọn Action là GotoRecord thì sẽ xuất hiện các Argument như hình.
- Tiếp tục chọn Action tiếp theo bằng cách Click Add new Action.
Thực thi Macro
- Đối với macro không gán cho sự kiện của một đối tượng cụ thể thì chọn tên Macro và Click nút run để thực thi hoặc Double Click vào tên Macro, thường dùng cho các Macro chứacác lệnh Open.
- Đối với Macro mà chỉ có thể thực thi khi tác động vào một đối tượng cụ thể trên Form hoặc Report thì sau khi tạo và lưu Macro thì phải gán Macro cho sự kiện của đối tượng cụ thể. Các thực hiện.
+ Mở Form hoặc Report chứađối tượng cần gán Macro.
+ Click phải trên đối tượng chọn Properties, hoặc chọn đối tượng → Mở Properties Sheet.
+ Chọn Tab Event, chọn sự kiện (Event).
+ Trong danh sách xổ xuống chọn tên Macro.
78
-Hiệu chỉnh Macro
+ Thay đổi Action Arguments - Click chọn một Action.
- Xuất hiện các Textbox cho phép nhập hoặc hiệu chỉnh Argument của Action.
- Lưu lại kết quả sau khi thay đổi.
Sắp xếp các Actions
- Click vào bất kỳ phần nào của Action, ngoại trừ bên trong các Textbox.
- Drag chuột kéo Action đến vị trí mới.
- Hoặc Click vào nó, và sau đó sử dụng lên và xuống các phím mũi tên trên bàn phím hoặc mũi tên màu xanh trong cửa sổ thiết kế.
-Thêm một Action mới Bên dưới của mỗi Macro luôn có một ô Add New Action chờđể bạn lựachọn một Action. Tuy nhiên, có một cách khác để tìm thấy những Action là dựa vào khung Action Categories, bằng cách Double Click vào Action mà bạn muốn thêm vào Macro.
79
Xóa một Action
- Chọn Action cần xóa.
- Click nút Delete bên phải hoặc nhấn phím Delete Các hàm thường dùng trong biểu thức điều kiện + Hàm MsgBox (“Message”, “Type”, “Title”)
Hàm có tác dụng cho xuất hiện hộp thông báo, trên hộp thông báo có các nút Yes, No, OK, …để cho người dùng chọn lựa. Giá trị trả về của hàm chính là sự chọn lựa Click vào nút lệnh nào trên hộp thông báo
Các tham số của hàm
- Message: Nội dung của chuỗi thông báo.
- Type: giá trị số biểu diễn các nút lệnh và biểu tượng trên hộp thông báo.
- Title: tiêu đề của hộp thông báo.
Giá trị số của các biểu tƣợng và nút lệnh trên hộp th ng báo
Giá trị trả về của hàm là sự chọn lựa nút lệnh trên hộp th ng báo
80
Ví dụ: Khi click nút xóa chương trình sẽ xuất hiện hộp thông báo xác nhận “ Bạn có chắc chắn xóa không?”, nếu người dùng click nút Yes thì xóa, ngược lại thì không xóa. Biểu thức điều kiện có dạng:
MỘT SỐ HÀNH ĐỘNG TRONG MACRO: * Hành động Ý nghĩa – Tham số
AddMenu
- Ý nghĩa: Liên kết các thực đơn nhóm đã có ( đượ tạobằng công cụ nhóm tập lệnh) và thanh thực đơn ngang tạo thành một thanh thực đơn chính.
- Các tham số:
+ Menu Name: Tên chức năng xuất hiện trên thanh thực đơn ngang.
+ Menu Macro Name: Tên tập lệnh làm thực đơn nhóm cho một chức năng trên thanh thực đơn ngang.
+ Status Bar Text: Chuỗi văn bản ghi chú sẽ xuất hiện trên thanh trang thái khi thực đơn được chọn.
ApplyFilter
-Ý nghĩa: Cho phép lọc dữ liệu trên thanh biểu mẫu khi hiển thị trên màn hình.
-Các tham số:
+ Filter Name: Tên của truy vấn dùng lọcdữ liệu.
+ Where Condition: Điều kiện lọc dữ liệu. (giống như điều kiện trong mệnh đề Where của câu lệnh SQL)
Beep -Ý nghĩa: Phát ra tiếng kêu Beep.
CancelEvent -Ý nghĩa: Hủy bỏ một thao tác đang thực hiện.
Close -Ý nghĩa: Đóng Report, Form,…đang mở.
81
-Các tham số:
+ Object Type: kiểu đối tượng + Object Name: Tên đối tượng
+ Save: Có lưu lại các thay đỗi khi đóng đối tượng
DeleteObject
- Ý nghĩa: Xóa một đối tượng trong tập tin CSDL hiện hành.
- Các tham số:
+ Object Type: Kiểu đối tượng + Object Name: Tên đối tượng
Echo
- Ý nghĩa: Hiện/ẩn kết quả thực hiện tập lệnh trên thanh trạng thái
- Các tham số:
+ Echo on: Hiện kết quả
+ Status Bar Text: Chuỗi sẽ được xuất hiện trên thanh trạng thái khi tham số Echo On có giá trị là False.
FindNext - Ý nghĩa: Tìm mẫu tin kế tiếp thỏa một điều kiện dò tìm trong thao tác FindRecord đó.
FindRecord
- Ý nghĩa: Tìm kiếm mẫu tin đầu tiên thỏa điều kiện dò tìm.
- Các tham số:
+ Find What: Giá trị cần tìm kiếm
+ Match Case: Có phân biệt chữ hoa hay thường + Search: Phạm vi dò tìm tùy thuộc vào vị trí mẫu tin hiện hành hoặc đi lên, đi xuống hay tìm tất cả các mẫu tin.
+ Search As Formated: Có phân biệt tìm đúng địnhdạng dữ liệu đã được định dạng khi hiển thị
GoToControl
- Ý nghĩa: Cho phép di chuyển con nháy đến một điều khiển (Control) chỉ định trước trên biểu mẫu
- Tham số: Control Name: Tên điều khiển GoToPage
- Ý nghĩa:Cho phép nhảy đến một trang chỉ định trong biểu mẫucónhiều trang.
- Các tham số:
82
+ Page Nember: Số trang muốn di chuyển đến + Right: Khoảng cách so với lề trên
+ Down: Khoảng cách so với lề trái
GoToRecord
- Ý nghĩa : Di chuyển tương đối mẫu tin hiện hành trên các biểu mẫu, truy vấn.
- Các tham số:
+ Object Type: Kiểu đối tượng + Object Name: Tên đối tượng
+ Record: Vị trí di chuyển là trước, sau, đầu, cuối, mới, tại một mẫu tin số mấy.
+ Offset: Vị trí thứ mấy của mẫu tin trên dãy các nút di chuyển (Navigation Buttons)
HourGlass
- Ý nghĩa: Cho phép thay đỗi biểu tượng của chuột.
- Các tham số:
+ HourGlass On: Bật/tắt việc thay đỗi biểu tượng chuột Maximize
Minimize, Restore
- Ý nghĩa: Phóng to (Maximize), thu nhỏ (Minimize), hoặc trả lại kích thước hiện tại (Restore) của cửa sỗhiện hành.
MsgBox
- Ý nghĩa: Xuất hiện một hội thoại thông báo ra màn hình.
- Các tham số:
+ Message: Nội dung thông báo.
+ Beep: Phát/tắt tiếng beep.
+ Type: Biểu tượng kèm theo hộp hội thoại: ?. !,....
+ Title: Tiêu đề cho hộphội thoại
OpenForm
- Ý nghĩa: Mở một Form.
- Các tham số:
+ Form Name: Tên Form muốn mở
+ View: Hiển thị biểu mẫu ở chế độ nào (in, thiết kế, ...) + Filter Name: Tên truy vấn sẽ làm bộ lọc dữ liệunguồn cho biểu mẫu
+ Where Condition: Biểu thức lọc tựa như điều kiệntrong
83
mệnh đề Where câu lệnh SQL.
+ Data Mode: Chế độ hiển thị dữ liệu: Thêm mới, sửađỗi hoặc chỉ đọc.
+ Windows Mode: Chọn chế độ cửa sỗ cho form.
OpenQuery
- Ý nghĩa: Mở hoặc thực hiện một truy vấn - Các tham số:
+ Query Name: Tên Query muốn mở
+ View: Hiển thị Query ở các chếđộ: Thiết kế, xemtrước khi in, cập nhật dữ liệu.
+ Data Mode: Chếđộ hiển thị dữ liệu: Thêm mới, sửađổi hoặc chỉđọc.
OpenReport
- Ý nghĩa: Mở một báo cáo.
- Các tham số:
+ Report Name: Tên báo cáo
+ View: Hiển thị Report ở các chế độ: In ra máy in, xem trước khi in, màn hình.
+ Filter Name: Tên truy vấn sẽ làm bộ lӑc dữ liệunguồn cho báo cáo.
+ Where Condition: Biểu thức lọc tựa như điều kiệntrong mệnh đề Where câu lệnh SQL.
OpenTable
- Ý nghĩa: Mở một Table.
- Các tham số:
+ Table Name: Tên Table muốn mở
+ View: Hiển thị Table ở các chế độ: Thiết kế, xemtrước khi in, cập nhật dữ liệu.
+ Data Mode: Chế độ hiển thị dữ liệu: Thêm mới, sửađổi hoặc chỉ đọc
PrintOut
- Ý nghĩa: In đối tượng hiện hành ra máy in.
- Các tham số:
+ PrintRange: Phạm vi in.
+ Page From: Trang đầu.
+ Page To: Trang cuối.
+ Print Quality: Chất lượng in cao, trung bình,..
84
+ Copies: Số bản in.
+ Collate Copies: Cách in khi in nhiều bản sao.
Quit
- Ý nghĩa: Thoát khỏi Microsoft Access.
- Các tham số:
+ Options:Các chức năng thoát là: Nhắc nhở lưu lạinhững gì chưa được lưu, lưu lại tất cả mà không cần hỏi, không lưu và thoát
Rename
- Ý nghĩa: Đỗi tên đối tượng.
- Các tham số:
+ New Name: Tên mới
+ Object Type: Kiểu đối tượng + Old Name: Tên đối tượng cũ
ReQuery - Ý nghĩa: Cập nhật lại dữ liệu nguồn của một điềukhiển. - Các tham số: Control Name: Tên điều khiển.
RunApp - Ý nghĩa: Cho thi hành một chương trình trong Windows.
- Tham số: Command Line: Đường dẫn của chương trình.
RunCode
- Ý nghĩa: Cho thực hiện một hàm có trong bộ mã lệnhcủa tập tin CSDL Microsoft Access.
- Tham số: Function Name: Tên hàm
RunCommand
- Ý nghĩa: Cho thực hiện một số các chức năng lệnh tương ứng các chức năng trong thanh thực đơn hệ thốngcủa Microsoft Access.
- Tham số: Command: Lệnh sẽ thực hiện
RunMacro
- Ý nghĩa: Cho thực hiện một tập lệnh - Các tham số:
+ Macro Name: Tên tập lệnh + Repeat Count: Số lần lập lại.
+ Repeat Expression: Biểu thức chỉ định điều kiện tậplệnh tiếp tục thực hiện
Save - Ý nghĩa: Lưu một đối tượng.
- Các tham số:
85
+ Object Type: Kiểu đối tượng + Object Name: Tên đối tượng
SetValue
- Ý nghĩa: Gán giá trị vào các điều khiển, thuộc tính của các điều khiển.
- Các tham số:
+ Item: Tên điều khiển, thuộc tính điều khiển.
+ Expression: Giá trị cần gán vào
ShowAllRecords - Ý nghĩa: Hiển thị lại tất cả các mẫu tin của bảng, truy vấn.
ShowToolbar
- Ý nghĩa: Hiện hoặc ẩn các thanh công cụ.
- Các tham số:
+ Toolbar Name: Tên thanh công cụ + Show: Hiện hoặc ẩn
StopAllMacro - Ý nghĩa: Dừng lại các tập lệnh hiện đang chạy StopMacro - Ý nghĩa: Dừng lại một tập lệnh hiện đang chạy
Để tiện cho việc chọn lại thao tác, bảng sau đây sẽ trình bày một số vấn đề thường gặp và các thao tác đượ sử dụng để giải quyết vấn đề tương ứng:
C ng việc Các thao tác có thể dùng
Thực hiện một lệnh trong thực đơn hệ thống của Microsoft Access
RunCommand Thực hiện một truy vấn, tập lệnh hoặc tập hàm
viết bằng ngôn ngữ Visual Basic
OpenQuery, RunMacro, RunCode
Thực hiện một ứng dụng khác trong Windows. RunApp Ngưng ngang một biến cố, một tập lệnh, thoát
khỏi Microsoft Access.
CancelEvent, StopMacro, StopAllMacros, Quit Gởi một đối tượng của Microsoft Access ra một
ứng dụng khác OutPutTo
Hiển thị các thông báo trên màn hình Echo, HourGlass, MsgBox Cho phép hiện hoặc ẩn các thanh công cụ ShowToolbar