Printout Filofax Format Pages with AR

Posted by: wskrause on 4 August 2017, 2:41 pm EST

  • Posted 4 August 2017, 2:41 pm EST

    I am using an unbound report and want to print out from a 6 field address Database (FirstName, LastName, ZIP, City, Phone and Fax).
    The resulting report should have 2 colums and 2 rows (giving 4 identically sized "areas").
    How can I achieve this?
    Any help or hint is highly appreciated.

    Thanks
  • Replied 4 August 2017, 2:41 pm EST

    You could do this by setting your Detail section's column count to 2 and sizing your detail to fit one of the 4 "areas".

    http://www.datadynamics.com/Help/AR2/AR2Std/HX_Section_ColumnCount.html
  • Replied 4 August 2017, 2:41 pm EST

    Thanks for your help.
    Sorry - if my questions sound primitive - but I simply do not get the idea of how to succeed.

    Right now I am using one report with 4 fields stacked from Top to Bottom.
    Each field height depends on the data (= is multiline)
    The Detail section is 1 column, cangrow = true,canshrink = true

    Do I need to feed this into a "master-subreports subreport" or do I need to do something to the Detail layout of the above?

    I tried almost everything imagineable but never succeed in getting the desired layout ( 4 patches of identical size).

    Please help once more....
    Thanks
    Wolfgang

  • Replied 4 August 2017, 2:41 pm EST

    Thanks again for the help, wsmith.

    You do not need to use subreports to accomplish this.  I do recommend using the AcrossDown ColumnDirection:
    http://www.datadynamics.com/Help/AR2/AR2Std/HX_Section_ColumnDirection.html

    Also, see the CustomerLabels report from the CustomPreview sample.  This is installed to your machine by default at the following location:
    C:\Program Files\Data Dynamics\\Samples\Visual Basic Samples\CustomPreview
  • Replied 4 August 2017, 2:41 pm EST

    Thank you wshmith and PeterDD for your help.
    I once again had a look at the samles but did not find an answer to my problem. On Labels, you only print one record per lable.
    But I want as much records as would fit on one area (4 areas per page, 2 top, two bottom).
    Also, my indivudual records are not defined in their height.
    Please see the attched screenshot with the annotation, which was made using column direction downAcross.
    -------
    I am getting good results, when limiting the detail height to the height of one patch, but this would waste half of the page.

    Any idea?
    2005/08/Timeplan_A6_down_accross.gif
  • Replied 4 August 2017, 2:41 pm EST

    Think of your detail section as just on record from you database, i.e. the six fields, Fist & Last Name, City, Fax & Phone numbers. This detail section will repeat as many times as you have records in the recordset.

    Now you want to display 4 records/details per page, in a 2 row and 2 column format, so you will basically have 4 cells, assuming you are using 8.5 x 11 paper and using half inch margins with zero column spacing. I would size each cell/record/detail to a quarter of the avaiable space, 3.75 x 5 inches or 5,400 x 7,200 twips and set both CanGrow and CanShrink to false and your columncount set to 2 and direction to downacross.

    Now I would place six textbox/field controls in the detail section, one for each field in your recordset. Size them according to your needs with whatever multiline functionality that you need, just remember the detail section itself will not expand.

    Now setup your code to run the unbound portion of the report and feed your recordset (or array) via the FetchData and DataInitialize events.

    That should do the trick, if you are still having issues with the columns you could try using the following code example...

    Private Sub Detail_Format()
        Static intCol As Integer
        Static intPage As Integer
       
        intCol = intCol + 1
       
        If intPage >= 2 Then
            Detail.NewPage = ddNPBefore
            intPage = 0
           
        ElseIf intCol > 2 Then
            Detail.NewColumn = ddNPBefore
            intCol = 0
            intPage = intPage + 1
           
        Else
            Detail.NewColumn = ddNPNone
            Detail.NewPage = ddNPNone
        End If
    End Sub
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels