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]
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
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 (http://www.access-o-mania.de/forum/index.php?topic=17321.msg99717#msg99717)
MfGA
ebs
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]
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
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.
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]
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?
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
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?
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)
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.
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
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.
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 ?
Hallo,
ja, so meinte ich das. Für die Arbeitsart (Störung, Reparatur, Wartung) würde ich eine extra Tabelle erstellen und in der Datentabelle nur den Primärschlüssel der Art Tabelle als Fremdschlüssel speichern. Keine Ja/Nein Felder dafür verwenden, wie Du das für Reparatur geplant hattest..
Hallo,
ich habe jetzt mal eine Gesamtdatenerfassung_tab erstellt. Habe darin den PS der Tabelle Arbeitsart als FS integriert.
Werde dann morgen mal die Beziehungen wieder herstellen. Ich gebe somit alle Daten in eine Tabelle ein und wähle hier im FS Feld "Arbeitsart" die betreffende Art aus um später durch Abfragen die richtigen Daten zu finden.
Ludwig
Hallo
habe nun im Anhang meine BE Beziehungen aller Tabellen mal angehängt.
Bin über jede Hilfe dankbar
Ludwig
[Anhang gelöscht durch Administrator]
Hallo,
würde mich jetzt schon interessieren ob meine Beziehungen in Ordnung sind?
Ludwig
Hallo,
nein, das ist nicht in Ordnung, da gibt es noch gravierende Fehler.
Z.B. 3 Felder für Zusatzkommentare, da genügt eines. Genau das gleiche für die SAP Nummer, Du erfasst ja die Arbeitsart, damit weist Du ob Störung, Rep oder Wartung, also genügt jeweils ein Feld.
Die Felder für die Arbeitsbeschreibung (getauscht, gewartet) müssen Datensätze werden in einer extra Tabelle. Dann wird per Kombi ausgewählt was gemacht wurde.
Was steht in der Tabelle Stördauer?
Da gibt es noch mehr.
Lade mal die DB mit einigen Spieldaten hier hoch.
Hallo,
danke für die Infos. Bin dabei die Datenbank umzuordnen. Lege eine neue Tab an für Arbeitsbeschreibungen.
In der Tab Stördauer habe ich vorgegebene Zeiten angelegt (00:15, 00:30, 00:45, 01:00 usw.) Wir buchen im SAP unsere Stunden zur Reparatur bzw Störung vor Ort mit diesen Zeiten, darum habe ich diese Vorgaben auch in die Datenbank mit aufgenommen. Wartungszeiten werden pro Auftrag (Datensatz) mit 00:30 gebucht.
Ich habe nun alles bereits in einer Gesamtdatenerfassung_tab integriert und gehe von hier mit drei Abfragen (Störung - Reparatur - Wartung) auseinander. Ein Hauptformular nimmt alle Datensätze ob Störung,Wartung,Reparatur nun auf. In drei anderen Formularen Störungserfassung - Reparaturerfassung - Wartungserfassung, kann ich nun speziell auf jede aufgenommene Arbeitsart zugreifen, um weitere Arbeitsschritte anzugeben.
Zur SAP Nummer: Bei der Datenerfassung im Hauptformular kann ich eine SAP Auftrags Nr angeben. Bei einer Störung vor Ort im Anlagenbereich bekomme ich anschl. eine Auftrags-Nr. zugewiesen. Die kann ich auch eintragen. Wird aber aus dieser Störung, da eine Schweißzange auch ausgebaut wurde, eine anschl. Reparatur, läuft diese Reparatur auf den gleichen Datensatz (ID) weiter. Hier entsteht aber dann ein neuer SAP Auftrag (Reparaturauftrag). Darum habe ich zwei Felder nun angelegt.