Jump to content

Index Page or Table of Contents


original

This topic is 5396 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I'm a beginner. I've looked everywhere and can't find how to do this, and it seems simple.

I'm basically just trying to create a table of contents what will display the page number of the records. For example, I have several names with information.. maybe like 100 pages worth of information. I am just trying to create a table of contents at the beginning of this page, where it shows me the record/name and what page number it's at.

How do I do this? I'm very new, so please explain easily!!! thank you soooo much!

Link to comment
Share on other sites

Original:

Welcome to the Forums.

This should be pretty easy to do, but first a question: do you mean you've got about 100 different records, each of which is a page, or 1 record that's 100 pages, or something in-between?

If you've got 100 different records, you can make a layout that's a list (go to Layout-> new layout and follow the directions), and start from there. Let us know your answer, and we'll get you on your way.

-Stanley

Link to comment
Share on other sites

So basically there are like 400 records and when printed out, it turns out to be 100 different pages. I just want an index page at the beginning where I can print out and have a hard copy so I can look at the title and see what page its on and then go to it.

I have dones the list layout, but it doesn't do the page number function im looking for. thanks!

Link to comment
Share on other sites

Original:

Ooh, multiple records per page. Slightly tricky.

First, you may not know, but you can put the text "##" (no quotes, just the two number signs) on a layout, and when printed it will print the page number there for you. However, this is just printing data, and cannot be used in scripting.

Now, if you do not know how many records will go on a given page, I do not know of a way of seeing what page an item will be printed on. If, on the other hand, you set your pages up so that they will always show (say) two records, you can calculate the page number by using Status(CurrentRecordNumber), dividing that by two, then adding one. This doesn't sound like the solution you're after, though.

Perhaps someone else here knows a devious tricky way to solve your problem.

-Stanley

Link to comment
Share on other sites

You need two fields for this: a global field (gPage) and a text/number field (Page) that will hold the number of the page on which the record will be printed. Then the script:

Show All Records 

Loop 

	Enter Preview Mode 

	Go to Record/Request/Page [ Last ] 

	Set Field [ Products::gPage; Get ( PageNumber ) ] 

	Enter Browse Mode 

	Go to Record/Request/Page [ Last ] 

	Set Field [ Products::Page; Products::gPage ] 

	Omit Record 

	Exit Loop If [  not Get ( FoundCount ) ] 

End Loop 

Show All Records   

Link to comment
Share on other sites

Comment:

The user is on FMP 6, so the Get() calls have to be rephrased as Status() calls. Other than that, I'm trying what you've got, and it's giving me "1" for all pages.

-

Link to comment
Share on other sites

Wait, I take that back. It works. I had a script step out of order.

Okay, Original, you want to do exactly as Comment's script says, but with these alterations:

Where it says "Get(PageNumber)" you want "Status(CurrentPageNumber)"

Where it says "not Get(FoundCount)" you want "Status(CurrentFoundCount)=0"

What this script will get you is the page number each record is on. As far as implementing that as an index, you're going to have to wait a minute, as I'm doing something else right now. Perhaps someone will jump in ahead of me.

-Stanley

Link to comment
Share on other sites

Original:

Now, to do your table of contents, you'll need a new layout, created by following these steps:

1. Enter Layout Mode

2. Go to Layouts-->New Layout/Report

3. Select "Columnar List/Report" and click "Next"

4. Select "Constrain to Page Width" and click "Next"

5. Pick the fields you want, but for now just the record's name and the page number, and click "Next"

6. Select the page number, and "ascending order", and click "Next"

7. Pick a theme (this is for print, so something suitable) and click "Next"

8. Skip the header and footer for now

9. Skip the script for now

10. Click "View the Report in Layout Mode" and then "Finish"

10a. Enter Browse Mode

10b. Go to Records-->Sort... and select your page field, ascending, and "Okay"

10c. Enter Layout Mode

11. Go To Layouts-->Part Setup... and select "create ..."

12. Select "Sub-Summary when sorted by" and, on the right, your page number field.

13. In the dialog that opens, select "above"

14. Click "done"

15. Move your page field up into the summary row (between header and body)

16. Go To Scripts-->Scriptmaker

17. Type in a script name, say "Table of Contents", then click "create"

18. Delete all the script steps on the right and make the following script:

Show All Records

Go To Layout [your new table of contents layout]

Sort [Restore; No Dialog]

Enter Preview Mode

19. Click "Done", then "Replace" beside "sort order" in the dialog box that appears.

Enter browse mode, and run your script. This should create your TOC.

If something's not right there, it's my fault.

-Stanley

Link to comment
Share on other sites

ok, i must be doing something wrong.

I did the script, and in my layout I have placed the GPage field and the Page field. I then go to browse and i click on execute that script.

From there, the Gpage field shows the total pages in the file, but it doesn't show each page for each record. what am I doing wrong? thanks.

Link to comment
Share on other sites

I must be doing something wrong with this -- and I can't work it out...

The script to set the page numbers is OK but the result in preview mode is a record per page with the title and the page number at the top of each page -- there is no list of titles and page numbers on the first page.

I have set the layout as described with a subsummary sorted by page number (in which is the title and page fields) above the body with the record text field in this.

What am I doing wrong?

Any help with this is appreciated.

Link to comment
Share on other sites

  • 4 years later...

I am using the gpage, Get Record # technique (modeled after the original script provided) to generate an index for a Jobs subsummary report grouped on Project Name. It worked perfectly until the client asked me to add a trailing subsummary part and Grand Summary. Now, the first Project Name, although it appears as the first entry in the index, does not have a page number listed although the page numbers are displayed and correct for all other project names. Record groups are allowed to break between pages.

Update - I checked the job records for the first Project Name and they all display the proper index page number. So the script is working properly. The Table of Contents (a simple Header, Body, Footer layout with merge text <>......<> is just being weird. I tried allowing additional space in the Body part so there is no chance the merge text is touching the header or footer but that didn't make any difference. I deleted the merge text and copied the text from my test platform that does display the first page number but that didn't fix it either.

Edited by Guest
Link to comment
Share on other sites

I created a completely new layout and added the merge text using copy and paste from the test file that displays properly. Still no joy. I deleted the merge text and typed it in manually on the new layout. Nope! So, I deleted the <> from the merge text and inserted the IndexPage field itself. Then I could get the Page Number to display. I've run into this problem before with merge fields displaying intermittently and deleting the merge field and adding it back manually to the merge document usually corrects the problem but not this time. Sigh.....

Link to comment
Share on other sites

Another test. If I try to add any additional text after the Merge field ProjectName, it does not show up on the first line but all lines thereafter in list view. So, in other words, I can add the merge text <> then add separate merge text <> but if I try to connect the two merge fields with text like periods or dashes, nothing shows up on line 1 except the ProjectName even though everything below that shows up properly.

This file has been so mauled by so many different developers over the years I fear it is becoming corrupted. I noticed that I cannot move scripts up and down in Scriptmaker any more either.

Link to comment
Share on other sites

This topic is 5396 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.