24/05/2018, 23:01

Báo biểu

Các vấn đề thường gặp khi xây dựng báo biểu Khi tạo báo biểu ta thường phải giải quyết các vấn đề sau: Xây dựng đầu biểu (thường đặt ở đầu trang) . Xây dựng thân biểu (ở thân báo biểu) và chỉnh lý ...

Các vấn đề thường gặp khi xây dựng báo biểu

Khi tạo báo biểu ta thường phải giải quyết các vấn đề sau:

  1. Xây dựng đầu biểu (thường đặt ở đầu trang) .
  2. Xây dựng thân biểu (ở thân báo biểu) và chỉnh lý để thân biểu khớp với đầu biểu.
  3. Tạo nền mờ cho một đoạn văn bản cần nhấn mạnh.
  4. Chọn Font chữ, cỡ chữ, kiểu in (đậm, nghiêng), căn lề.
  5. Đánh số thứ tự cho báo biểu.
  6. Ngắt trang theo yêu cầu (chuyển sang trang mới).
  7. Đánh số trang

Các công cụ thường sử dụng

  1. Điều khiển Line, Rectangle để vẽ đường thẳng và hình chữ nhật.
  2. Chức năng Duplicate của menu Edit dùng để nhân bản một nhóm điều khiển được chọn.
  3. Các chức năng Align và Size của menu Format để chỉnh lý các ô điều khiển tạo nên đầu biểu và thân biểu.
  4. Sử dụng tổ hợp phím Ctrl + các phím mũi tên để di chuyển cả khối các điều khiển được chọn theo các bước ngắn.
  5. Sử dụng thanh công cụ Formatting (Form/report)để chọn các trình bày cho ô điều khiển.
  6. Để tạo cột số thứ tự, ta làm như sau:
    • Tạo một điều khiển Text box kiểu Unbound. Gán số 1 cho điều khiển bằng cách đặt = 1 vào thuộc tính Control Source hoặc gõ trực tiếp =1 vào ô điều khiển.
    • Đặt thuộc tính Running Sum là:
      1. Over Group nếu muốn đánh số thứ tự cho từng nhóm.
      2. Over All nếu muốn đánh số thứ tự cho toàn báo biểu.
  7. Sử dụng điều khiển Page Break trên hộp công cụ để thực hiện ngắt trang
  8. Để in số trang ta dùng một hộp văn bản kiểu tính toán (trong đó ghi công thức =Page). Hộp này có thể đặt ở đầu trang, hoặc cuối trang.

Các bước xây dựng báo biểu

  1. Từ cửa sổ Database, chọn mục Report, rồi chọn New. Kết quả xuất hiện cửa sổ New Report
  2. Chọn một bảng hoặc truy vấn nguồn trong hộp Choose the table... hoặc không chọn bảng/truy vấn nguồn. Có thể bỏ qua việc chọn bảng/truy vấn nếu không cần sử dụng nguồn dữ liệu hoặc chọn nguồn dữ liệu sau này nhờ dùng thuộc tính Record Source.

    Ở đây, cũng giống như với mẫu biểu, ta thấy có cách tạo báo biểu ứng với 3 lựa chọn: Design View, những lựa chọn tự động (có từ AutoForm) và những lựa chọn dùng công cụ Wizard (những lựa chọn có từ Wizard).

    Nếu chọn dùng công cụ Wizard thì báo biểu được xây dựng bằng công cụ Wizards của Access và ta chỉ việc trả lời các câu hỏi mà Access yêu cầu.

    Nếu chọn Design View thì báo biểu được thiết kế theo ý của người sử dụng bằng cách sử dụng hộp công cụ (Tool Box).

    Nếu lựa chọn tự động thì khuôn dạng của báo biểu sẽ được tạo tự động. Trong trường hợp này ta luôn phải chọn bảng/truy vấn nguồn cho báo biểu.

    Trước hết ta chọn cách thiết báo biểu theo ý của người sử dụng, bằng cách chọn Design View, rồi bấm OK. Kết quả nhận được thiết kế báo biểu

  3. Sử dụng hộp công cụ để tạo các điều khiển trên báo biểu.
  4. Sử dụng các công cụ để thực hiện các yêu cầu khi xây dựng báo biểu như kẻ đầu biểu, thân biểu, chọn font chữ, kiểu in, đánh số thứ tự, ngắt trang, . . . .
  5. Sau khi hoàn tất thiết kế, ta ghi và đặt tên cho báo biểu, rồi trở về cửa sổ Database.

Thực hiện in báo biểu

Để in kết quả của báo biểu ra máy in, ta làm như sau.

  • Chọn báo biểu cần thực hiện in từ cửa sổ Database
  • Chọn chức năng Print từ menu File.

Nếu báo biểu đang ở chế độ Print Preview hoặc Design, thì ta cũng có thể in kết quả của nó bằng cách chọn File → Print.

Sắp xếp dữ liệu

Khi xây dựng báo biểu ta có thể sắp xếp để kết quả in ra theo một trình tự nào đó. Do vậy ta có thể không cần sử dụng truy vấn để sắp xếp trước dữ liệu cho báo biểu.

  • Khả năng sắp xếp:
  • Có thể sắp xếp theo trường
  • Có thể sắp xếp theo một biểu thức chứa các trường
  • Có thể sắp xếp tối đa trên 10 trường hoặc biểu thức
  • Muốn sắp xếp dữ liệu trên báo biểu ta làm như sau:
  • Mở báo biểu trong chế độ Design View
  • Chọn mục Sorting And Grouping từ men View để hiện cửa sổ
  • Đưa các trường và biểu thức dùng để sắp xếp vào cột Field/expression (mỗi trường hoặc biểu thức đặt trên một dòng).
  • Chọn thứ tự sắp xếp (tăng - Ascending hoặc giảm - Descending) trong cột Sort Order. Nếu sắp xếp theo nhiều trường hoặc biểu thức, thì thứ tự ưu tiên lấy từ trên xuống.

Phân nhóm dữ liệu

  • Có thể phân nhóm trên bất kỳ trường hay biểu thức nào đã được sắp thứ tự (đã đưa vào cột Field/expression).
  • Thứ tự phân nhóm: Giả sử ta sắp xếp và phân nhóm theo ba trường theo thứ tự từ trên xuống dưới là Field 1 , Field2, Field3. Khi đó dữ liệu được phân nhóm như sau:
    • Trước hết các bản ghi được phân nhóm theo Fieldl . Ta nhận được các nhóm cấp 1.
    • Trong mỗi nhóm cấp 1, các bản ghi lại được phân nhóm theo Field2. Ta nhận được các nhóm cấp 2.
    • Trong mỗi nhóm cấp 2, các bản ghi lại được phân nhóm theo Field3. Ta nhận được các nhóm cấp
  • Cách nhóm dữ liệu theo trường phân nhóm
    • Cách nhóm dữ liệu được quy định bằng các thuộc tính Group On và Group Interval của trường phân nhóm trong cửa sổ Sorting And Grouping. Ví dụ nếu đặt thuộc tính Group On là Each Value và thuộc tính Group Interval là 1 , thì dữ liệu được phân nhóm theo giá trị của trường/biểu thức phân nhóm. Khi đó các bản ghi có cùng giá trị trên trường/biểu thức phân nhóm sẽ dược nhóm lại.

Đầu nhóm và cuối nhóm

Tạo đầu nhóm và cuối nhóm trên báo biểu.

Mỗi nhóm (bất kỳ cấp nào) cũng có thể thêm phần đầu nhóm và phần cuối nhóm trên mẫu biểu. Cách thêm hoặc huỷ chúng như sau:

  • Mở cửa sổ Sorting And Grouping
  • Chọn trường hay biểu thức phân nhóm
  • Đặt thuộc tính Group Header là Yes đề thêm phần đầu nhóm hoặc No để huỷ phần đầu nhóm.
  • Đặt thuộc tính Group Footer là Yes để thêm phần cuối nhóm hoặc No để huỷ phần cuối nhóm.

Đặt các ô điều khiển trên phần đầu/cuối nhóm.

Trên các phần đầu nhóm và cuối nhóm ta có thể đặt bất kỳ điều khiển.nào của báo biểu.

Tổng hợp dữ liệu trên từng nhóm

Tại đầu/cuối nhóm, ta có thể sử dụng một số hàm chuẩn của Access để thực hiện việc tổng hợp dữ liệu của mỗi nhóm. Ví dụ dùng hàm Sụm để tính tổng các giá trị của một trường số trên các bản ghi của mỗi nhóm, dùng hàm Count để đếm số bản ghi của nhóm.

In theo nhóm

Thuộc tính Keep Together trong cửa sổ Sorting and Grouping cho 2 khả năng in đừ hếu của nhóm như sau:

  • Nếu Keep Together: Whole Group thì nhóm sẽ bắt đầu in từ trang mới nếu phần còn lại của trang không chứa nổi tất cả các bản ghi của nhóm.
  • Nếu , Keep Together: With First Detail thì . trên mỗi trang, tiêu đề nhóm sẽ được in kèm với ít nhất một bản ghi.

Cách phân nhóm đối với trường/biểu thức kiểu số

Có hai cách phân nhóm: Theo giá trị và theo miền giá trị.

Phân nhóm theo giá trị

Để phân nhóm theo giá trị ta đặt: Group On: Each Value. Khi đó các bản ghi được sắp xếp theo thứ tự tăng hoặc giảm của trường/biểu thức phân nhóm, sau đó các bản ghi có cùng giá trị trên trường/biểu thức phân nhóm sẽ được đưa vào một nhóm.

Phân nhóm theo miền giá trị

Để phân nhóm theo miền giá trị ta đặt:

  • Thuộc tính Group On là Interval
  • Thuộc tính Group Interval là một giá trị

Khi đó miền phân nhóm là các đoạn có độ dài bằng giá trị đưa vào thuộc tính Group Interval và mốc là giá trị 0. Chẳng hạn, nếu đặt các thuộc tính: Group On: Interval và Group Interval: 5 thì miền phân nhóm là các đoạn có độ dài 5 và mốc là 0. Đó là các đoạn: [-10 –6], [-5,-1], [0,4], [5,9], [l0,14], . .

Các bản ghi có giá trị của trường/biểu thức phân nhóm rơi vào cùng một đoạn sẽ được đưa vào một nhóm.

Các bản ghi được sắp xếp theo nhóm. Nhưng trong cùng một nhóm thì các bản ghi chưa hẳn đã được sắp xếp theo giá trị của trừường/biểu thức phân nhóm

Cách phân nhóm đối với trường/biểu thức kiểu Date/time

Có hai cách phân nhóm: Theo giá trị và theo miền giá trị.

Phân nhóm theo giá trị

Để phân nhóm theo giá trị ta đặt: Group On: Each Value Khi đó các bản ghi được sắp xếp theo thứ tự tăng hoặc giảm của trường/biểu thức phân nhóm, sau đó các bản ghi có cùng giá trị trên trường/biểu thức phân nhóm sẽ được đưa vào một nhóm.

Phân nhóm theo miền giá trị

Miền giá trị có thể như theo một trong các đơn Year, Qtr (quí), Month, Week, Day…

Để phân nhóm theo miền giá trị ta đặt:

  • Thuộc tính Group On là một trong các đơn vị trên.
  • Thuộc tính Group Interval là một biểu thức số Khi đó miền phân nhóm được xác định bằng hai thuộc tính trên.

Chẳng hạn, nếu đặt các thước tính: ' Group On: Month Group Interval: 6 thì miền phân nhóm là các khoảng thời gian 6 tháng một bắt đầu tính từ tháng thứ nhất trong năm.

Cách phân nhóm đối với trường/biểu thức kiểu Text

Phân nhóm theo giá trị

Để phân nhóm theo giá trị ta đặt: Group On: Each Value. Khi đó các bản ghi được sắp xếp theo thứ tự tăng hoặc giảm của trường/biểu thức phân nhóm và đưa vào một nhóm.

Phân nhóm theo các ký tự đầu

Để phân nhóm theo các ký tự đầu ta đặt:

  • Thuộc tính Group On là Prefix Charcter
  • Thuộc tính Group Interval là một giá trị nguyên n

Khi đó các bản ghi trùng nhau trên n ký tự đầu được phân nhóm và đưa vào một nhóm

Các hàm dùng để tổng hợp dữ liệu

Cho phép tổng hợp dữ liệu trên các nhóm và trên toàn bộ mẫu biểu bằng cách sử dụng các hàm sau:

- Sum Tính tổng
- Avg Tính giá trị trung bình
Min Tìm giá trị nhỏ nhất
Max Tìm giá trị lớn nhất
Count Đếm số bản ghi
First Cho bản ghi đầu tiên
Last Cho bản ghi cuối cùng

Tổng hợp dữ liệu trên mỗi nhóm

Để tổng hợp dữ liệu của các bản ghi trong nhóm, ta tạo các điều khiển Unbound tại đầu hoặc cuối nhóm và đặt vào ô điều khiển các hàm nói trên.

Khi xây dựng bảng tổng hợp lương cho một công ty, ta cần tính tổng lương và số người của mỗi đơn vị thuộc công ty. Muốn vậy ta xây dựng một báo cáo và nhóm dữ liệu theo trường DV (đơn vị). Tại đầu hoặc cuối nhóm DV ta đưa vào các điều khiển sau:

Số người: =Count([HT])

Tổng lương: =Sum([NC]*[ML])

Trong đó HT (họ tên), NC (ngày công) và ML (mức lương) là các trường của bảng/truy vấn nguồn của báo biểu.

Tổng hợp dữ liệu trên toàn báo biểu

Để tổng hợp dữ liệu trên các bản ghi của toàn bộ báo biểu, ta cũng làm như cách trên, nhưng các điều khiển được đặt tại đầu hoặc cuối báo biểu.

So sánh dữ liệu tổng hợp trên các phần của báo biểu

Khi xây dựng các báo biểu thường phải so sánh, đối chiếu số liệu tổng hợp giữa các phần với nhau. Ví dụ khi tổng hợp lương của công ty cần biết tổng lương của mỗi đơn vị chiếm bao nhiêu phần trăm tổng lương của toàn công ty.

Để so sánh dữ liệu tổng hợp trên các phần của báo biểu ta làm như sau: .

  1. Tạo các ô điều khiển tại đầu hoặc cuối mỗi phần để nhận dữ hếu tổng hợp trên các phần. Dùng thuộc tính Nam đặt tên cho các ô điều khiển.
  2. Sử dụng các ô điều khiển nói trên để thực hiện các phép so sánh dữ liệu tổng hợp trên các phần khác nhau của báo biểu. Cách làm như sau: Tạo các ô điều khiển mới (tại bất kỳ vị trí nào trên báo biểu), rồi đặt vào đó các biểu thức chứa tên các ô điều khiển đã xây dựng ở bước 1 .

Không in một số ô điều khiển của báo biểu

Nếu đặt thuộc tính Visible của ô là No thì nội dung của ô đó không in trên giấy, nhưng vẫn có khoảng trống đúng bằng kích thước của ô điều khiển.

Nếu đặt thuộc tính Height của điều khiển là 0 thì nội dung hoàn toàn bị bỏ qua trên kết quả in cuả báo biểu.

Cách tổ chức báo biểu chính và báo biểu phụ hoàn toàn giống như việc tổ chức mẫu biểu chính, phụ đã trình bày trong phần mẫu biểu. Trình tự thực hiện như sau:

  1. Tạo báo biểu chính và phụ hoàn toàn độc lập. Lúc này chúng chưa có quan hệ gì với nhau
  2. Mở báo biểu chính trong chế độ Design View, bấm phím F11 để đồng thời mở cửa sổ Databbse.
  3. Kéo một báo biểu phụ từ cửa sổ Database vào trong cửa sổ thiết kế của báo biểu chính. Kết quả Access tạo một điều khiển kiểu SubReport buộc vào báo biểu phụ và một nhãn đi kèm.
  4. Tên (thuộc tính name) của báo biểu phụ được đặt mặc định cho báo biểu phụ được kéo. Ta có thể sửa nếu muốn.
  5. Tạo sự liên kết giữa báo biểu chính và báo biểu phụ.

Dùng các thuộc tính của SubReport như sau:

LinkChildFields: Trường liên kết của báo biểu phụ
LinkMasterFields: Trường liên kết của báo biểu chính

* Tác dụng của liên kết: trên báo biểu phụ chỉ hiện các bản ghi cùng giá trị liên kết với các bản ghi hiện hành (đang xét) của báo biểu chính. Hay nói cách khác chỉ các bản ghi của báo biểu phụ có liên quan đến báo biểu chính mới được in trên báo biểu chính.

Nếu không tạo liên kết thì toàn bộ bản ghi của báo biểu phụ sẽ hiện trên báo biểu chính.

  1. Từ cửa sổ Database chọn mục Report rồi bấm nút New. Kết quả hiện cửa sổ New Report.
  2. Chọn một bảng hoặc truy vấn làm nguồn dữ liệu cho báo biểu tại mục Choose the Table or Query... .
  3. Chọn một trong hai kiểu báo biểu tự động (có từ AutoReport) hoặc chọn Report Wizard trong danh sách trên dưới đây sẽ trình bầy một số cách chọn trên.

Tạo báo biểu tự động kiểu Columnar

Chọn mục AutoReport: Columnar trong cửa sổ New Report, rồi bấm OK. Kết quả nhận được cửa sổ Report. Nếu muốn thay đổi lại thì chọn View --> Design View để thay đổi.

Tạo báo tự động kiểu Tabular

Chọn mục AutoReport: Tabular trong cửa sổ New Report, rồi bấm OK. Kết quả nhận được cửa sổ Report. Nếu muốn thay đổi lại thì chọn View --> Design View để thay đổi.

Tạo báo tự động bằng công cụ Wizard

  1. Chọn mục AutoReport: Tabular trong cửa sổ New Report rồi bấm OK.
  2. Chọn các trường đưa vào báo biểu --> bấm Next
  3. Chọn các trường dùng để phân nhóm --> bấm Next
  4. Chọn các trường để sắp xếp nếu muốn --> bấm Next.
  5. Chọn các dạng hiến thị tại mục Layout, chọn hướng in tại Orientation (VD chọn Portrait), --> bấm Next.
  6. Chọn một trong các mẫu trang trí --> bấm Next (ở đây ta chọn Bold), rồi bấm Next.
  7. Sửa lại tiêu đề cho báo biểu (tiêu đề mặc định là tên bảng/truy nguồn) --> bấm Finish.
  8. Có thể chọn View, Design View để chuyển về cửa sổ thiết kế, rồi tiến hành đổi lại font chữ và tiến hành các chỉnh sửa khác nếu muốn
0