Sicker Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 hallooooo ! mal ein access-problem was ich habe: ich habe eine datenbank in der es sehr viele datensätze gibt.nun möchte ich nur den aktuellen datensatz drucken.die selben datensätze sind in EINEM bericht enthalten.wenn ich also durch meine datenbank gehe und einen datensatz drucken will,werden alle datensätze gedruckt.zwar in der gewünschten form, nämlich wird zwar der bericht gedruckt,aber wie gesagt,alle datensätze.ich möchte aber nur den aktuellen.es ist nicht so schlimm,wenn die ausdrucke nicht der bericht form entsprechen,hauptsache der aktuelle datensatz (und nur der) ist gedruckt.weiß jemand eine lösung ? nochmal zum bericht: der bericht enthält alle datensätze in einer "schönen" ausdruckbaren form (gleiche abstände,gut formatiert,hochkant format).die normale datenbank enthält eben buttons,textfelder,etc. auf dem formular.wenn der gewünschte text (also mein datensatz) mit ein paar buttons und so daneben auf dem blatt erscheint,ist das auch nicht so schlimm.es geht eben darum,dass wirklich nur der datensatz,der gerade aktuell ist,gedruckt wird und nicht alle... nachtrag: ich gehe durch meine datenbank und sehe einen datensatz,den ich gedruckt haben will.dann klicke ich auf "drucken",dieses icon ist auf den bericht verlinkt.der bericht enthält also alle datensätze.demnach ist es kein wunder,dass alle datensätze gedruckt werden,schließlich wird ja der gesamte bericht gedruckt.meine erste (schlechte) lösung: für jeden datensatz einen bericht anlegen.allerdings habe ich dann über 100 davon.ich hoffe ihr versteht was ich meine :confused: ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TaoNW Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 *hmmm* schon mal mit einer art-suchabfrage ausprobiert ?? so in der art : if datensatz ID is größer als datensatz ID vom vorgänger then gib aus datensatz okok is echt nur dummer hinweis und genau den quellcode oder so bauen bekomm ich jetzt auch nett hin:D Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 hi, theoretisch: [*]eine abfrage erstellen, mit der auf einen datensatz eingeschraenkt werden kann (ueber den primaerschluessel) [*]die abfrage mit dem primaerschluessel des interessierenden datensatzes ausfuehren [*]das ergebnis dieser abfrage als datenquelle fuer den bericht benutzen [*]und drucken... [/list=1] muesste doch so oder so aenlichin access moeglich sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TaoNW Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 *weißt mal kurz auf seine 2 Probleme hin da seine DB am Freitag beim Chef abgegeben werden muss* http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=44589&werbeid=18 http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=44009&werbeid=18 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sicker Geschrieben 9. April 2003 Autor Teilen Geschrieben 9. April 2003 thx schonmal,aber habe gerade noch das hier gefunden...hilft mir zwar ein wenig,aber funktionieren tut es immer noch nicht: P r o b l e m Du möchtest aus einem Formular heraus nur den aktuellen Datensatz drucken. Wenn du den entsprechenden Bericht öffnest, werden aber immer alle Datensätze des Formulares bzw. der zugrundeliegenden Tabelle oder Abfrage ausgegeben. L ö s u n g e n Verwende als Datensatzherkunft des Berichtes eine Abfrage und schreibe dort bei den Kriterien eines passenden, eindeutigen Feldes einen Bezug auf dein Formular: Formulare!Dein_Formular!Dein_Eindeutiges_Feld oder Wenn du den Bericht per VBA öffnest, kannst du den Bezug auf den aktuellen Datensatz im Formular direkt übergeben. z.B. bei einem Zahlfeld: DoCmd.OpenReport "DeinBericht", , , "ID =" & Me!ID bei einem Textfeld: DoCmd.OpenReport "DeinBericht", , , "Firma = '" & Me!Firma & "'" Analog kannst du vorgehen, wenn du nicht nur einen Datensatz, sondern eine Gruppe von Datensätzen mit einem gemeinsamen Merkmal drucken willst. die erste lösung funktioniert zwar,hat aber den nachteil,dass man nicht durch die datensätze scrollen kann,sprich: ich gehe von der hauptseite auf mein formular,von dem ich einen datensatz drucken will.jedoch erscheint nach dem klick auf mein formular dann eine abfrage,in der ich die nummer des datensatzes eingeben kann.dann gebe ich eine zahl ein und der datensatz wird angezeigt.allerdings nur der eine.sprich ich kann nicht durch die anderen datensätze scrollen.wenn ich dann auf drucken klicke,wird auch wirklich nur der aktuelle datensatz ausgedruckt.allerdings will ich ja auch die anderen datensätze sehen können. zur zweiten lösung: hab ich versucht,"deinBericht" habe ich durch meinen ersetzt,aber was muss ich noch ersetzen ? funzt nämlich nicht,es werden nach wie vor alle 100 datensätze gedruckt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 Original geschrieben von TaoNW *weißt mal kurz auf seine 2 Probleme hin da seine DB am Freitag beim Chef abgegeben werden muss* 1. Das hat nichts mit dem Thread hier zu tun. 2. Hab ich schon mal erwähnt, bzw. steht auch in den Boardregeln das Threadpushing hier nicht gerne gesehen wird. Das gilt sowohl für das pushen im selben Thread als auch für "Hinweise" in anderen Threads Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TaoNW Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 hmm das dieses Abfrage-PopUp nicht mehr kommt musst du deine Abfrage nochmal durchlaufen lassen und sehen an welcher stelle das hochkommt, schätzungsweise (würd ich sagen) übergibst du da keine werte nach dennen er filtern, bzw wo er weiß welchen datensatz du meinst. würde ich irgendwie mit einer funktion wegmachen, die dir nur den wert übernimmt den du selektiert hast (also sprich den du angewählt hast). irgendwo hab ich auch so ne prozedur in meiner db. ich seh mal nach und meld mich wieder @Wolle sorry, stehe einfach nur unter druck und bin deshalb ein kleiner hetzbock Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sicker Geschrieben 9. April 2003 Autor Teilen Geschrieben 9. April 2003 @TaoNW: jau,das könnt mir vielleicht helfen ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TaoNW Geschrieben 9. April 2003 Teilen Geschrieben 9. April 2003 Ok hier der Quelltext : Das ganze läuft über ein Listenfeld in dem mehrere Datensätze drin stehen. Es wird einer ausgewählt/angeklickt und dann über einen Button weiterverarbeitet. HF_Buchen...... sind die Namen meines Formulars, bzw der einzelnen Felder Dim chk_selected As Boolean {Variable die angibt ob selektion vorhanden} chk_selected = False {wird erst immer auf nein gesetzt} For y = 0 To Forms!HF_Buchen!Bezeichnung.ListCount - 1 If Forms!HF_Buchen!Bezeichnung.Selected(y) = True Then chk_selected = True GoTo weiter End If Next y {bis hier wird abgefragt ob etwas selektiert wurde} MsgBox "Sie müssen einen Artikel auswählen!", vbInformation, "Anwenderfehler!" Exit Function weiter: If chk_selected = True Then DoCmd.Hourglass True DoCmd.OpenForm "HF_Pflegen" {hier wird ein Formular anstatt eines Berichts geöffnet} End If Forms!HF_Pflegen!Komponenten_ID = Forms!HF_Buchen!Bezeichnung.Column(0) Forms!HF_Pflegen!Bezeichnung = Forms!HF_Buchen!Bezeichnung.Column(1) Forms!HF_Pflegen!Hersteller = Forms!HF_Buchen!Bezeichnung.Column(7) Forms!HF_Pflegen!Gruppen = Forms!HF_Buchen!Bezeichnung.Column(8) Forms!HF_Pflegen!Untergruppen = Forms!HF_Buchen!Bezeichnung.Column(9) Forms!HF_Pflegen!Bestand = Forms!HF_Buchen!Verfuegbar Forms!HF_Pflegen!Info = Forms!HF_Buchen!Info Forms!HF_Pflegen!Meldebestand = Forms!HF_Buchen!Bezeichnung.Column(5) Forms!HF_Pflegen!Produktnr = Forms!HF_Buchen!Bezeichnung.Column(6) {das hier is für ein Formular, für einen Bericht weiß ich nicht wie es geht, sorry} Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.