Eén record printen van een formulier

  • Onderwerp starter Onderwerp starter RDIE
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RDIE

Gebruiker
Lid geworden
25 aug 2013
Berichten
83
Ik probeer al een tijdje om erachter te komen hoe ik één record kan printen vanaf een formulier binnen Acces 2013

Ik heb via via de volgende code gevonden:

Private Sub cmdprint_Click()
On Error GoTo Err_cmdprint_Click
Dim StrCriterion As String
StrCriterion = "[id]= " & Me![Id]
DoCmd.OpenForm "naam van het formulier", acViewPreview, , StrCriterion
Exit_cmdprint_Click:
Exit Sub
Err_cmdprint_Click:
MsgBox Err.Description
Resume Exit_cmdprint_Click
End Sub

Op zich werkt het printen dan wel maar het punt is dat ik enkel het eerste record kan printen. Wat ik wil is dat als ik bijvoorbeeld record nr 89 in beeld heb dat dan ook nr 89 wordt geprint.
Voor de volledigheid [id] is het sleutelveld dat ook daadwerkelijk id heet, en het is een autonummering veld

Wie kan mij zeggen waar de fout zit?
BVD
 
Doe jezelf een lol, en druk nooit (ik herhaal: nooit) formulieren af, maar maak daar altijd (jawel: altijd :) ) een rapport voor. Formulieren zijn bedoeld voor schermweergave, en rapporten zijn er speciaal voor het betere afdrukwerk.
En maak je code op met de CODE knop; die is daar ook voor ;)
 
één record printen

Die lol zal ik mezelf in de toekomst proberen te doen maar gaat dat een verschil maken voor het probleem wat ik graag opgelost zie?
 
als je Id een tekstveld is moet je bij je criteria nog een ' toevoegen dacht ik

Code:
StrCriterion = "[id]= " & Me![Id] [COLOR="#FF0000"]& "'"[/COLOR]

zelf schrijf ik ook meestal me.[id] ipv me![id]

Wat ook zou kunnen. Je opend het formulier opnieuw. Hierdoor wordt het formulier eerst afgesloten waarbij je variabele me![id] wordt gewist. Bij openen van het formulier begin je dan weer vooraan.
oplossing zou dan zijn eerst je variabele weg schrijven en dan het formulier openen.
Code:
Private Sub cmdprint_Click()
 On Error GoTo Err_cmdprint_Click
[COLOR="#FF0000"]dim StrId as string   'zou een id niet beter een nummer zijn? dan is het een integer
strId=me.id [/COLOR] 
Dim StrCriterion As String
 StrCriterion = "[id]= " & [COLOR="#FF0000"]StrId & "'"[/COLOR] 
 DoCmd.OpenForm "naam van het formulier", acViewPreview, , StrCriterion
 Exit_cmdprint_Click:
 Exit Sub
 Err_cmdprint_Click:
 MsgBox Err.Description
 Resume Exit_cmdprint_Click
 End Sub
 
Laatst bewerkt:
Die lol zal ik mezelf in de toekomst proberen te doen
Ik zou zeggen: hoe sneller je omkeert, hoe minder foute kilometers je maakt :)
 
printen 1 record

Beste jwaque,
helaas ik kom nog altijd niet verder dan het allereerste record.
Wel vond ik op internet een (microsoft) instructie als volgt: maak een rapport, gebruik dan de primary key in het formulier en open het rapport met dát veld.
Ik denk dat hier de sleutel ligt en dat de code dan zal werken, maar ik weet niet hoe ik met de primary key in een formulier het rapport kan openen.
Misschien kan iemand daar een tipje van oplichten?
 
Wel vond ik op internet een (microsoft) instructie als volgt: maak een rapport, gebruik dan de primary key in het formulier en open het rapport met dát veld.
Je bedoelt natuurlijk: na ampele overwegingen heb ik besloten om je tip uit bericht #2 op te volgen, en een rapport te maken. Of geloof je iets pas als Microsoft het óók zegt? :)
Als je een rapport maakt, kun je met de wizard een knop maken die precies doet wat jij wilt. Eén van de vragen die je namelijk krijgt is of je het rapport wilt openen met het geselecteerde record op het formulier. En dat is nu krek wa jij wou.
 
Ik zit een beetje met hetzelfde probleem

Ik heb een tabel met de naam "bezoekrapport", met als sleutelveld [Volgnummer1], welke is gebaseerd op een module, om jaar, datum, tijd en 4cijferig nummer tot Volgnummer te maken! Dit functioneert goed!
En ik heb een rapport "rptbezoekrapport"

Nu wil ik ook graag, dat als ik op mijn formulier een record bekijk, via een knop, de data uit deze record en uit gerelateerde tabellen op het rapport krijgen,
Ik heb al allerlei VBA-codes geprobeerd, maar niets werkt. Of ik krijg expressiefoutmeldingen of ik krijg een leeg rapport te zien!

Nu vroeg ik me af heeft iemand van jullie een goed werkende VBA-code, zodat ik d.m.v. knop mijn rapport kan openen en vullen.

Alvast bedankt.
 
Om te beginnen, welkom bij HelpMij! Het is niet de bedoeling om in te breken in een (afgeronde) vraag van iemand anders. Als de aangedragen oplossing niet werkt, dan moet je een eigen vraag aanmaken, liefst met een voorbeeld db erbij.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan