Wie kann ich den aktuellen Datensatz eines Formulares in einem Bericht
drucken lassen?
Die Access-Hilfe bieten genau diesen Punkt zwar an, ist aber so
unverständlich und fehlerhaft, dass diese mir auch nicht viel weiterhalf.
Nur soviel hab ich bisjetzt herausgefunden:
DoCmd.OpenReport [Berichtsname], [Ansicht], [Filtername]
Beim Filtername dürfte also das Problem liegen:
Filterung = Aktueller Datensatz
Herzlichsten Dank für eure Hilfe
--
___________________________
René Huber
rene...@bigfoot.com
Du mußt dazu ein eindeutiges Kennzeichen (ID) in den Datensätzen haben. Ich
habe dazu immer ein ID-Feld (AutoWert).
Nun öffnen ich den Bericht, der ebenfalls als Datenherkunft diese Tabelle
oder ein darauf basierende Abfrage hat. Jedenfalls muß das ID-Feld enthalten
sein.
Das Kommando fürs Öffnen muß wie folgt aussehen:
DoCmd.OpenReport [Berichtsname], [Ansicht], "[ID] = " & Me![ID]
Gruß
Günther
http://ourworld.compuserve.com/homepages/microsyskramer/
(kostenlose ACCESS-Beispiele samt VBA-Code)
Ich habe auch lange gekämpft aber so funktioniert es bei mir.
DoCmd.OpenReport "Firmenadressen", acNormal, "",
"[KundenNr]=[Forms]![Firmenadressen]![KundenNr]"
Es wird hier ein Bericht mit Namen Firmenadressen gedruckt.
In meinem Formular Firmenadressen habe ich eine Schaltfläche erstellt und im
Ereignis
BeiClick die obere Zeile eingefügt.
Das Feld KundenNr ist ein AutoWert und damit eindeutig.
Solltest du noch weitere Hilfe benötigen kannst du mir ja Mailen
Gruß Alfred
Hi René!
>Wie kann ich den aktuellen Datensatz eines Formulares in einem Bericht
>drucken lassen?
>DoCmd.OpenReport [Berichtsname], [Ansicht], [Filtername]
>
>Beim Filtername dürfte also das Problem liegen:
>Filterung = Aktueller Datensatz
Ich denke mal, Du hast Dir die Frage selbst beantwortet:
[Filtername] sollte dann so aussehen: "[ID] = "'" & str(ME![ID]) & "'"
["'" = Shift2 Shift# Shift2]
wobei [ID] Deinen Datensatz eindeutig identifiziert.
>
>Herzlichsten Dank für eure Hilfe
Da nicht für ... :-)
>René Huber
Sascha Münch GSX 550 EU rrr#550
mue...@cs.bonn.edu
Du hast den letzten Parameter vergessen (ist fast besser als ein Filter).
Schreib hier den Ausdruck (ohne das Wort where)
"[Primärschlüsselfeldname] = DeinFormular!WertDesFeldes"
Jetzt basiert der Bericht nur auf einem, dem aktuellen, Datensatz.
Oli
.
Dim DocName As String
Dim strFltr As String
DocName = "Name des Berichts"
strFltr = "[LfdNr] = Forms!Name des Formulars![LfdNr]"
DoCmd.OpenReport DocName, acNormal, , strFltr
Wobei: Die LfdNr des Datensatzes des Formulars ist identisch mit der LfdNr
im Bericht !!!
mfg
Reinhard