Supportnet / Forum / Datenbanken
Berichte auf Knopfdruck ohne Tabelle?
Frage
Hallo ihr!
Ich habe eine Datenbank mit einem Formular und möchte gerne, dass per Button ein Bericht aufgeht, der (nur) den angezeigten Datensatz enthält! (Also dieser dann fertig zum Ausdrucken bereit steht)
Der Bericht sollte allerdings aussehen wie ein Brief, nicht wie eine Tabelle, und eben dann nach der Anrede das Feld 'Name' enthalten und so weiter.
Bin bis jetzt noch nicht draufgekommen wie das geht, da ich bisher noch nicht viele Berichte erstellt habe!
Geht so etwas und wenn ja könnt ihr mir helfen?
Danke Violetta
Antwort 1 von Teddy
Schulungen können wir im Forum nicht leisten.
Befasse Dich erst mal mit dem Berichtsassistenten und wenn Du dann noch Fragen hast melde Dich nochmal.
Gruß
Teddy
Befasse Dich erst mal mit dem Berichtsassistenten und wenn Du dann noch Fragen hast melde Dich nochmal.
Gruß
Teddy
Antwort 2 von Violent_Violetta
Ich habe mich bereits damit befasst und weiß deshalb genau, wo mein Problem liegt:
Der Assistent bietet nur verscheidene Gruppierungen an und am Ende kommt immer sowas wie eine Tabelle heraus.
Ich möchte jedoch Text eingeben,d er aus keiner Tabelle stammt, sondenr den ich selbst eintippe und nur mit 3, 4 Feldenr versehen.
Ich glaube einen kleinen Tipp ind ie richtige Richtung kann man da geben, wenn man Bescheid weiß...
Gruß Violetta
Der Assistent bietet nur verscheidene Gruppierungen an und am Ende kommt immer sowas wie eine Tabelle heraus.
Ich möchte jedoch Text eingeben,d er aus keiner Tabelle stammt, sondenr den ich selbst eintippe und nur mit 3, 4 Feldenr versehen.
Ich glaube einen kleinen Tipp ind ie richtige Richtung kann man da geben, wenn man Bescheid weiß...
Gruß Violetta
Antwort 3 von Teddy
Ist das ein fester Text oder willst Du den in einer Form eingeben ?
Oder soll vielleicht abhängig von dem Inhalt der Felder unterschiedlicher Text gedruckt werden ?
Gruß
Teddy
Oder soll vielleicht abhängig von dem Inhalt der Felder unterschiedlicher Text gedruckt werden ?
Gruß
Teddy
Antwort 4 von Violent_Violetta
hallo,
nein der Text ist fest, den möchte ich quasi jetzt eingeben und der bleibt später für den Enduser immer der gleiche.
Ändern sollen sich eben nur der Name, Vorname, Datum und Kundennummer, was alles Felder meiner Tabelle sind!
Gruß Violetta
nein der Text ist fest, den möchte ich quasi jetzt eingeben und der bleibt später für den Enduser immer der gleiche.
Ändern sollen sich eben nur der Name, Vorname, Datum und Kundennummer, was alles Felder meiner Tabelle sind!
Gruß Violetta
Antwort 5 von Teddy
Gruppiere den Bericht nach KundenNr.
Füge die Adress-Felder in Gruppenkopf ein.
Füge ein Bezeichnungsfeld in den Detailbereich ein und hinterlege dort Deinen Text.
In den Eigenschaften des Gruppenkopfes kannst Du dann noch einstellen, ob und wann ein Seitenwechsel erfolgen soll.
Gruß
Teddy
Füge die Adress-Felder in Gruppenkopf ein.
Füge ein Bezeichnungsfeld in den Detailbereich ein und hinterlege dort Deinen Text.
In den Eigenschaften des Gruppenkopfes kannst Du dann noch einstellen, ob und wann ein Seitenwechsel erfolgen soll.
Gruß
Teddy
Antwort 6 von Violent_Violetta
Danke, klappt soweit ganz gut!
Nur wenn ich jetzt auf meinem Eingabeformular einen Button 'bericht durcken' einfüge, und diesen klicke, so werden ALLE Datensätze im Bericht gedruckt.
Ich würde jedoch gerne nur einen Bericht mit DEM Datensatz drucken, der gerade im Formular angezeigt wird.
Ist das möglich?
Danke für deine Hilfe
Violetta
Nur wenn ich jetzt auf meinem Eingabeformular einen Button 'bericht durcken' einfüge, und diesen klicke, so werden ALLE Datensätze im Bericht gedruckt.
Ich würde jedoch gerne nur einen Bericht mit DEM Datensatz drucken, der gerade im Formular angezeigt wird.
Ist das möglich?
Danke für deine Hilfe
Violetta
Antwort 7 von Teddy
Du öffnest in dem Button den Bericht ja mit docmd.openreport.
Dabei kann man Selektionskriterien mitgeben, die die Datenquelle des Berichts automatisch einschränken.
dim suche as string
suche = "KundeNr = " & SKunde
DoCmd.OpenReport "repÜbersicht", acViewPreview, , suche
wobei SKunde ein Feld auf der Form ist, wo der Kunde ausgesucht wird und in der Datenquelle des Berichts die Kundennummer in Feld KundeNr steht.
Bei diesem Aufruf wird der Bericht erst mal angezeigt.
Die Feldnamen mußt Du natürlich entsprechend anpassen.
Geht auch einfach in diesem Code-Bild mal mit dem Cursor auf den Text "OpenReport" und drück die F1-Taste um die AH-Hilfe für diesen Befehl aufzurufen.
Gruß
Teddy
Dabei kann man Selektionskriterien mitgeben, die die Datenquelle des Berichts automatisch einschränken.
dim suche as string
suche = "KundeNr = " & SKunde
DoCmd.OpenReport "repÜbersicht", acViewPreview, , suche
wobei SKunde ein Feld auf der Form ist, wo der Kunde ausgesucht wird und in der Datenquelle des Berichts die Kundennummer in Feld KundeNr steht.
Bei diesem Aufruf wird der Bericht erst mal angezeigt.
Die Feldnamen mußt Du natürlich entsprechend anpassen.
Geht auch einfach in diesem Code-Bild mal mit dem Cursor auf den Text "OpenReport" und drück die F1-Taste um die AH-Hilfe für diesen Befehl aufzurufen.
Gruß
Teddy
Antwort 8 von Violent_Violetta
Hm also wenn ich den von dir angegeben code (mit meinem feldnamen natürlich) eingebe, dann kommt zwar die Berichtsvorschau (eine seite, wie es sein soll) jedoch sind die Felder nicht mit dem angezeigten Datensatz gefüllt!
Weisst du woran das liegen könnte?
Ich verstehe audch die Zeile mit dem 'suche' nicht ganz, es wird ja quasi nicht gesucht, sondern es soll nur der Datensatz gedruckt werden der gerade zu sehen ist....?!
Gruß Violetta
Weisst du woran das liegen könnte?
Ich verstehe audch die Zeile mit dem 'suche' nicht ganz, es wird ja quasi nicht gesucht, sondern es soll nur der Datensatz gedruckt werden der gerade zu sehen ist....?!
Gruß Violetta
Antwort 9 von Teddy
Formular und Bericht haben ja nichts miteinander zu tun.
Man muß also die Datenquelle des Berichts auf diesen gewünschten Datensatz einschränken.
Warum das bei Dir nicht funktioniert kann mir meine Kristallkugel nicht sagen.
Schau Dir mal im Debugger die Variable suche an bevor der Bericht aufgerufen wird.
Wenn da der richtige Kunde übergeben wird, dann kann es nur am Bericht selbst liegen.
Da kannst Du dann die Abfrage, die dem Bericht zugrundeliegt mal auf den Kunden einschränken und schauen wie der Bericht darauf reagiert.
Gruß
Teddy
Man muß also die Datenquelle des Berichts auf diesen gewünschten Datensatz einschränken.
Warum das bei Dir nicht funktioniert kann mir meine Kristallkugel nicht sagen.
Schau Dir mal im Debugger die Variable suche an bevor der Bericht aufgerufen wird.
Wenn da der richtige Kunde übergeben wird, dann kann es nur am Bericht selbst liegen.
Da kannst Du dann die Abfrage, die dem Bericht zugrundeliegt mal auf den Kunden einschränken und schauen wie der Bericht darauf reagiert.
Gruß
Teddy

