Rapport opmaken uit Formulier

Status
Niet open voor verdere reacties.

TMW02

Gebruiker
Lid geworden
5 feb 2014
Berichten
24
Goedemiddag,

In mijn database wil ik middels een formulier een opdracht verzenden. Alles gegevens uit mijn formulier slaat hij netjes op in een Tabel in mijn Acces-database deze gegevens zijn dan onder het dossiernummer terug te vinden.

Uit deze gegevens kan ik een rapport opmaken , echter maakt hij vervolgens een rapport van alle ingevulde formulieren.

Op welke manier kan ik een rapport uit opmaken van het ingevulde formulier , dus niet een verzameling van alle ingevulde formulieren. Hoop dat iemand mij hiermee kan helpen

Groeten ,

Marcel
 
Rapporten maakt Access niet op basis van een formulier, maar op basis van een onderliggende tabel of query. Dus qua opzet hetzelfde als een formulier. Een rapport laat dus in beginsel alle records uit die bron zien. Wil je er één, dan moet je het rapport filteren. Dat kan vanuit het formulier als je daar een knop op maakt die het rapport filtert. Ziet er in code ongeveer zo uit:
Code:
Private Sub cmdRapport_Click()
On Error GoTo Err_cmdRapport_Click
Dim stDocName As String
    
    stDocName = "rpt_Klantgegevens"
    DoCmd.OpenReport stDocName, acPreview, , "[KlantID]=" & Me.KlantID
    Exit Sub

Err_cmdRapport_Click:
    MsgBox Err.Description
    
End Sub
In dit voorbeeld wordt een rapport <rpt_Klantgegevens> geopend met een filter op "[KlantID]=" & Me.KlantID.
 
Octafish bedankt voor je reactie !
Wat een simpele oplossing eigenlijk , kan het zijn dat er een maxium zit aan het aantal gevens die je wil weergeven in het rapport ?

Alvast bedankt

Marcel
 
Ja. Een rapport heeft, net als een formulier, een aantal criteria waar je binnen moet blijven.
Form and Report
Number of characters in a label: 2,048
Number of characters in a text: box 65,535
Form or report width: 22,75 in. (57.79 cm)
Section height: 22.75 in. (57.79 cm)
Height of all sections plus section headers: (in Design view) 200 in. (508 cm)
Number of levels of nested forms or reports: 7
Number of fields or expressions that you can sort or group on in a report: 10
Number of headers and footers in a report 1 report header/footer;
1 page header/footer;
10 group headers/footers
Number of printed pages in a report: 65,536
Number of controls and sections that you can add over the lifetime of the form or report: 754
Number of characters in an SQL statement that serves as the Recordsource or Rowsource property of a form, report, or control (both .accdb and .adp): 32,750
 
Om mijn vraag wat te verduidelijken : ik bedoel hiermee het aantal weer te geven velden , het lijkt er namelijk op dat ik er maar 15 weer kan geven , klopt dit ?

Alvast bedankt

Groeten
Marcel
 
Een veld is een control. Meestal zit er een label aan vast, en één veld+label neemt dus 2 controls in beslag van de beschikbare 754. Reken uit hoeveel je er kwijt kunt :).
 
Oke dankjewel ! In mijn query vraag ik in totaal 34 velden weer te geven in mijn rapport echter geeft hij er niet meer dan 15 weer . Gezien jouw uitleg zou ik deze 34 velden makkelijke kwijt moeten kunnen echter krijg ik het niet voor elkaar dat er meer dan 15 velden worden weergegeven. Is hier een simpele verklaring voor ?

Groeten Marcel
 
Zonder de db te zien? Nee. Wel moet je natuurlijk rekening houden met de plaats van je controls. Een rapport is gebaseerd op een bepaald afdrukformaat, en een staand A4-tje met 15 velden naast elkaar is al heel wat in mijn optiek.
 
dank voor je reactie , ik heb het inmiddels kunnen verhelpen door de beschikbare velde handmatig in het rapport te slepen .

De code die je hiervoor gegeven hebt voor het openen van een rapport was erg handig , maar volgens mij kan ik de code ook uitbreiden zodat die met een druk op de knop eigenlijk het rapport automatisch in pdf als bijlage in een email bericht toevoegd. Of is dit onjuist ? Zo ja , is hiervoor dan wellicht een standaard code die ik kan gebruiken ? Anders moet ik zelf wat dingen gaan uitproberen. Alvast bedankt !

Groeten !
 
Krijg je zoiets:
Code:
Dim stDocName As String, stTekst as String
    
    stDocName = "rpt_Klantgegevens"
	stTekst = "Hierbij de gevraagde klantgegevens"
    DoCmd.OpenReport stDocName, acPreview, , "[KlantID]=" & Me.KlantID
	DoCmd.SendObject acSendReport, stDocName, acFormatHTML, "mailme@stupid.com", , , "Klantgegevens", stTekst, False
    Exit Sub
 
Super Octafish ! Alleen gaat hij hem nou automatisch verzenden , wat ik het liefst zou hebben is dat hij het mailbericht opent en de bijlage in de mail heeft toegevoegd. Het verzenden doe ik liever handmatig zodat ik eventueel nog opmerkingen kan toevoegen op iemand in in een CC toevoegen.

In ieder geval al heel erg bedankt voor je hulp
Groeten !
 
Verander je False naar True.
Code:
Dim stDocName As String, stTekst As String
    
    stDocName = "rpt_Klantgegevens"
    stTekst = "Hierbij de gevraagde klantgegevens"
    DoCmd.OpenReport stDocName, acPreview, , "[KlantID]=" & Me.KlantID
    DoCmd.SendObject acSendReport, stDocName, acFormatHTML, "mailme@stupid.com", , , "Klantgegevens", stTekst, [B][COLOR="#0000CD"]True[/COLOR][/B]
    Exit Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan