Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

 [Access 2003] Druckausgabe "eines" Datensatzes
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
cd_com
Newbie
Newbie


Anmeldedatum: 06.04.2008
Beiträge: 11

BeitragVerfasst am: 26.09.2008, 07:23 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 433
Wohnort: Kiel

BeitragVerfasst am: 26.09.2008, 09:00 Nach oben

cd_com hat Folgendes geschrieben:
Wer kann mir Ansätze geben oder Hilfestellung leisten?

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
cd_com
Newbie
Newbie


Anmeldedatum: 06.04.2008
Beiträge: 11

BeitragVerfasst am: 26.09.2008, 09:35 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht senden
cd_com
Newbie
Newbie


Anmeldedatum: 06.04.2008
Beiträge: 11

BeitragVerfasst am: 16.10.2008, 19:24 Nach oben

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.
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 433
Wohnort: Kiel

BeitragVerfasst am: 17.10.2008, 07:50 Nach oben

cd_com hat Folgendes geschrieben:
Ausgabe erfolgt als Bericht, soweit ok, aber mit allen! Datensätzen, das ist soweit unbrauchbar.

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.
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
cd_com
Newbie
Newbie


Anmeldedatum: 06.04.2008
Beiträge: 11

BeitragVerfasst am: 18.10.2008, 17:07 Nach oben

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.
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 433
Wohnort: Kiel

BeitragVerfasst am: 20.10.2008, 09:02 Nach oben

cd_com hat Folgendes geschrieben:
allerdings mit ner abfrage...

Wink 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.

Zitat:
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.

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

Zitat:
=[Abfrage Formular]![ID]

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 433
Wohnort: Kiel

BeitragVerfasst am: 20.10.2008, 09:15 Nach oben

miriki hat Folgendes geschrieben:
Du brauchst [...]

sowas in der Art:


Adressen.zip
 Beschreibung:

Download
 Dateiname:  Adressen.zip
 Dateigröße:  20.7 KB
 Heruntergeladen:  10 mal

Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
cd_com
Newbie
Newbie


Anmeldedatum: 06.04.2008
Beiträge: 11

BeitragVerfasst am: 24.10.2008, 18:29 Nach oben

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

Hatte da meinen Fehler.
Dein Ansatz hat mir weitergeholfen.

Danke.

Gruß Stefan
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Button "Dateispeicherort" a... tobias.s Microsoft Word Hilfe 0 19.11.2008, 15:44 Letzten Beitrag anzeigen
Keine neuen Beiträge "In eine Zahl umwandeln" pe... Frederic Microsoft Excel Hilfe 4 13.11.2008, 15:46 Letzten Beitrag anzeigen
Keine neuen Beiträge "Live-search" iBenu Microsoft Access Hilfe 0 13.11.2008, 12:50 Letzten Beitrag anzeigen
Keine neuen Beiträge Teile eines Arrays können nicht geänd... lipi Microsoft Excel Hilfe 1 07.11.2008, 10:24 Letzten Beitrag anzeigen
Keine neuen Beiträge Rendite eines Rentenvertrages Kreili2000 Microsoft Excel Hilfe 0 03.11.2008, 11:21 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de