Formulier opslaan en printen

Status
Niet open voor verdere reacties.

Geertvdb

Gebruiker
Lid geworden
12 jan 2005
Berichten
121
Ik heb het volgende probleem wanneer ik de gegevens in getypt heb en daar meteen een afdruk van wil maken moet ik eerst de gegevens opslaan voor ik kan printen.
Ik dacht dat het met onderstaande opdracht het zou gaan maar het werkt niet.
(wel als ik het record eerst opsla)

Private Sub cmdAdfrNota_Click()
DoCmd.saveReport "rptRekening"
DoCmd.OpenReport "rptRekening", , , "Id_naam = " & ID_Naam
DoCmd.OpenReport "rptRekeningkopie", , , "Id_naam = " & ID_Naam
End Sub

Wat doe ik fout.

Geert
 
Dan moet je in de besturingselementbron van de rapportvelden verwijzen naar de velden van het formulier. Bijvoorbeeld:

=Formulieren!Formulier1!Tekst0
 
Laatst bewerkt:
Hoi,

Er van uit gaande dat je de gegevens in voert in een formulier en ze wilt afdrukken op een rapport, het volgende:
In jou stukje code sla je het rapport op, niet het formulier! Dus even wijzigen in

DoCmd.SaveForm "Naam van jou formulier"

Dan zal het beter gaan.

Zqwiqly.
 
DoCmd.SaveForm "Naam van jou formulier"

Dit geeft een foutmelding compileer fout kan methode of het gegevenslid niet vinden

Dat is trouwens ook het geval bij wat ik gebruik DoCmd.saveReport "rptRekening"

De oplossing van Bakk4318 begrijp ik niet.

Geert
 
Laatst bewerkt:
Ok, even een paar kleine vraagjes:
- Je gegevens worden in gevoerd in een formulier?
- Hoe wordt het rapport geopend? Middels een knop?
- Waar heb je de code staan die je in je eerste post neergezet hebt?
 
Op het formulier heb ik een knop afdruk gezet die gegevens print die op het rapport staan, dus het rapport wordt niet apart geopend.
De code staat onder de knop afdruk en dan onder gebeurtenis.
 
Laatst bewerkt:
Ik hoop dat ik eea goed gedistilleerd heb uit je laatste post.

Je hebt een formulier, met daarop een knop. Middels die knop wordt een rapport geopend (afgedrukt) die oa gegevens moet weergeven die op je rapport staan. Sla je het formulier niet op voordat je het rapport afdrukt, staan je laatst ingevoerde gegevens niet op het rapport. De code uit je eerste post heb je achter de knop staan, die op je formulier staat.

Vervang:
DoCmd.saveReport "rptRekening"
eens door:
DoCmd.Save
of:
DoCmd.Save acForm, "Naam van jou formulier"

Zqwiqly.
 
DoCmd.Save had ik reeds geprobeerd en gaf hetzelfde resultaat ik ga je 2de suggestie even proberen
 
Er komt nu geen foutmelding bij DoCmd.Save acForm, "frmAdres"maar de gegevens die het formulier staan worden niet geprint.
Deze worden alleen juist geprint als ik het formulier daadwerkelijk via bestand opsla.
 
Laatst bewerkt:
Je kan eens kijken wat er gebeurt als je onderstaande code voor het commando <DoCmd.OpenReport "rptRekening", , , "Id_naam = " & ID_Naam> zet:

If Me.Dirty Then
Me.Dirty = False
End If

Hiermee worden de gegevens opgeslagen, voordat je het rapport opent.

Michel
 
Allen hartelijk dan voor de adviezen. De laatse oplossing werkte en de ingevoerde gegevens worden geprint zonder ze eerst op te slaan.

Geert
 
Hey Octafish,

Kan jij mij dan uitleggen waarom het een wel werkt, en het ander niet?
Als je een DoCmd.Save AcForm uitvoert worden de gegevens toch opgeslagen?

Thanks,

Zqwiqly.
 
@Zqwygly:
Toen ik je oplossing las, had ik niet het idee dat die zou werken, omdat je daarmee het Formulier bewaart, niet de inhoud die daar op staat.
Dirty is een heel net commando (onder de tafel nu van het lachen.....) dat controleert of de inhoud van het formulier is gewijzigd. Op dat moment wordt de status Dirty op True gezet. Je kunt hiermee bijvoorbeeld knoppen activeren of deactiveren, of, zoals in het voorbeeld, de recordset opslaan.
Dat doe je dus door de status op False te zetten.
Vandaar dus de IF: If Dirty (=True zou je er achter kunnen zetten), Me.Dirty=False. Oftewel: schrijf alles weg.

Michel
 
He Michel,

De werking van Dirty was mij reeds duidelijk, ik had echter verwacht dat met het commando DoCmd.Save ook de waarden van het formulier opgeslagen zouden worden (en dus automatisch de status Dirty op False gezet wordt).

De wegen van M$ zijn soms ondoorgrondelijk..... :D

Affijn, ook ik weer wat geleerd.... :thumb:

Groet en een goed weekend,

Zqwiqly.
 
De oplossing van Bakk4318 begrijp ik niet.

Zie de bijlage, maar is bewerkelijker dan de oplossing van OctaFish.
 

Bijlagen

  • VanFormNaarRapport.rar
    8,8 KB · Weergaven: 30
BAKK4318

Bedankt voor het voorbeeld is mij nu wel duidelijker zal er aan denken in een voorkomend geval.

Geert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan