Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Làm thế nào đánh số trang của một report có nhiều nhóm
#1
Em có một report có nhiều nhóm, mỗi nhóm có nhiều trang, tôi muốn đánh số trang cho từng nhóm (tức là đánh hết trang ở nhóm 1 , sang nhóm 2 nó lại đánh lại từ đầu.
Có bác nào biết, xin chỉ giúp.
http://www.mediafire.com/?tdf30y62n9b0b0y
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#2
cái này bạn có biết ở phần control soure: =1, ở phần runing sum: Over Group. ở textbox trong reports bạn muốn sum nhóm đó.
Chữ ký của quanghoasla Hãy chia sẻ kinh nghiệm cùng mình trênThuThuatAccess nhé! Chúc vui vẻ rose
My site: My site hoặc My site
ღღღღღTài sản của quanghoasla (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(16-04-12, 04:05 PM)quanghoasla Đã viết: cái này bạn có biết ở phần control soure: =1, ở phần runing sum: Over Group. ở textbox trong reports bạn muốn sum nhóm đó.

Bạn đọc kỹ cho mình cái, trong File mình gửi kèm có 1 report nhóm tài khoản 1111,1121 ... số trang nếu đánh cho tất cả thì OK nhưng mình muốn là : Số trang đánh của TK 1111 riêng , và của 1121 riêng (bắt đầu từ 1)
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
http://office.microsoft.com/en-us/access...87401.aspx
Lược dịch như sau:

Bước 1: Đầu tiên, bạn tạo 1 macro, nội dung như sau:
Action: SetValue
Item: [Page]
Value: 1 (nếu page nằm ở header thì cho số này là 0)

[Hình: macro.png]
Save và đóng macro lại. Mình tạm gọi tên mà macro1
Bước 2

Thêm page và report (cái này bạn làm được rồi)

Bước 3:
3.1/ Vào properties của Group Header đầu tiên, qua tab Event, sự kiện, OnFormat, bạn cho chạy macro vừa tạo.
3.2/ Vào properties của Group Foodter đầu tiên (cái nằm sau cùng nhé), bên tab Format, trong ô ForceNewPage chọn : After Section.

DONE.
DOWNLOAD DEMO

Note:
Nếu page nằm ở hearder thì chịu khó dịch dòng tiếng Anh sau mà áp dụng
If the page number appears in the page header, set the ForceNewPage property of the first-level group header to Before Section and the OnFormat property of the first-level group footer to the name of the macro you created in step 1.
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan
#5
Noname nghiêm cứu tiếp: khi hết một group, pages lại thiết lập lại cho group tiếp theo.
Chữ ký của haquocquan Guest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
(16-04-12, 05:10 PM)Noname Đã viết: http://office.microsoft.com/en-us/access...87401.aspx
Lược dịch như sau:

Bước 1: Đầu tiên, bạn tạo 1 macro, nội dung như sau:
Action: SetValue
Item: [Page]
Value: 1 (nếu page nằm ở header thì cho số này là 0)

[Hình: macro.png]
Save và đóng macro lại. Mình tạm gọi tên mà macro1
Bước 2

Thêm page và report (cái này bạn làm được rồi)

Bước 3:
3.1/ Vào properties của Group Header đầu tiên, qua tab Event, sự kiện, OnFormat, bạn cho chạy macro vừa tạo.
3.2/ Vào properties của Group Foodter đầu tiên (cái nằm sau cùng nhé), bên tab Format, trong ô ForceNewPage chọn : After Section.

DONE.
DOWNLOAD DEMO

Note:
Nếu page nằm ở hearder thì chịu khó dịch dòng tiếng Anh sau mà áp dụng
If the page number appears in the page header, set the ForceNewPage property of the first-level group header to Before Section and the OnFormat property of the first-level group footer to the name of the macro you created in step 1.

Cảm ơn bác Noname, đúng là bác cái gì cũng làm được hay sao ý nhỉ, còn cái trên tổng số trang chắc nó cũng tương tự, để em mày mò nốt. Một lần nữa cảm ơn bác nhé
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
Bác Noname ơi hình như cái này cũng reset lại được số trang theo nhóm mà có vẻ đơn giản hơn

How to reset the page number on a group level in an Access report
Method 1: The page number appears in the page footer
Method 2: The page number appears in the page header
Method 1: The page number appears in the page footer

Start Access and then open the sample database Northwind.mdb or the sample project NorthwindCS.adp.
Open the Employee Sales by Country report in Design view.
Click the Country Header section, right-click the On Format property, and then click Build.

Examine the event procedure.
Click the Country Footer section, right-click the On Format property, and then set the ForceNewPage property to After Section.

Back to the top
Method 2: The page number appears in the page header

Start Access and then open the sample database Northwind.mdb or the sample project NorthwindCS.adp.
Open the Employee Sales by Country report in Design view.
Click the Country Footer section, right-click the On Format property, and then click Build.
Click Code Builder, and then click OK.
In the Code window, type: Page = 0
Change the OnFormat event of the Country Header so that the Page property is not set in this event. To do this type an apostrophe before the line with the starting page number.

The code will look similar to the following code:

Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer)
' Set page number to 1 when a new group starts.
' Page = 1
End Sub


Click the Page Header section, set the Height property to 0.25, and then set the Back Color property to 8421504.
Move the control that is named Page Number to the Page Header.

The Page Number control displays the page number

When you use either of these methods, each country begins on a new page, and the numbering of each new section begins with the number 1.
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
Về bản chất hai cách là giống nhau mà!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#9
Bác Noname ơi bài này nó hướng dẫn tạo cả phần tổng trang theo nhóm, em làm mãi mà không ra, nhờ bác xem giúp, nếu bác làm demo được càng tốt

Prepare the reports and group the pages
To group the pages, a two-pass formatting is used, along with the Page property, to reset the total pages for each group. The first formatting pass sets the first page number in a new group to the value "1" and then writes the total number of pages in the group to a table. The second formatting pass retrieves the total number of pages for each group. These values are then used to display the page number in the Page Footer section of the report. To prepare the reports and group the pages, follow these steps.

Note The following steps use the "Employee sales by country" report in the Northwind.mdb sample database to demonstrate how to prepare the report and how to group the pages in the report.

Caution If you follow the steps in this example, you modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and follow these steps on a copy of the database.

Start Access.
Open the Northwind.mdb sample database.
Create a table with the following properties:

Table:
---------------------------------
Table Name: Category Group Pages
Field Name: Country
Data Type: Text
Field Size: 15
Indexed: Yes (No Duplicates)

Field Name: Page Number
Date Type: Number
Field Size: Long Integer

PrimaryKey: Country

In the Database window, click Reports under Objects.
In the right pane, right-click Employee Sales By Country, and then click Design View.
Set the ForceNewPage property of the Country Footer section to After Section. To do this, follow these steps:
In Design view, right-click Country Footer, and then click Properties.
In the Section: GroupFooter1 dialog box, click the Format tab.
In the Force New Page box, click After Section, and then close the Section: GroupFooter1 dialog box.
Make sure that the event procedure for the OnFormat event of the Country Header section sets the page number to "1" when a new group starts. To do this, follow these steps:
On the View menu, click Code to open the Visual Basic Editor.
In the Object box, click GroupHeader0.
In the Procedure box, click Format.
Make sure that the following code appears in the code window:

Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer)
'Set page number to 1 when a new group starts.
Page = 1
End Sub

Define a variable for a Database object, a variable for a RecordSet object, and a function that retrieves the total number of pages in a group. To do this in the Visual Basic Editor, append the following code.

Note The Visual Basic Editor may already contain some code. Do not remove any existing code. Append the following code to any existing code:

Dim DB As Database
Dim GrpPages As RecordSet
Function GetGrpPages ()
'Find the group name.
GrpPages.Seek "=", Me![Country]
If Not GrpPages.NoMatch Then
GetGrpPages = GrpPages![Page Number]
End If
End Function

Create an event procedure for the OnOpen event of the report. To do this, append the following code:

Private Sub Report_Open (Cancel As Integer)
Set DB = dbengine.workspaces(0).databases(0)
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * From [Category Group Pages];"
DoCmd.SetWarnings True
Set GrpPages = DB.OpenRecordset("Category Group Pages", DB_Open_Table)
GrpPages.Index = "PrimaryKey"
End Sub

Create an event procedure for the OnFormat event of the Page Footer section of the report. To do this, append the following code:

Private Sub PageFooter_Format (Cancel As Integer, FormatCount As Integer)
'Find the group.
GrpPages.Seek "=", Me![Country]

If Not GrpPages.NoMatch Then
'The group is already there.
If GrpPages![Page Number] < Me.Page Then
GrpPages.Edit
GrpPages![Page Number] = Me.Page
GrpPages.Update
End If
Else
'This is the first page of the group. Therefore, add it.
GrpPages.AddNew
GrpPages![Country] = Me![Country]
GrpPages![Page Number] = Me.Page
GrpPages.Update
End If
End Sub

Close the Visual Basic Editor.
In Design view, add two text box controls with the following properties under the Page Footer section:

Text box:
-----------------------------
Name: GroupXY
ControlSource: =GetGrpPages()
Visible: No


Text box:
------------------------------
Name: ReferToPages
ControlSource: =Pages
Visible: No

Note The ReferToPages text box forces the report to use the two-pass formatting when the report is printed.
In Design view, click PageNumber in the Object drop-down list on the Formatting toolbar.
On the View menu, click Properties.
In the Textbox: PageNumber dialog box, click the Data tab. Put the following code in the Control Source box:

=[Country] & " - Page " & [Page] & " of " & [GroupXY]

On the View menu, click Layout Preview to preview the report.

Note You must enter the correct date parameter values to preview the report.

The Page Footer displays the current page and the total pages for each group in the "Page of Pages" format.
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
Cả nhà ơi, em làm được rồi, em gửi đây cho các bác xem nhé
http://www.mediafire.com/?wgr1rdg6yiid5ds
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] File chạy chậm vì trong quá trình design phải chỉnh sửa và test thử nhiều. toancvp 4 265 29-07-16, 11:36 PM
Bài mới nhất: toancvp
  [Hỏi] Cách canh lề trong report hpolice26041993 1 115 17-05-16, 10:22 PM
Bài mới nhất: ongke0711
  [Help] Tạo chuyên mục đánh giá sự hài lòng kuzinhy 3 231 01-05-16, 10:10 PM
Bài mới nhất: quanghoasla
  [Hỏi] Demo_Set thuộc tính Popup nhiều From cùng lúc tranhai_vn 0 159 20-09-15, 09:27 AM
Bài mới nhất: tranhai_vn
  [Hỏi] Gửi thông tin tự động đến hộp mail của nhiều người anhemnhangu 1 315 01-08-15, 05:55 PM
Bài mới nhất: Noname

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ