Access2003: Datensätze absichtlich temporär doppeln

Communicate

Mitglied
Hallo,

ich habe eine ungewöhnliche Frage.

Ich habe eine Liste mit Vorgängen.
In dieser Liste gibt es unter anderem das Feld Anzahl.
Ich würde jetzt gerne in einer Abfrage oder einem bericht folgendes erreichen:

Wenn bei Anzahl eine 1 steht, wird der Datensatz nur einmal angezeigt
Wenn bei Anzahl eine 2 steht, so soll er zweimal angezeigt werden

Ich weiss, es klingt merkwürdig, vereinfacht die Arbeitssteuerung hier aber erheblich.

Hat irgendwer eine Idee?

P.S. Es ist wirklich nur eine Tabelle.
 
Mit einem kleinen Trick.
Erstelle eine zweite Tabelle mit einem einzigen numerischen Feld. In der Tabellen Ansicht fügst du die Nummern 1 bis [grösst mögliche Anzahl] als Zeilen ein

Code:
dummy_anzahl:
anzahl
--------
1
2
3
4
5
6
..

Dann erstellst du eine Abfrage und fügst beide Tabellen ein. Deine Eigeen + die Dummy-tabelle.
Du darfst sie nicht per Drag&Drop verknüpfen!
Füge alle Felder deiner Tabelle als Ausgabe hinzu und definiere die Sortierung
Dann ziehe auch das Feld [anzahl] der Tabelle [dummy_anzahl] in die Spaltenleiste. Im Bedinungs-Teil schreibst du dort dann '<=[myTable].[anzahl]'

Das wars eigentlich schon.

Wir verknüpfen also die zwei Tabellen ohne eine Beziehung. Das ergibt eigentlich count([MyTable])*count([dummy_anzahl]) Zeilen. Nun machen wir die einfache bedinung, dass nur die Zeilen erwünscht sind, in denen die [dummy_anzahl].[anzahl] <= [MyTable].[Anzahl] ist.

SQL:
SELECT 
	myTable.ID, 
	myTable.Anzahl, 
	myTable.Desc
FROM 
	dummy_anzahl, 
	myTable
WHERE 
	dummy_anzahl.anzahl<=myTable.anzahl
ORDER BY 
	myTable.ID;
 
Zuletzt bearbeitet von einem Moderator:
Zurück