Neuigkeiten:

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

Mobiles Hauptmenü

Top 5 Abfrage erstellen

Begonnen von lukyluke68, Juni 21, 2013, 19:21:58

⏪ vorheriges - nächstes ⏩

lukyluke68

Hallo,

ich habe in der Tabelle Stoerdatenerfassung_tab pro Datensatz die Möglichkeit 5 Ersatzteile (Je Ersatzteil 1 Feld) zu speichern.
Mehr werden nicht benötigt um die Daten zur Archivierung zu speichern.
Durch eine Abfrage habe ich die Ersatzteile (5 Felder) je Datensatz mit Datum aufgelistet.

Ich möchte nun eine Top 5 Abfrage der benötigten Ersatzteile erstellen um mit diesen Daten anschl. einen Bericht bzw. ein Diagramm (bild) zu erstellen. über einen Zeitraum von Monat, Halbjährlich, Jahr

Kann mir hier jemand behilflich dabei sein?

mfg. Ludwig


[Anhang gelöscht durch Administrator]
Gruß Ludwig

bahasu

Hi,

zu meinem Verständis:
Die top 5 sollen über alle 5 Felder und alle Datensätze ermittelt werden?
Wenn dem so ist, ist das kein optimales Datenbank-Modell (sieht eher nach Excel aus  ;D )

Viel leichter wäre es, wenn nicht 5 Felder im Datensatz sondern 5 Datensätze als Untertabelle zu ?was auch immer (Datum, Gerät, Abteilung ...?) existieren.

Falls das wirklich nicht gewünscht wird, wird es sicherlich aufwändig.
Eine Möglichkeit könnte sein:
Per union-Abfrage die Daten in einer Spalte für Ersatzart und einer für Ersatz-?Menge? zu strukturieren, zu summieren, zu sortieren und dann die obersten 5 zu selektieren.

Harald
Servus

ebs17

Zitatich habe in der Tabelle Stoerdatenerfassung_tab pro Datensatz die Möglichkeit 5 Ersatzteile (Je Ersatzteil 1 Feld) zu speichern.
Mehr werden nicht benötigt um die Daten zur Archivierung zu speichern.
Wenn Deine Halle mit Wasser vollläuft (soll vorkommen) oder es brennt, werden mit größter Wahrscheinlichkeit 5 Ersatzteile nicht reichen, auch schon bei geringeren Anlässen. Daher ist es unumgänglich, entsprechend Hinweis von Harald die Tabellenstruktur zu überarbeiten.

Die zweite Begründung ist, dass sich vernünftige Abfragen nur mit auf Tabellen mit vernünftiger Struktur erstellen lassen.
Wie eine TOP 5-Abfrage aussehen kann, kannst Du z.B. hier sehen:     
Abfrage der besten 3 in einer Tabelle

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

#3
Hallo,
jetzt holt Dich die Vergangenheit ein.  ;D
Das kommt davon, wenn man Hinweise zum falschen Datenmodell einfach hartnäckig ignoriert. Ich zitiere von mir aus Deinem anderen Thema:

Zitatund wenn es Ersatzteil_1_Nr gibt, gibt es dann in der richtigen DB Ersatzteil_2_Nr, Ersatzteil_3_Nr  usw.
Ich fürchte, da muss auch noch das Datenmodell auf den Prüfstand.
und
ZitatAußerdem fehlt die bereits mehrfach vorgeschlagene Tabelle zur Zuordnung der Ersatzteile.

Und aus Deinem Thema "Datenbankaufbau - Hilfe":
Zitatzur Erfassung der Ersatzteile benötigst Du eine extra Tabelle mit einem Fremdschlüssel zur Reparatur und einen Fremdschlüssel zum Ersatzteil. Jedes verwendete Ersatzteil gibt dann einen Datensatz in dieser Tabelle.
Darstellung der Ersatzteile erfolgt in einem Unterformular. Die benötigten Ersatzteile werden per Kombifeld ausgewählt und der PS als FS gespeichert.
Alles einfach ignoriert. Obwohl Du direkt nach Hilfe zum Aufbau gefragt hast. Auch Franz gab Dir einen solchen Hinweis. Und da wäre es noch einfacher gewesen das zu ändern.
Jetzt musst Du gerade wieder von vorn anfangen.

Mit Deinem jetzigen Aufbau ist Dein Vorhaben nicht zu realisieren. Der Aufwand wäre beträchtlich. Eine Datenbank funktioniert anders als Excel. Die DB muss geändert werden.
Die Ersatzteile müssen als Datensätze erfasst werden und nicht als Felder.

Vorschlag für Änderung anbei.
Eigentlich ist es gar kein Vorschlag, sondern ein muss, denn anders kannst Du das gewünschte Diagramm gar nicht erstellen.


[Anhang gelöscht durch Administrator]
Gruß Klaus

lukyluke68

Hallo,

vielen Dank für Eure Antworten.

Ich muss zugeben ich bin mit Excel "bestraft". Meine Struktur der Datenbank werde ich nochmal überarbeiten und anders aufbauen.

Bin nun dabei die Tabellen und Beziehungen zu erstellen.

mfg.
Ludwig
Gruß Ludwig

database

Hallo,

ZitatIch muss zugeben ich bin mit Excel "bestraft".
Excel ist sicher keine 'Strafe' - aber eben das, was es ist - eine Tabellenkalkulation - und in dieser Funktion keine Ersatz für eine Datenbank.
Der Fehler passiert immer wieder, dass 'Excel-Verwöhnte' die Erkenntnisse und Gegebenheiten aus dieser Applikation
in einer Datenbank spiegeln wollen - und das führt meist ins Nirwana.

ZitatBin nun dabei die Tabellen und Beziehungen zu erstellen.
Du musst beim Auf- / Umbau deiner Datenbank darauf achten, dass du Excel KOMPLETT ausblendest.
Bei Unklarheiten zum Tabellenaufbau schau ins DB-Wiki - Link #5 in meiner Signatur oder die Links #1 und #1a in der Signatur von Benutzer DF6GL.


lukyluke68

#6
Hallo,

ich habe im Anhang die Beispieldatei nun etwas erweitert.
Es ist mir klar: Stördaten in eine eigene Tabelle. Ersatzteile zur Störung in eine eigene Tabelle. Daraus eine Zusammenfassung erstellen.

Ich habe nun ein kleines Formular gebastelt in dass ich die Ersatzteile zur jeweiligen Störung aufnehmen möchte.
Die Inhalte der Stördat_ID und Ersatzteile_ID über ein Kombifeld auswählbar.
Ich möchte aber die Eingabe zu einem neuen Datensatz immer oben haben.
Mit dem Druckerbutton möchte ich nun jeden einzigen erzeugten Datensatz ausdrucken können. Ich habe dazu mal einen Bericht erstellt.

Ist das so richtig?

Der Button funktioniert bzw. aktualisiert sich aber nicht. Gehört hier im VBA Code noch etwas geschrieben?



mfg. Ludwig

[Anhang gelöscht durch Administrator]
Gruß Ludwig

DF6GL

Hallo,

ich bezweilfe, dass die Tabellenkonstruktion ausgereift und die voranzugehende Datenanalyse vollständig sind....

Was soll z. B. die Tabelle Stoerdatenerfassung_tab  inhaltlich darstellen?



Was sind denn der übergeordnete Sinn und Zweck der DB? Soll heißen: Wie lautet das Konzept für die DB?

lukyluke68

Hallo,

das natürlich in der tab Stoerdatenerfassung noch mehrere Felder vorhanden sind ist klar. Mir geht es im wesentlichen momentan nur um die Ersatzteilerfassung.
In der o.b. genannten Tabelle gibt es noch Felder wie Bearbeiter, Stoerungsart, FehlerNr, Störungsort, usw. Diese beziehen sich wiederum auf andere Tabellen von wo ich diese Daten nehme. Für das Feld Bearbeiter gibt es eine Tabelle Personal. Hier sind dann jene Daten hinterlegt wie Nachname, Vorname, Tel berufl. usw...

Die Tabelle Stoerdatenerfassung beinhaltet alle Störungen die auftreten können. Jeder Datensatz eine Störung. Für eine Störung kann es mehrere Ersatzteile geben. Die anfallenden Teile müssen sich auf den jeweiligen Datensatz sprich Störung beziehen.

mfg. Ludwig
Gruß Ludwig

MzKlMu

Hallo,
das macht man mit einem Hauptformular zur Anzeige/Erfassung der Störungen und darin einem verknüpften Unterformular für die Ersatzteile.

Aber mal noch einen andere Frage. In Deinem anderen Thema hast Du 3 Formulare erwähnt:
- Reparaturerfassung
- Störungserfassung
- Wartungserfassung

Hast Du da auch 3 Tabellen vorgesehen?
Gruß Klaus

database

Hallo,

ZitatMir geht es im wesentlichen momentan nur um die Ersatzteilerfassung
Dafür benötigst du ein Formular welches an die Tabelle 'Ersatzliste_Zangen_tab' gebunden ist.
Mit diesem Formular erfasst du die Erstzteile, die dann in einem Kombifeld in Form einer Auswahlliste angezeigt werden können.   ;)

Was ich nicht verstehe, ist dein Beweggrund, nur einen Ausschnitt der DB mit unvollständigen Tabellen hochzuladen.
Wenn du eine funktionierende DB erstellen möchtest - wovon ich einmal ausgehe - dann solltest du ALLE Tabellen
VOLLSTÄNDIG normalisiert (NF3) zur Verfügung haben (siehe vorangehenden Beitrag von MzKlMu) BEVOR du mit irgendwelchen Formularen herumexperimentierst.

Ich weiß schon - man möchte ja schnell ein Ergebnis sehen ... den Rest mach ich dann später ... der nächste GROSSE Fehler!
Erstelle das Datenmodell VOLLSTÄNDIG ohne wenn und aber, du läufst sonst unweigerlich in dein nächstes Problem (ehrich gut gemeinter Tipp)

lukyluke68

Hallo,

ich habe zwei Tabellen vorgesehen. Die meisten Daten für Störung und anschl. Reparatur sind gleich. Hier habe ich eine Tabelle.
Ich habe aber dafür zwei Formulare angelegt. Im Formular Stördatenerfassung werden alle Daten erfasst was die Störung betrifft. Kommt es aber vor dass aus einer Störung vor Ort (in den Anlagen der Halle) eine Reparatur in der Werkstatt wird, habe ich dieses mit einem Kontrollkästchen ja/nein gemacht. Bei "JA" handelt es ich u.a. auch noch um eine anschl. Reparatur, dass in einer extra Abfrage aufgelistet wird. Auf diese Abfrage greife ich dann im Formular Reparaturerfassung zu, wo gefiltert nur die Daten zur Reparatur aufgelistet sind.

Die Erfassung der Wartungsdaten erfolgt in einer eigenen Tabelle und Formular.
Gruß Ludwig

lukyluke68

Hallo,

der Ausschnitt ist nur da ich nicht die kpl. Datenbank im Netz laden kann.
Ich bin mir bewußt, dass es bestimmt noch Verbesserungen an dieser Datenbank gibt. Erfahrung fällt leider nicht vom Himmel. Darum bin ich froh dass es dieses Forum gibt.

Ludwig
Gruß Ludwig

MzKlMu

Hallo,
ZitatDie Erfassung der Wartungsdaten erfolgt in einer eigenen Tabelle
Warum eine extra Tabelle sind die Felder so unterschiedlich? Und für die Wartung könnten ja auch Ersatzteile benötigt werden.
Ich würde für alle 3 eine Tabelle verwenden und die Art (Störung, Reparatur, Wartung) als Fremdschlüsselfeld speichern.


Gruß Klaus

lukyluke68

Hallo,

du meinst alle erfassten Daten (Störung-Reparatur-Wartung) in einer Tabelle erfassen und dann in drei dafür gefilterte Abfrage trennen in Störung, Reparatur, Wartung ?
Gruß Ludwig