Results 1 to 8 of 8
  1. #1
    Join Date
    Oct 2003
    Location
    Ger
    Posts
    1,969
    Provided Answers: 1

    Unanswered: Print more than 999

    I have a report has more than 1490 pages, I want to print it as parts, i.e from page 1 to page 300 then from 301 to 600 then from 601 to 1000 and so on, the problem is the print dialog box allows only tree digits input [from page] [to page]. How can I overcome this Micro$oft not detected problem?

    Thanks

  2. #2
    Join Date
    Sep 2003
    Location
    Caldes de Malavella, Spain
    Posts
    244

    Re: Print more than 999

    As far as I know the 999 page limit is a restriction of the Windows print spooler; I don't therefore, think there is a solution.


    Originally posted by hammbakka
    I have a report has more than 1490 pages, I want to print it as parts, i.e from page 1 to page 300 then from 301 to 600 then from 601 to 1000 and so on, the problem is the print dialog box allows only tree digits input [from page] [to page]. How can I overcome this Micro$oft not detected problem?

    Thanks
    Andy Briggs
    Elmhurst Solutions Limited
    Database Development and Consultancy
    http://www.elmhurstsolutions.com

  3. #3
    Join Date
    Oct 2003
    Location
    Ger
    Posts
    1,969
    Provided Answers: 1

    Re: Print more than 999

    Originally posted by andybriggs
    As far as I know the 999 page limit is a restriction of the Windows print spooler; I don't therefore, think there is a solution.
    If it so, because of the Windows print spooler, why can I print the whole report (more than 999 pages)?

  4. #4
    Join Date
    Dec 2002
    Location
    Glasgow, UK
    Posts
    100
    Try looking at your printer properties and change the spooling settings (you might need to have admin rights to do this) - you'll find it in the "advanced" tab of the printer properties.

    If that makes no difference you could always make additional reports that only display the data you want ie report 1 contains records 1-300, report 2 contains 301 - 600 and so on!
    Last edited by xander; 12-02-03 at 09:48.
    Access XP & WinXP Pro

  5. #5
    Join Date
    Oct 2003
    Location
    Ger
    Posts
    1,969
    Provided Answers: 1
    Originally posted by xander
    Try looking at your printer properties and change the spooling settings (you might need to have admin rights to do this) - you'll find it in the "advanced" tab of the printer properties.

    If that makes no difference you could always make additional reports that only display the data you want ie report 1 contains records 1-300, report 2 contains 301 - 600 and so on!
    Thanks for your reply
    Concerning your secound suggustion, how can I restrict my Report to have the first 300 Records, then Restrict it again to have the records form the 301 till 600.

  6. #6
    Join Date
    Dec 2002
    Location
    Glasgow, UK
    Posts
    100
    You could base the reports on a autonumber sequence that prints certain ranges but this assumes you have sequential numbers and none are missing (not always the case!)

    You could also try the "docmd.printout" method on the onopen event of the report and make copies of the report and specify which pages are to be printed for each report in the "page from" and "page to" arguments of that function.

    hope that makes sense!
    Access XP & WinXP Pro

  7. #7
    Join Date
    Oct 2003
    Location
    Ger
    Posts
    1,969
    Provided Answers: 1
    Thanks Xander, I'll try the secound suggestion.

    Thanks

  8. #8
    Join Date
    Oct 2003
    Location
    Canada
    Posts
    574
    I have a temporary table that I use in instances like this. I use the following code to delete the table then recreate it to make sure the autonumber starts at 1:

    Private Sub Redefine_Table(tablename)
    Dim mydb As Database, tdf As TableDef, fld As Field, idx As Index
    On Error Resume Next
    DoCmd.DeleteObject acTable, tablename
    On Error GoTo 0
    Set mydb = CurrentDB
    Set tdf = mydb.CreateTableDef(tablename)

    Set fld = tdf.CreateField
    fld.Name = "RecordNumber"
    fld.Type = dbLong
    fld.Size = 4
    fld.Attributes = dbAutoIncrField
    tdf.Fields.Append fld

    Set fld = tdf.CreateField
    fld.Name = "RecType"
    fld.Type = dbText
    fld.Size = 10
    fld.AllowZeroLength = True
    tdf.Fields.Append fld

    Set fld = tdf.CreateField
    fld.Name = "ClientName"
    fld.Type = dbText
    fld.Size = 30
    fld.AllowZeroLength = True
    tdf.Fields.Append fld

    Set fld = tdf.CreateField
    fld.Name = "Address"
    fld.Type = dbText
    fld.Size = 255
    fld.AllowZeroLength = True
    tdf.Fields.Append fld

    Set fld = tdf.CreateField
    fld.Name = "CurrentOwing"
    fld.Type = dbCurrency
    fld.Size = 8
    tdf.Fields.Append fld

    tdf.Fields.Refresh
    mydb.TableDefs.Append tdf
    mydb.TableDefs.Refresh

    Set idx = tdf.CreateIndex(tablename)
    Set fld = idx.CreateField("RecordNumber")
    idx.Fields.Append fld
    idx.Primary = True
    Set fld = idx.CreateField("ClientName")
    idx.Fields.Append fld
    idx.Unique = True
    tdf.Indexes.Append idx

    Set mydb = Nothing
    End Sub

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •