Tabel in rapport maken

Status
Niet open voor verdere reacties.

kuwertie

Gebruiker
Lid geworden
1 nov 2010
Berichten
50
Hallo,

Ik ben op dit moment bezig met een transportformulier in access 2003.
Graag zou ik willen weten hoe ik een tabel in mijn rapport kan krijgen (tabelweergave bij afdruk). Dus de vakjes in de tabel zijn tekstvakken die informatie uit het formulier krijgen.
Deze moeten dus ook kunnen groeien als er meer tekst is.

Ik dacht dat ik het makkelijk zou vinden maar ik zie nergens dat ik een tabel kan maken.

Waar kan ik dat vinden?

Alvast bedankt.
 
Dat kan met een subreport. Maak een rapport aan die de tabel laat zien die jij wilt.
Maak een subreport in het rapport dat je al hebt en koppel die aan het rapport dat je hebt gemaakt als tabel.

Als je nu het hoofdreport runt, dan zie je dat het subreport die tabel laat zien.

HTH:D
 
Ik weet niet of je mij goed begreep. Want op jou manier gaat het niet lukken denk ik.
Ze werken hier met excel. Hier een printscreen ervan: Transport.JPG

Dus het moet er zo uitzien. Dus de gegevens die ingevoerd worden in het formulier. Moeten in zo'n tabel komen te staan.
 
misschien had je dan even moeten melden dat je rapport een xl spreadsheet is. klopt dat? Zo ja wat bedoel je precies met "transportformulier" ?
 
Bedankt voor je reactie.

Ik zal het beter proberen uit te leggen.

Nou ik heb een database waar ik transportgegevens (vracht gegevens zoals: coordinator, ordernummer, transportmiddel, laden, lossen etc.) in kan opslaan. Dus dit betekent dat in het Form (frm_Transport) velden zitten die ingevuld moeten worden. Ook heb ik een keuzelijst voor de coordinatornamen.
Nadat deze ingevoerd zijn, worden deze in de tabel (tblTransport) opgeslagen en moet deze geprint kunnen worden. Hiervoor wil ik nou een xl spreadsheet rapport voor maken.
De bijlage (spreadsheet) in mijn vorige bericht is een excel printscreen. Dus zo'n spreadsheet zou ik graag ook in Access willen hebben.
 
hiervoor kan je het best een XLT, excel template maken. Daarin zet je alles was altijd al in je spreadsheet moet komen zoals het plaatje van het logo.

Hieronder een stukje code die je misschien kan gebruiken of delen ervan. Het is niet compleet en als je er verder niet uitkomt dan hoor ik het wel.
Code:
Public Sub ExportToExcel(strQuery As String, Optional strKoptekst As String = "", Optional blnRaw As Boolean = False)

    Dim dbs          As Database
    Dim rst          As Recordset
    Dim appXL        As Excel.Application
    Dim wb           As Workbook
    Dim ws           As Worksheet
    Dim intRegel     As Integer
    Dim strOnderwerp As String
    Dim intAantal    As Integer
    
    Set appXL = New Excel.Application
    Set wb = appXL.Workbooks.Add
    Set ws = wb.Worksheets(1)
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset(strQuery)
    
    CreateSpreadsheetFromRS ws, rst, True, True

    appXL.Visible = True 'for debugging purposes
    
    If Not blnRaw Then
        'Roteren 90 graden koptekst.
        ws.Range("C1:I1").Select
        With appXL.Selection
            .HorizontalAlignment = xlGeneral
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 90
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        ws.Range("A1:I1").Select
        With appXL.Selection.Interior
            .ColorIndex = 15
            .Pattern = xlSolid
        End With
        
        With appXL 'Kolom breedten aanpassen
            .Columns("C:E").Select
            .Columns("C:E").EntireColumn.AutoFit
            .Columns("I:I").ColumnWidth = 5.71
            .Range("A1").Select
        End With
        
        ws.Range("A2").Select
        appXL.ActiveWindow.FreezePanes = True
        
        'Regel voor regel aflopen in de spreadsheet
        'groeperen per process(onderwerp) beginnen op de tweede regel.
        intRegel = 1
        intAantal = 1
        strOnderwerp = ws.Cells(intRegel, 1)
        Do While True
            If Len(ws.Cells(intRegel + intAantal, 1)) = 0 Then
                Exit Do
            End If
            If strOnderwerp <> ws.Cells(intRegel + intAantal, 1) Then
                FormatRptMgmt1 appXL, ws, intRegel, intRegel + intAantal - 1
                intRegel = intRegel + intAantal
                intAantal = 0
                strOnderwerp = ws.Cells(intRegel, 1)
            Else
                If intAantal > 0 Then
                    ws.Cells(intRegel + intAantal, 1) = ""
                End If
                intAantal = intAantal + 1
            End If
        Loop
    
        FormatRptMgmt1 appXL, ws, intRegel, intRegel + intAantal - 1

    End If

    If Len(strKoptekst) > 0 Then
        AddHeader appXL, strKoptekst
    End If

    appXL.Visible = True
End Sub
Enjoy!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan