Office: Druckausgabe "eines" Datensatzes

Helfe beim Thema Druckausgabe "eines" Datensatzes in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Leute. Nachdem ich mir hier viele Tips zu Access holen konnte, hab ich mir nun eine Datenbank zur Adressenverwaltung eingerichtet. Was ich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von cd_com, 26. September 2008.

  1. cd_com Erfahrener User

    Druckausgabe "eines" Datensatzes


    Hallo Leute.
    Nachdem ich mir hier viele Tips zu Access holen konnte, hab ich mir nun eine Datenbank zur Adressenverwaltung eingerichtet.
    Was ich nicht hinbekomme ist, wie ich in einem Formular aus der Datenbank-Tabelle einen "ganzen" Datensatz mit einer Abfrage hinbekomme. Also, ich will nach einem Namen suchen, und im Formular soll dann die ganze Adresse erscheinen incl. Namen.
    Weiter will ich dann nur diesen einen Datensatz ausdrucken...schaffe es aber nur soweit, dass mir Access alle Datensätze auf einmal ausdruckt.
    Ich denke mal, dass sich das mit entsprechenden Makros ralisieren lässt, aber soviel Ahnung hab ich leiden noch nicht um ein entsprechendes zu schreiben.
    Wer kann mir Ansätze geben oder Hilfestellung leisten?

    Danke.
    Gruß
    Stefan

    PS: Ausdruck kann auch über Snapshot Viewer laufen...bekomms aber nicht hin
     
  2. miriki Erfahrener User
    Es gibt mehrere Möglichkeiten...

    a) Wenn der komplette Datensatz im Formular angezeigt wird, kannst Du natürlich das Formular selbst drucken. Je nachdem, wie sauber das Design als "Karteikarte" taugt, reicht das ja vielleicht schon.

    b) Aber der normale Weg geht natürlich über einen Bericht. Und beim Öffnen des Berichts, wie bei Formularen auch, ermöglicht VBA die Übergabe eines Parameters "Kriterium", mit dem die im Bericht angezeigten Datensätze eingeschränkt werden können.

    Schau Dir mal das Ereignis des "Drucken"-Buttons an. Das müßte so in etwa aussehen wie
    Code:
    Private Sub B_ListeAuswertungen_Click()
    On Error GoTo Err_B_ListeAuswertungen_Click
    
        Dim stDocName As String
    
        stDocName = "R_Auswertungen"
        'DoCmd.OpenReport stDocName, acNormal
        DoCmd.OpenReport stDocName, acPreview
    
    Exit_B_ListeAuswertungen_Click:
        Exit Sub
    
    Err_B_ListeAuswertungen_Click:
        MsgBox Err.Description
        Resume Exit_B_ListeAuswertungen_Click
        
    End Sub
    Bei Formular-Öffnen generiert der Assistent einen Code, der eigentlich für Berichte auch sinnvoll wäre. Hier muß man leider "von Hand" nacharbeiten:
    Code:
    Private Sub B_ListeAuswertungen_Click()
    On Error GoTo Err_B_ListeAuswertungen_Click
    
        Dim stDocName As String
        Dim stLinkCriteria As String
    
        stDocName = "R_Auswertungen"
        stLinkCriteria = "[feld] = bedingung"
        'DoCmd.OpenReport stDocName, acNormal
        DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
    
    Exit_B_ListeAuswertungen_Click:
        Exit Sub
    
    Err_B_ListeAuswertungen_Click:
        MsgBox Err.Description
        Resume Exit_B_ListeAuswertungen_Click
        
    End Sub
    Neu bzw. geändert sind jetzt die Zeilen:
    Code:
        Dim stDocName As String
        stLinkCriteria = "[feld] = bedingung"
        DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
    Die erste definiert die Variable stLinkCriteria, die später die Bedingung aufnimmt, welche Datensätze angezeigt werden sollen.

    In der 2. wird dann die eigentliche Bedingung festgelegt. Hier kann man z.B. prima
    Code:
    "[AdresseID] = " & Me!AdresseID.Value
    oder etwas ähnliches als Bedingung setzen.

    Und in der 3. wird dann der Bericht mit dem jetzt zusätzlich eingebauten Parameter aufgerufen, um nur die Datensätze (ggf. nur einen einzigen) anzuzeigen, die auf die Bedingung passen.

    Gruß, Michael
     
  3. cd_com Erfahrener User
    "Einzelner Datensatz" drucken

    Wow.
    Das ging aber schnell.
    Danke für die hilfestellung.
    Muss das erstmal aufnehmen und umsetzen.
    Ich berichte dann das Ergebnis.

    Nochmal vielen Dank für die erste Hilfe.

    Gruß

    Stefan
     
  4. cd_com Erfahrener User

    Druckausgabe "eines" Datensatzes

    Drucken "Eines" Datensatzes

    Hier mein Erfahrungsbericht.

    Hab den Code eingetragen und angepasst...Ausgabe erfolgt als Bericht, soweit ok, aber mit allen! Datensätzen, das ist soweit unbrauchbar.
    Suche ein Code, der mir aus meinem Formular in das ich Daten in der Grundtabelle hinterlege und in ein Bericht ausgeben möchte, aber eben nur entweder den aktuell angezeigten Datensatz, oder einen ausgewählten, und das Ganze als Ausdruck...

    Kann mir da niemand Helfen???

    Gruß S.
     
  5. miriki Erfahrener User
    Re: Drucken "Eines" Datensatzes

    Dann hast Du irgendwo noch was vergessen oder nicht angepaßt. Denn für das "nur den einen" sind eben genau die 3 Zeilen zuständig.

    Dabei entscheidend ist natürlich die 2. Zeile, in der die eigentliche Bedingung definiert wird. Du brauchst also einen eindeutigen Wert aus dem aktuellen Formular, den Du als Kriterium für die Abfrage nimmst, auf der der Bericht basiert. Tust Du das nicht, nimmt der Bericht (also genau genommen die Abfrage) eben alles, was er kriegen kann.

    Gruß, Michael

    PS: Wobei mir im Nachhinein auffällt, daß ich mich vertan habe und die erste Zeile nicht wirklich die neue war. Neu hingegen ist
    Code:
    Dim stLinkCriteria As String
    Denn stDocName war vorher ja auch schon drin.
     
  6. cd_com Erfahrener User
    Aktuellen Datensatz Drucken

    Ok, habs jetzt auf die Reihe bekommen...allerdings mit ner abfrage...
    Suche nach der ID, soweit so Gut.
    Baue ich das Ganze in ein Abrage Formular ein werde ich auch nach der ID gefragt, allerdings je mehr Felder ich einbaue, desto öfter werde ich nach der ID gefragt.
    Ausdruck funktioniert dann allerdings perfekt.
    Habe im kriterium =[Abfrage Formular]![ID] eingetragen...und nur in der Spalte ID..
    Komm nicht mehr weiter....

    Gruß S.
     
  7. miriki Erfahrener User
    Re: Aktuellen Datensatz Drucken

    ;-) Das "allerdings" würde ich streichen... Mache alles, wirklich absolut alles, wo immer möglich, über eine Abfrage! Vermeide grundsätzlich, immer und überall den Versuch, direkt mit den Tabellen zu arbeiten! Der Schritt, eine Abfrage über die Tabelle zu erstellen, kostet erst einmal ein paar Sekunden, spart später dafür aber Stunden.

    Das klingt, als wenn Du in der Bedingung ein Feld eingebaut hast, das es in der Tabelle / dem Formular überhaupt nicht gibt.

    Ah, Moment... Ich glaube, ich verstehe...

    Back to square one...

    frm_Adressen: Du brauchst ein Formular, auf dem sich mindestens befinden:
    a) ein Feld "ID" (mag auch gerne anders heißen)
    b) die restlichen Felder des Datensatzes, z.B. "Nachname", die bearbeitet werden dürfen
    c) einen "Drucken" Button

    rpt_Adressen: Dann brauchst Du einen Bericht, der mindestens beinhaltet:
    a) ein Feld "ID"
    b) die Felder des Datensatzes, z.B. "Nachname", die ausgegeben werden sollen

    qry_Adressen: Und Du brauchst eine Abfrage mit
    a) dem Feld "ID"
    b) den restlichen Feldern, z.B. "Nachname"

    Und die "ID" in der Tabelle sollte dabei der Primärschlüssel und ein "AutoWert", am besten noch mit Untertyp "Zufall", sein, damit man garnicht erst in die Versuchung kommt, das Ding als Arbeitsfeld zu benutzen!

    Die Abfrage kann Datenquelle sowohl für das Formular, wie auch für den Bericht sein. Eine Sortierung würde sich nur im Formular bemerkbar machen. Im Bericht kannst Du separat eine eigene Sortierung / Gruppierung festlegen. Eine Einschränkung durch Kriterien darf die Abfrage nicht haben!

    Und jetzt kann Dein "Drucken" Button mit dem stLinkCriteria die ID aus dem aktuellen Formular nehmen und an den Bericht übergeben. Die Abfrage des Berichts sucht sich dann nur genau den Datensatz aus der Tabelle, der die richtige ID hat und schickt den an den Drucker (bzw. in die Vorschau). Sowohl im Formular wie auch im Bericht solltest Du dann die gleiche "ID" sehen können. (Und wenn alles klappt, kannst Du die ID-Felder auch auf unsichtbar setzen oder löschen.)

    Aber wichtig ist dabei natürlich, nicht einfach nur "ID" zu übernehmen, sondern schon an die aktuellen Gegebenheiten anzupassen, also die richtigen Feldnamen (der Tabelle und des Formulars) zu benutzen.

    Gruß, Michael
     
  8. miriki Erfahrener User

    Druckausgabe "eines" Datensatzes

    Re: Aktuellen Datensatz Drucken

    sowas in der Art:
     
  9. cd_com Erfahrener User
    Drucken eines/aktueller Datensatzes

    Juhu, habs mit Deiner Hilfe hinbekommen.
    Zitat:
    =[Abfrage Formular]![ID]

    Hatte da meinen Fehler.
    Dein Ansatz hat mir weitergeholfen.

    Danke.

    Gruß Stefan
     
Thema:

Druckausgabe "eines" Datensatzes

Die Seite wird geladen...
  1. Druckausgabe "eines" Datensatzes - Similar Threads - Druckausgabe Datensatzes

  2. Filtern von Datensätzen

    in Microsoft Excel Hilfe
    Filtern von Datensätzen: Guten Abend erst einmal, ich bin neu hier im Forum und wollte gerne Euer Schwarmwissen um Hilfe bitten. Meine Excelversion ist Version 16.87 (24071426) Ich habe folgendes Problem. Ich habe eine...
  3. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  4. Datensatz aus Ufo2 auch in Ufo1 anzeigen

    in Microsoft Access Hilfe
    Datensatz aus Ufo2 auch in Ufo1 anzeigen: Liebe Forenmitglieder. Ich benötige wieder Eure Hilfe. Ich habe ein Formular mit Stammdaten und zwei eingebetteten Unterformulare mit ergänzenden Daten. Wenn im Ufo1 ein Datensatz angelegt wird,...
  5. Serienbrief aus mehreren Datensätze

    in Microsoft Excel Hilfe
    Serienbrief aus mehreren Datensätze: Hallo ich benötige Hilfe bei der Erstellung eines Serienbriefes aus eine Excel Tabelle. Hintergrund ist, ich habe ein Excel Tabelle aus Teams Schichten exportiert. Hier wird aus jedem Eintrag ein...
  6. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  7. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  8. Benutzerdefn. Druckausgabe von Exceltabellen

    in Microsoft Excel Hilfe
    Benutzerdefn. Druckausgabe von Exceltabellen: Hallo Zusammen, folgende Ausgangslage: 1 Tabelle mit 3 Spalten Name, Größe, Zeitraum Ziel ist es die "bunt" - sortierte Tabelle auf Knopfdruck in einen Bericht zu wandeln // auszugeben,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden