2 challenges - page borders / group, yes, but with label?

  • Thread starter StargateFanFromWork
  • Start date
S

StargateFanFromWork

I need to have a 8 1/2x11" sheet of paper accommodate several, say, +/- 3in
x 4in "reports". I was given the great advice of setting a page to print
x-number of reports per page, or whatever, but this hasn't really worked
out. Difficult to know what to start with to get the target dimensions in
the finished "reports" <g>.

I hit upon building a custom "label" that I could use instead of the
standard page sizes and this has worked really well. But I'm stuck with 2
things - no lines as cutting guides and how to group by alphabet?

1) Re the cutting guides - is there a way to put borders around each label
similar to what Word can do so that each "label" has a border? Yes, I could
position everything so that I'd just cut up the sheet into 8ths or whatever,
but it would be so much easier to have a precisely-defined, unchanging size
via borders. I won't always have a paper cutter handy <g>.

2) Is there a way to group by "A", "B", etc.? I remember doing that way
back when in dbase III+ in the late 80s. I'd get a letter "A" then a
paragraph break and then all the "A" entries. Another paragraph break would
follow (or a page break, as per the developer's choice) and the letter "B"
came after followed by the "B" entries. Etc.

Can these 2 things be done in A2K? I googled over the weekend a few times
and hunted for info in the help file but, this time, I guess I'm not asking
for the right thing as nothing pertinent came up that was of help.

Thanks. :eek:D
 
M

Mike Revis

I'm not to clear on what you are trying to accomplish. Are you making
labels? i.e. one record per report several reports per page.
Are you making mini reports? i.e. several records per report. Several
reports per page.

You can look at sorting and grouping under the view tab in report design
view to get your alpha sort.
You can look at columns under page setup.
You can look at the force new page property in the properties of the
section.

I make labels on a 8-1/2 x 11 page that are about 3.5 in x 5 in. 4 to a
page. I purchased custom label stock from labelsonline.com. (I am not
associated with labelsonline.com)

To draw lines on your report you can use the line tool or you can put a
border around the report using the box tool.

Precise placement of the line or border will probably be difficult.

hth
Mike
 
S

StargateFan

I'm not to clear on what you are trying to accomplish. Are you making
labels? i.e. one record per report several reports per page.
Are you making mini reports? i.e. several records per report. Several
reports per page.

I used the label option merely to help get the total size "report" I
needed - in this case, roughly 3x4" - and am looking to get several
"reports" on each standard 8 1/2 x 11" page which would hopefully be
about 6 of these reports (but in reality might turn out to just be 4
<g>).

The difficulty is that it's easy to put a border around each "label"
but that just puts a box around each record, not around a group of
records corresponding to the total page report size of 3x4".

I honestly don't know if this can be done, I only have a need and am
trying to figure out best process. This is an contact list db and
would like to get a small purse-sized address book as one of the
reports from it. But rather than getting one ~3x4" report only out of
each 8.5x11" paper, would like to not waste paper and get several
pages out of each sheet of standard paper.
You can look at sorting and grouping under the view tab in report design
view to get your alpha sort.

I've got the alpha sort, no problem. It's having each group separated
by a "header", or whatever it's called, and showing the corresponding
letter of the alphabet as such a grouping header.

Help doesn't help with this and the archives didn't yield anything
useful so far.
You can look at columns under page setup.

Hmmm, there may be an answer to this in there. Great.
You can look at the force new page property in the properties of the
section.

Sounds like a possibility, but will that actually force a page, I
wonder ... Might not work in this particular report I'm trying to
achieve. But will definitely take a look.
I make labels on a 8-1/2 x 11 page that are about 3.5 in x 5 in. 4 to a
page. I purchased custom label stock from labelsonline.com. (I am not
associated with labelsonline.com)

I used the label option to get the size "paper" I need, so in my case,
regular paper stock will work.
To draw lines on your report you can use the line tool or you can put a
border around the report using the box tool.

As mentioned above, drawing lines around a label just makes boxes
around each report. I need a "page border" option where A2K would
know to draw a border around 3 or 4 labels. Was wondering if there is
such a thing in A2K?
Precise placement of the line or border will probably be difficult.

Yes said:

Thank you! :eek:D
 
M

Mike Revis

I think I see what you are trying to do.

First make a full page report.
Use page setup>columns to make the sections (small pages) you want to be on
one full size page.
Start with 4 sections just to keep it simple.
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

Then use the line method in VBA to place a box around each section.

Once you get the full page looking the way you want place a subreport in the
detail section of the fullpage report with the fields for each contact.

I haven't really spent a lot of time with this but it looks like an approach
that might work.

Mike
 
S

StargateFanFromWork

Mike Revis said:
I think I see what you are trying to do.

First make a full page report.
Use page setup>columns to make the sections (small pages) you want to be on
one full size page.
Start with 4 sections just to keep it simple.
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

Then use the line method in VBA to place a box around each section.

Once you get the full page looking the way you want place a subreport in the
detail section of the fullpage report with the fields for each contact.

I haven't really spent a lot of time with this but it looks like an approach
that might work.

This sounds like something that will do exactly what's needed. This is
great. I'll start working on this, thanks.

The good thing is that once this is done, this db will be good for life <g>.
I'll be able to print out a large address book to put beside the phone at
home, but I'll also hopefully be able to print a smaller version - what I'm
trying to do here - that will allow me to get rid of those small
carry-around address/phone books.

I know, electronic organizers with PIMs and Palms, etc., etc., are here -
but after battling with batteries running out of juice in a lot less time
than expected and then faulty batteries - both incidences which meant losing
data twice in 3 years - I've given up on them <g>. The paper one will
always be handy.

Thank you! :eek:D
 
S

StargateFan

I think I see what you are trying to do.

First make a full page report.
Use page setup>columns to make the sections (small pages) you want to be on
one full size page.
Start with 4 sections just to keep it simple.
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

Mike, hi!

I put this into my db the other day and entered some data. It worked
at the time because by coincidence, the first word that the letter was
taken from happened to be the same in the test run. Now that I've
input multiple entries, I've found something that isn't so good. This
will give a header for each new word, which as you can imagine, isn't
what is needed. Under what should be one "B" header, for example, I
currently have 14 "B" headers. Is there a way around this. In the
late 80s was able to group very easily in old DOS-based dBase III+ so
there's got to be a way to do this in A2K! <g>

Do you have any ideas? Thanks much! :eek:D





p.s., the small reports are sort of working out. [I miss my FMP for
this report <g> which is so easy to set custom page sizes with fixed
columns, etc., with lines around _groups_ of records. And the
settings _stay_.] I opened the report again this morning and had to
reset the page margins and columns _again_ (this is the third time).
Hopefully they stay put now <g>. I didn't do anything different so
don't know what happened as yet. It worked and then it didn't work.
But at least, though I'm not getting what I really needed, I'll be
able to live with what I get, which is the important thing. Nothing
re line drawing worked so will just have to position everything
carefully and cut pages up uniformly. Not the ideal, but as long as I
 
S

StargateFan

I think I see what you are trying to do.
[snip]
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

[snip]

I hope it's okay but starting a new thread. I thought this whole
grouping and header thing was working, but it's not. When I used it
during the initial few records I input, the records started with a
different letter of the alphabet so the header thing seemed to work.
To my dismay today upon entering many more records, I have at last
count for example, 25 records showing up under 14 "B" headers with
each grouping underneath containing 1 to 4 entries. That's because I
just happened to enter info about bus routes so first field is the
same in many, with additional bus station info/bus direction and bus
stop phone code being what changed which shows up in 2 other fields.
Otherwise, with a slightly different format, each of those 25 records
would have a header all its own making for 25 "B" headers!!!! <g>
Needless to say, this is _not_ good.

Is there a way to get a printout that groups _all_ entries starting
with same letter? So that all A entries fall under a group header of
"A", same for B, C and so forth down the alphabet? As I mentioned in
the original thread, this was so very easy to do in old DOS days over
15 years ago in dBase III+ so know that the much more powerful A2K
should have a way to do this, too. The archives have revealed only
issues regarding grouping, unfortunately with nothing coming up for
this type of thing and reporting.

Thank you! :eek:D
 
S

StargateFan

I think I see what you are trying to do.

First make a full page report.
Use page setup>columns to make the sections (small pages) you want to be on
one full size page.
Start with 4 sections just to keep it simple.
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

Mike, hi!

I put this into my db the other day and entered some data. It worked
at the time because by coincidence, the first word that the letter was
taken from happened to be the same in the test run. Now that I've
input multiple entries, I've found something that isn't so good. This
will give a header for each new word, which as you can imagine, isn't
what is needed. Under what should be one "B" header, for example, I
currently have 14 "B" headers. Is there a way around this. In the
late 80s was able to group very easily in old DOS-based dBase III+ so
there's got to be a way to do this in A2K! <g>

Do you have any ideas? Thanks much! :eek:D

[snip]

Started a new thread as I believe that's what I should have done?

Thanks.
 
J

John Spencer

You should be grouping on the expression your were given and not on the field.

ALthough you can group on the field.

In the sorting and grouping dialog,
Group on: Prefix Characters
Group Interval: 1

That will group on the first character of the group.

For detailed help, open the Sorting and Grouping dialog, and put the cursor in
the Group On choice list, and press the F1 key.
I think I see what you are trying to do.
[snip]
Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

[snip]

I hope it's okay but starting a new thread. I thought this whole
grouping and header thing was working, but it's not. When I used it
during the initial few records I input, the records started with a
different letter of the alphabet so the header thing seemed to work.
To my dismay today upon entering many more records, I have at last
count for example, 25 records showing up under 14 "B" headers with
each grouping underneath containing 1 to 4 entries. That's because I
just happened to enter info about bus routes so first field is the
same in many, with additional bus station info/bus direction and bus
stop phone code being what changed which shows up in 2 other fields.
Otherwise, with a slightly different format, each of those 25 records
would have a header all its own making for 25 "B" headers!!!! <g>
Needless to say, this is _not_ good.

Is there a way to get a printout that groups _all_ entries starting
with same letter? So that all A entries fall under a group header of
"A", same for B, C and so forth down the alphabet? As I mentioned in
the original thread, this was so very easy to do in old DOS days over
15 years ago in dBase III+ so know that the much more powerful A2K
should have a way to do this, too. The archives have revealed only
issues regarding grouping, unfortunately with nothing coming up for
this type of thing and reporting.

Thank you! :eek:D
 
S

StargateFan

Got it! Wow, I was just not getting it. I was going around in
circles so then decided to re-build the report from scratch. That's
where I finally found the sorting and grouping done by the first
letter. There are so many options in the report wizard it's tough for
a newbie to know what to pick, but I was forewarned this time on what
to look for <g>. I see that the elements are identical in both
reports it's just that in my earlier one, somewhere I must be missing
something vital. As I work through fine-tuning this report down to
size, I might figure out where I went wrong before.

Thanks. Your post helped me to find the answer by working through
everything. Appreciate it. :eek:D

***********************************************
You should be grouping on the expression your were given and not on the field.

ALthough you can group on the field.

In the sorting and grouping dialog,
Group on: Prefix Characters
Group Interval: 1

That will group on the first character of the group.

For detailed help, open the Sorting and Grouping dialog, and put the cursor in
the Group On choice list, and press the F1 key.
I think I see what you are trying to do.
[snip]

Use sorting and grouping to make a LastName header and put a textbox with
=Left([LastName], 1) in the LastName header section. This will give you your
Letter Heading for each section.

[snip]

I hope it's okay but starting a new thread. I thought this whole
grouping and header thing was working, but it's not. When I used it
during the initial few records I input, the records started with a
different letter of the alphabet so the header thing seemed to work.
To my dismay today upon entering many more records, I have at last
count for example, 25 records showing up under 14 "B" headers with
each grouping underneath containing 1 to 4 entries. That's because I
just happened to enter info about bus routes so first field is the
same in many, with additional bus station info/bus direction and bus
stop phone code being what changed which shows up in 2 other fields.
Otherwise, with a slightly different format, each of those 25 records
would have a header all its own making for 25 "B" headers!!!! <g>
Needless to say, this is _not_ good.

Is there a way to get a printout that groups _all_ entries starting
with same letter? So that all A entries fall under a group header of
"A", same for B, C and so forth down the alphabet? As I mentioned in
the original thread, this was so very easy to do in old DOS days over
15 years ago in dBase III+ so know that the much more powerful A2K
should have a way to do this, too. The archives have revealed only
issues regarding grouping, unfortunately with nothing coming up for
this type of thing and reporting.

Thank you! :eek:D
 
J

John Spencer

Glad you found the option you needed in the wizard.

Further guidance::
If you open the report in design mode, you can get the sorting and grouping
dialog by choosing View: Sorting and Grouping from the Menu.


StargateFan said:
Got it! Wow, I was just not getting it. I was going around in
circles so then decided to re-build the report from scratch. That's
where I finally found the sorting and grouping done by the first
letter. There are so many options in the report wizard it's tough for
a newbie to know what to pick, but I was forewarned this time on what
to look for <g>. I see that the elements are identical in both
reports it's just that in my earlier one, somewhere I must be missing
something vital. As I work through fine-tuning this report down to
size, I might figure out where I went wrong before.

Thanks. Your post helped me to find the answer by working through
everything. Appreciate it. :eek:D

***********************************************
You should be grouping on the expression your were given and not on the
field.

ALthough you can group on the field.

In the sorting and grouping dialog,
Group on: Prefix Characters
Group Interval: 1

That will group on the first character of the group.

For detailed help, open the Sorting and Grouping dialog, and put the
cursor in
the Group On choice list, and press the F1 key.
On Mon, 02 Jan 2006 09:55:29 -0500, StargateFan

I think I see what you are trying to do.

[snip]

Use sorting and grouping to make a LastName header and put a textbox
with
=Left([LastName], 1) in the LastName header section. This will give
you your
Letter Heading for each section.

[snip]

I hope it's okay but starting a new thread. I thought this whole
grouping and header thing was working, but it's not. When I used it
during the initial few records I input, the records started with a
different letter of the alphabet so the header thing seemed to work.
To my dismay today upon entering many more records, I have at last
count for example, 25 records showing up under 14 "B" headers with
each grouping underneath containing 1 to 4 entries. That's because I
just happened to enter info about bus routes so first field is the
same in many, with additional bus station info/bus direction and bus
stop phone code being what changed which shows up in 2 other fields.
Otherwise, with a slightly different format, each of those 25 records
would have a header all its own making for 25 "B" headers!!!! <g>
Needless to say, this is _not_ good.

Is there a way to get a printout that groups _all_ entries starting
with same letter? So that all A entries fall under a group header of
"A", same for B, C and so forth down the alphabet? As I mentioned in
the original thread, this was so very easy to do in old DOS days over
15 years ago in dBase III+ so know that the much more powerful A2K
should have a way to do this, too. The archives have revealed only
issues regarding grouping, unfortunately with nothing coming up for
this type of thing and reporting.

Thank you! :eek:D
 
S

StargateFan

I need to have a 8 1/2x11" sheet of paper accommodate several, say, +/- 3in
x 4in "reports". I was given the great advice of setting a page to print
x-number of reports per page, or whatever, but this hasn't really worked
out. Difficult to know what to start with to get the target dimensions in
the finished "reports" <g>.

I hit upon building a custom "label" that I could use instead of the
standard page sizes and this has worked really well. But I'm stuck with 2
things - no lines as cutting guides and how to group by alphabet?

1) Re the cutting guides - is there a way to put borders around each label
similar to what Word can do so that each "label" has a border? Yes, I could
position everything so that I'd just cut up the sheet into 8ths or whatever,
but it would be so much easier to have a precisely-defined, unchanging size
via borders. I won't always have a paper cutter handy <g>.

Got it!! This took quite some doing.

I created a new report using the index card "label" available from
Avery. After creation, I set it to portrait.

To get a "page border", hunted around again in the archives. This is
the code that goes in the page event (I believe it's called), in the
"On Page" option in properties:

************************************************************
Private Sub Report_Page()
Me.DrawStyle = 0 ' 0 = (Solid Line) thru 6 = (invisible line)
' ALL NUMBERS ARE PIXELS...
Me.DrawWidth = 1 ' set the thickness of the line
' Draw a box (the border!) around the page.
Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight), , B

End Sub
************************************************************
2) Is there a way to group by "A", "B", etc.? I remember doing that way
back when in dbase III+ in the late 80s. I'd get a letter "A" then a
paragraph break and then all the "A" entries. Another paragraph break would
follow (or a page break, as per the developer's choice) and the letter "B"
came after followed by the "B" entries. Etc.

Can these 2 things be done in A2K? I googled over the weekend a few times
and hunted for info in the help file but, this time, I guess I'm not asking
for the right thing as nothing pertinent came up that was of help.

I learned how to do this, too!!! <g> And I've figured out how to do
it even _after_ a report is created <phew>! <vbg>

I found out how A2K does this when I re-created the report, this time
grouping by the "last name" field and setting it to group by the first
letter during the wizard (it was something like that during the wizard
run).

After the fact: I was able to implement same idea to other reports by
going to the sorting/grouping of the report and choosing to group by
the "lastname" field once again. The trick was to choose "Prefix
Characters" in the "Group On" option in the "Group Properties" in the
sorting/grouping box. I'd not done that before so it didn't work
properly until I chose the right option.

Thanks for the great help, and I had quite a bit of it, and thanks to
the archives for the "page border" code! <g>

Cheers. :eek:D
 
S

StargateFan

Glad you found the option you needed in the wizard.

Further guidance::
If you open the report in design mode, you can get the sorting and grouping
dialog by choosing View: Sorting and Grouping from the Menu.

That was the funny thing, I did all of that. I had the right text box
in the "last name header" and all and sorting/grouping was on the
lastname field. What was wrong was so simple. I changed the "Group
On" option under the "Group Properties" from "Each Value" to "Prefix
Characters"! Like geez! It was that simple. But as they say, all's
well that ends well.

Thanks! :eek:D
StargateFan said:
Got it! Wow, I was just not getting it. I was going around in
circles so then decided to re-build the report from scratch. That's
where I finally found the sorting and grouping done by the first
letter. There are so many options in the report wizard it's tough for
a newbie to know what to pick, but I was forewarned this time on what
to look for <g>. I see that the elements are identical in both
reports it's just that in my earlier one, somewhere I must be missing
something vital. As I work through fine-tuning this report down to
size, I might figure out where I went wrong before.

Thanks. Your post helped me to find the answer by working through
everything. Appreciate it. :eek:D

***********************************************
You should be grouping on the expression your were given and not on the
field.

ALthough you can group on the field.

In the sorting and grouping dialog,
Group on: Prefix Characters
Group Interval: 1

That will group on the first character of the group.

For detailed help, open the Sorting and Grouping dialog, and put the
cursor in
the Group On choice list, and press the F1 key.

StargateFan wrote:

On Mon, 02 Jan 2006 09:55:29 -0500, StargateFan

I think I see what you are trying to do.

[snip]

Use sorting and grouping to make a LastName header and put a textbox
with
=Left([LastName], 1) in the LastName header section. This will give
you your
Letter Heading for each section.

[snip]

I hope it's okay but starting a new thread. I thought this whole
grouping and header thing was working, but it's not. When I used it
during the initial few records I input, the records started with a
different letter of the alphabet so the header thing seemed to work.
To my dismay today upon entering many more records, I have at last
count for example, 25 records showing up under 14 "B" headers with
each grouping underneath containing 1 to 4 entries. That's because I
just happened to enter info about bus routes so first field is the
same in many, with additional bus station info/bus direction and bus
stop phone code being what changed which shows up in 2 other fields.
Otherwise, with a slightly different format, each of those 25 records
would have a header all its own making for 25 "B" headers!!!! <g>
Needless to say, this is _not_ good.

Is there a way to get a printout that groups _all_ entries starting
with same letter? So that all A entries fall under a group header of
"A", same for B, C and so forth down the alphabet? As I mentioned in
the original thread, this was so very easy to do in old DOS days over
15 years ago in dBase III+ so know that the much more powerful A2K
should have a way to do this, too. The archives have revealed only
issues regarding grouping, unfortunately with nothing coming up for
this type of thing and reporting.

Thank you! :eek:D
 
S

StargateFan

Got it!! This took quite some doing.

I created a new report using the index card "label" available from
Avery. After creation, I set it to portrait.

To get a "page border", hunted around again in the archives. This is
the code that goes in the page event (I believe it's called), in the
"On Page" option in properties:

************************************************************
Private Sub Report_Page()
Me.DrawStyle = 0 ' 0 = (Solid Line) thru 6 = (invisible line)
' ALL NUMBERS ARE PIXELS...
Me.DrawWidth = 1 ' set the thickness of the line
' Draw a box (the border!) around the page.
Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight), , B

End Sub
************************************************************


I learned how to do this, too!!! <g> And I've figured out how to do
it even _after_ a report is created <phew>! <vbg>

I found out how A2K does this when I re-created the report, this time
grouping by the "last name" field and setting it to group by the first
letter during the wizard (it was something like that during the wizard
run).

After the fact: I was able to implement same idea to other reports by
going to the sorting/grouping of the report and choosing to group by
the "lastname" field once again. The trick was to choose "Prefix
Characters" in the "Group On" option in the "Group Properties" in the
sorting/grouping box. I'd not done that before so it didn't work
properly until I chose the right option.

Thanks for the great help, and I had quite a bit of it, and thanks to
the archives for the "page border" code! <g>

Cheers. :eek:D

Darn, forgot to mention for other real newbies like me that if you do
this after the fact, one just has to add in the header a text box with
the following:

=Left$([LastName],1)

Mine is coloured green with the parentheses, like this:
="[ - " & Left$([LastName],1) & " - ]"


*************
Also, one last thing, the fields are all concatenated in my report so
the canshrink didn't work properly until I added Trim(). So the
"lastname" field in the report looks like this:

=Trim([LastName] & " " & [FirstName])

That was something that took a long time to fix, too. But once you
know, you're set for life for this type of thing.

Have a good day, everyone! :eek:D
 
Top