Maintaining Page Numbers with multiple reports.

  • Thread starter Thread starter Robin Chapple
  • Start date Start date
R

Robin Chapple

I have four separate reports that need to be bound into one annual
report. I need to maintain continuity of numbering. I was advised to
employ an unbound report and have the four reports as sub reports.

That works very well except for a report with columns.

I was advised to use grouping with =1 which is illustrated on the web
page:

http://www.rotary9790.org.au/test/alumni.htm

This destroys the columns. I also have provided screen captures of:

i) the original page as it should be printed;
ii) the same page after the grouping;
and
iii) the same page again when the subform is part of the main form.

Thanks,

Robin Chapple
 
I have four separate reports that need to be bound into one annual
report. I need to maintain continuity of numbering. I was advised to
employ an unbound report and have the four reports as sub reports.

That works very well except for a report with columns.

I was advised to use grouping with =1 which is illustrated on the web
page:

http://www.rotary9790.org.au/test/alumni.htm

This destroys the columns. I also have provided screen captures of:

i) the original page as it should be printed;
ii) the same page after the grouping;
and
iii) the same page again when the subform is part of the main form.

Thanks,

Robin Chapple

Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.
 
Do your page numbering in the unbound report, not the subreports and you
should get consecutive page numbering.
 
I'm sorry but I don't see what the problem is in the link you provided.


--
PC Datasheet
Your Resource For Help With Access, Excel And Word Applications
(e-mail address removed)
www.pcdatasheet.com
 
Fred,

I have carefully followed your instructions and I get an error
message:

""Runtime error 94
Invalid use of null"

I confirm that I do have a zero in the "intPageNumber" field.

Here is my attempt at the code from one report:

Option Compare Database
Option Explicit
Dim intLastPage As Integer

Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")

End Sub

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";"
DoCmd.SetWarnings True

End Sub

Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As
Integer)

[Page] = [Page] + intLastPage

End Sub

Now I am out of my depth.

Robin

I have four separate reports that need to be bound into one annual
report. I need to maintain continuity of numbering. I was advised to
employ an unbound report and have the four reports as sub reports.

That works very well except for a report with columns.

I was advised to use grouping with =1 which is illustrated on the web
page:

http://www.rotary9790.org.au/test/alumni.htm

This destroys the columns. I also have provided screen captures of:

i) the original page as it should be printed;
ii) the same page after the grouping;
and
iii) the same page again when the subform is part of the main form.

Thanks,

Robin Chapple

Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.
 
Possible you did not scroll down the page enough.

There are five images.

Image 3 shows the report in it's original and intended display.

Image 4 shows the same report with the code of image one added.

Image five shows the same report when the subreport is added to the
main report.

Thanks for your interest.

Robin
 
Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.
--
I have tested further with these results:

i) An attempt to preview the report produces "Runtime error 94 Invalid
use of null"

ii) an attempt to print to my PDF printer goes nowhere; (this to see
the result without using paper)

iii) an attempt to print a limited number of pages to the default
printer brings up the "Now Printing" box displays the usual "Ready to
Print" box but does not proceed. The printer does not show anything in
the print queue.

Thanks,

Robin Chapple
 
Fred,

I have now diagnosed my problem. The [Page] field retained my manual
method of producing continuous pages numbers.

="Page "&([Page]+32)

Removal of the previous count has me up and running.

Many thanks,

Robin Chapple

I have four separate reports that need to be bound into one annual
report. I need to maintain continuity of numbering. I was advised to
employ an unbound report and have the four reports as sub reports.

That works very well except for a report with columns.

I was advised to use grouping with =1 which is illustrated on the web
page:

http://www.rotary9790.org.au/test/alumni.htm

This destroys the columns. I also have provided screen captures of:

i) the original page as it should be printed;
ii) the same page after the grouping;
and
iii) the same page again when the subform is part of the main form.

Thanks,

Robin Chapple

Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.
 
Thanks to Fred my page numbering is under control.

I have attempted to automate the preparation of the "Contents" page.

I have a "tblContents" with a field for each report which I had
previously entered manually into a the table after printing the main
report.

The is an attempt to capture the variable after the first report is
printed and add one and then put that number in the field for the next
report start page.

For example report one has 32 pages and 32 is added to the table
"tblPage". I am attempting to capture the 32, add one, and have 33 in
the "sponsor' field of the "Contents" table.

-----Start------
Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
Tables!tblContents!sponsor = intLastPage + 1

End Sub

------End-----

Thanks,

Robin Chapple
 
Thanks to Fred my page numbering is under control.

I have attempted to automate the preparation of the "Contents" page.

I have a "tblContents" with a field for each report which I had
previously entered manually into a the table after printing the main
report.

The is an attempt to capture the variable after the first report is
printed and add one and then put that number in the field for the next
report start page.

For example report one has 32 pages and 32 is added to the table
"tblPage". I am attempting to capture the 32, add one, and have 33 in
the "sponsor' field of the "Contents" table.

-----Start------
Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
Tables!tblContents!sponsor = intLastPage + 1

End Sub

------End-----

Thanks,

Robin Chapple

Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.

I'll assume you already have a table with a field named "Sponsor",
Number datatype.

Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
CurrentDb.Execute "Update tblContents Set tblContents.Sponsor =
intPageNumber +1;", dbFailOnError

End Sub

Isn't this the same thing we went through with the earlier posts in
this thread? (Except this time I'm using CurrentDb.Execute instead of
RunSQL.)
 
I'll assume you already have a table with a field named "Sponsor",
Number datatype.

Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
CurrentDb.Execute "Update tblContents Set tblContents.Sponsor =
intPageNumber +1;", dbFailOnError

End Sub

Isn't this the same thing we went through with the earlier posts in
this thread? (Except this time I'm using CurrentDb.Execute instead of
RunSQL.)

Fred,

This is in addition to the original advice. This time I am populating
fields in a table "tblContents" which has a field for each individual
report. The contents page should show the page number for each report
in the combined report.

The new line of code gives an error message:

"Compile error. Expected end of statement"

The complete line of code is coloured red.

Thanks,

Robin Chapple
 
Pardon me for interupting.

A minor change to the code may solve the problem.

CurrentDb.Execute "Update tblContents " & _
" Set tblContents.Sponsor =" & intPageNumber +1, dbFailOnError

Note that we moved the value of IntPageNumber + 1 outside the quotes to
construct a valid SQL statement.
 
I have four separate reports that need to be bound into one annual
report. I need to maintain continuity of numbering. I was advised to
employ an unbound report and have the four reports as sub reports.

That works very well except for a report with columns.

I was advised to use grouping with =1 which is illustrated on the web
page:

http://www.rotary9790.org.au/test/alumni.htm

This destroys the columns. I also have provided screen captures of:

i) the original page as it should be printed;
ii) the same page after the grouping;
and
iii) the same page again when the subform is part of the main form.

Thanks,

Robin Chapple

Can you try it this way?

Make a table to hold the last page number of each report.
Table name "tblPage"
All you need is one field:
"intPageNumber" Number datatype, Integer

Next, enter a 0 (Zero) into the field as a starter number.

Now in each report, Dim a variable in the declarations section:

Option Compare Database
Option Explicit
Dim intLastPage as Integer

Code each report's Open event:
intLastPage = DLookUp("intPageNumber","tblPage")

Code each Report's Report Header Format event:
[Page] = [Page] + intLastPage

Code each Report's Report Footer Print event:

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " & [Page] &
";"
Docmd.SetWarnings True

Each report should pick up the ending page of the previous report and
increment it by 1.
Note: You'll not be able to use the [Pages] property in any of these
reports, i.e. ="Page " & [Page] & " of " & [Pages] as you'll get
something like "Page 32 of 4".

You must enter a 0 in the table at the start of each batch of reports.
If there is always one same report which is run first in the batch,
just use a RunSQL in the first Report's Open event (before anything
else):

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = 0;"
Docmd.SetWarnings True

to reset the field to zero.

If the Reports are in run in random order, manually (or otherwise)
enter a 0 into that table field before starting.

I have returned to this project following some domestic trauma.

The first report has 30 pages. It correctly sets intLastPage to 30 and
puts 31 into the contents table for the first page number of the next
report.

I have now added the code to the second report which has just three
pages.

The first page in page number 31 as expected,
The second page is page 62 and
The third page is page 93

which looks like the second report second page number is second report
first page plus the "intLastPage" and so on.

Here is the VBA:

Option Compare Database
Option Explicit
Dim intPageCount As Integer
Dim intLastPage As Integer

Private Sub PageHeader_Format(Cancel As Integer, FormatCount As
Integer)

[Page] = [Page] + intLastPage

End Sub
Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")

End Sub

Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As
Integer)

intPageCount = [Page]
CurrentDb.Execute "Update tblcontents Set tblContents.District
= " & [intPageCount] + 1 & ";", dbFailOnError

End Sub

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";"
DoCmd.SetWarnings True

End Sub


===============

Thanks,

Robin Chapple
 
On Sun, 31 Jul 2005 20:31:49 +1000, Robin Chapple wrote:

Robin,
See my comments marked with *** in line below.

*** snipped ***
I have returned to this project following some domestic trauma.

The first report has 30 pages. It correctly sets intLastPage to 30 and
puts 31 into the contents table for the first page number of the next
report.

I have now added the code to the second report which has just three
pages.

The first page in page number 31 as expected,
The second page is page 62 and
The third page is page 93

which looks like the second report second page number is second report
first page plus the "intLastPage" and so on.

Here is the VBA:

Option Compare Database
Option Explicit
Dim intPageCount As Integer

*** You have combined 2 different posts from 2 different threads in 2
different news groups.
intPageCount is not needed as it serves the same purpose as
intLastPage. See *** below
Dim intLastPage As Integer

Private Sub PageHeader_Format(Cancel As Integer, FormatCount As
Integer)

[Page] = [Page] + intLastPage

*** This is not the correct event for this.
It must go in the Report Header Format event, not the Page Header.
You want to increment just the first page of each report by 30, not
each page by 30. The report itself takes care of incrementing the
second, third, etc. pages.
The Page Header event is run on each page, therefore you were getting
30 added to each page.
The code in the Report Header is run just once per report.
The first page of the second report is 31 (1+30), the next page is 32
(31 + 1), the third page is 33 (32 + 1), etc., which is what you want.
End Sub
Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
*** This is OK.
End Sub

Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As
Integer)

intPageCount = [Page]
CurrentDb.Execute "Update tblcontents Set tblContents.District
= " & [intPageCount] + 1 & ";", dbFailOnError
*** This is OK, but you can combine this code with the code in the
Report Footer Print event.
End Sub

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";"
DoCmd.SetWarnings True
*** This is OK, but you can include the above Format event code with
this.
End Sub

===============

Thanks,

Robin Chapple

Here is what the entire code will look like.

I've changed the DoCmd.RunSQL to CurrentDb.Execute statements.
Using the Execute statement instead of RunSQL there is no need for
SetWarnings False and SetWarnings True.

Watch out for improper e-mail line wrapping on the longer lines.

Option Compare Database
Option Explicit
Dim intLastPage As Integer
===========

Private Sub Report_Open(Cancel As Integer)
' On the FIRST report that is run
' re-set the table field to Zero.

CurrentDb.Execute "Update tblPage Set tblPage.intPageNumber = 0;",
dbFailOnError

' On ALL the reports, including the first one

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
End Sub
==============

Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As
Integer)
[Page] = [Page] + intLastPage
End Sub
=============

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

' I've combined your Report Footer Format and Print events here.
' Your previous intPageNumber is not needed here.
' We'll use [Page] instead.

CurrentDb.Execute. "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";", dbFailOnError

CurrentDb.Execute "Update tblcontents Set tblContents.District
= " & [Page] + 1 & ";", dbFailOnError

End Sub
================

I hope this explains why you were getting such large page numbers, and
gets you on-track again.
 
On Sun, 31 Jul 2005 20:31:49 +1000, Robin Chapple wrote:

Robin,
See my comments marked with *** in line below.

*** snipped ***
I have returned to this project following some domestic trauma.

The first report has 30 pages. It correctly sets intLastPage to 30 and
puts 31 into the contents table for the first page number of the next
report.

I have now added the code to the second report which has just three
pages.

The first page in page number 31 as expected,
The second page is page 62 and
The third page is page 93

which looks like the second report second page number is second report
first page plus the "intLastPage" and so on.

Here is the VBA:

Option Compare Database
Option Explicit
Dim intPageCount As Integer

*** You have combined 2 different posts from 2 different threads in 2
different news groups.
intPageCount is not needed as it serves the same purpose as
intLastPage. See *** below
Dim intLastPage As Integer

Private Sub PageHeader_Format(Cancel As Integer, FormatCount As
Integer)

[Page] = [Page] + intLastPage

*** This is not the correct event for this.
It must go in the Report Header Format event, not the Page Header.
You want to increment just the first page of each report by 30, not
each page by 30. The report itself takes care of incrementing the
second, third, etc. pages.
The Page Header event is run on each page, therefore you were getting
30 added to each page.
The code in the Report Header is run just once per report.
The first page of the second report is 31 (1+30), the next page is 32
(31 + 1), the third page is 33 (32 + 1), etc., which is what you want.
End Sub
Private Sub Report_Open(Cancel As Integer)

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
*** This is OK.
End Sub

Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As
Integer)

intPageCount = [Page]
CurrentDb.Execute "Update tblcontents Set tblContents.District
= " & [intPageCount] + 1 & ";", dbFailOnError
*** This is OK, but you can combine this code with the code in the
Report Footer Print event.
End Sub

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

DoCmd.SetWarnings False
DoCmd.RunSQL "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";"
DoCmd.SetWarnings True
*** This is OK, but you can include the above Format event code with
this.
End Sub

===============

Thanks,

Robin Chapple

Here is what the entire code will look like.

I've changed the DoCmd.RunSQL to CurrentDb.Execute statements.
Using the Execute statement instead of RunSQL there is no need for
SetWarnings False and SetWarnings True.

Watch out for improper e-mail line wrapping on the longer lines.

Option Compare Database
Option Explicit
Dim intLastPage As Integer
===========

Private Sub Report_Open(Cancel As Integer)
' On the FIRST report that is run
' re-set the table field to Zero.

CurrentDb.Execute "Update tblPage Set tblPage.intPageNumber = 0;",>dbFailOnError

' On ALL the reports, including the first one

DoCmd.Maximize
intLastPage = DLookup("intPageNumber", "tblPage")
End Sub
==============

Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As
Integer)
[Page] = [Page] + intLastPage
End Sub
=============

Private Sub ReportFooter_Print(Cancel As Integer, PrintCount As
Integer)

' I've combined your Report Footer Format and Print events here.
' Your previous intPageNumber is not needed here.
' We'll use [Page] instead.

CurrentDb.Execute. "Update tblPage Set tblPage.intPageNumber = " &
[Page] & ";", dbFailOnError

CurrentDb.Execute "Update tblcontents Set tblContents.District = " & [Page] + 1 & ";", dbFailOnError

End Sub
================

I hope this explains why you were getting such large page numbers, and
gets you on-track again.

Fred,

I have taken your code, edited the word wrap and pasted it complete
into the first report. I changed the field in table contents to the
next report name (sponsor) and that works as planned. It is a 30
page report.

Planning to avoid typo errors I then copied that code, remmed the line
that is for the first report only and changed the field name in this
line:

CurrentDb.Execute "Update tblcontents Set tblContents.Sponsor = " &
[Page] + 1 & ";", dbFailOnError

to the field for the next report (PostCode):

CurrentDb.Execute "Update tblcontents Set tblContents.PostCode = " &
[Page] + 1 & ";", dbFailOnError

The page numbers on the second report increment as expected.

tblPage.intPageNumber = 30 (unchanged)

and

tblContents.PostCode = 0 (expected 34)

BTW I found your deliberate mistake. <G>

Thanks,

Robin Chapple
 
Back
Top