Mai 17, 2021, 00:10:39

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Datensatz in Bericht verdoppeln?

Begonnen von Daniel0710, April 20, 2021, 15:00:07

⏪ vorheriges - nächstes ⏩

Daniel0710

Servus,

Wir verwenden in der Firma einen Bericht zum Drucken von Etiketten (Access16) um hergestellte, bereits verpackte Artikel mit AuftragsNr, Kunde usw. zu versehen. Nun gibt es jedoch Bestellartikel, welche aus mehreren einzelnen Artikeln bestehen. Beispiel: Wenn ein Kunde beispielsweise Produkt 5 bestellt, besteht dieses aus 3 einzelnen Produkten, also würde ich auch 3 gleiche Etiketten dieser Position benötigen. Aktuell wird für jede Position im Auftrag ein Etikett mit dem Produktnamen gedruckt.

Die Datensatzquelle des Berichts ist eine Abfrage.

Ich habe mir gedacht ich kann da irgendwie über das Ereignis 'Beim Öffnen' Datensätze suchen, welche z.b. Produkt 5 beinhalten und dann den Datensatz 2 mal darunter wieder einfügen. Soweit die Idee. Wie man das umsetzen kann leider keine Ahnung.. Wahrscheinlich ist es auch sinnvoller das ganze über die Abfrage zu lösen aber ja.

Ich kenn mich mit Access leider nicht gut aus, bitte um Verständnis..

Danke im Vorraus!

crystal

@Daniel0710
Ganz einfach:
Du brauchst nur eine Hilfstabelle "AnzEti" (Anzahl Etiketten), die aus nichts weiter außer einem Primärschlüssel (Autowert) "ENr" besteht. In diese Tabelle speicherst du einfach mal die Werte (=Datensätze) 1, 2, 3, 4 usw.
Wenn nun in deiner Auftragsdatei (oder besser der Artikeldatei) hinterlegt ist  (z. B. in einem Feld "AAnzEti"), wieviel Etiketten benötigt werden, "duplizierst" du die Anzahl der Auftrags-Datensätze einfach mit

SELECT Auftraege.ANr, Auftraege.AKunde, Auftraege.AArtikel, AnzEti!Enr & ' von ' & [Auftraege]!AAnzEti AS xEtiTxt
FROM Auftraege, AnzEti
WHERE (((AnzEti.ENr)<=[Auftraege]![AAnzEti]));


und du erhält das zusätzliche Feld "xEtiText", in dem dann z. B. "1 von 3", "2 von 3" und "3 von 3" steht - fertig für die Verwendung im Bericht (Etikett).

Beispiel Auftrag 1 mit Artikel a1 (1 Etikett) und Auftrag 2 mit Artikel a3 (3 Etiketten):

ANr AKunde AArtikel xEtiTxt
1 k1 a1 1 von 1
2! k7 a3 1 von 3
2! k7 a3 2 von 3
2! k7 a3 3 von 3

Zum Testen brauchst du nur obigen Select als SQL-Text (SQL-Ansicht) in eine neue Abfrage kopieren und die Namen der Tabellen/Felder anpassen.

Gruß,
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

Daniel0710

@crystal

Danke für die schnelle Antwort, ich werde das mal ausprobieren soweit ich das verstehe eben.

Also soll ich, wenn der Auftrag angelegt wird schon abspeichern wie viele Etiketten pro Position benötigt werden?

Und die am Schluss erwähnte neue Abfrage ist die neue Datenquelle vom Bericht oder?

Lg Daniel

Beaker s.a.

Hallo Daniel,
Vielleicht hilft dir auch dieses.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Daniel0710