Guten Tag zusammen,
ich habe hier eine Herausforderung mit unserer Datenbank. Ich sollte wahrscheinlich auch von vorneweg sagen, dass ich nicht allzu viel Ahnung von SQL habe.
Was ich habe:
Eine Datenbank, in der alle Aufträge eingegeben werden. Dazu gehören Auftrags Nr., Zeichnung, Material, Bearbeitungszeiten, Preise und und und.
Was ich möchte:
Ich möchte mir anzeigen lassen, wie viel Bearbeitungszeit ich durchschnittlich bei einer Maschine habe: Heißt im Klartext, ich gebe bei jedem Auftrag ein, wie lange das Material auf einer Maschine bearbeitet wird. Dabei hat jede Maschine eine eigene Spalte. Wenn ich jetzt also nach einem bestimmten Artikel filter, zeigt er mir alle Aufträge mit diesem Artikel an. Jetzt soll mir also die durchschnittliche Bearbeitungszeit dieses Artikels angezeigt werden.
Da wir aber erst seit kurzem die Bearbeitungszeit eingeben, darf er nur mit den Datensätzen rechnen, bei denen eine Zeit eingetragen ist. Bei denen also die Zeit >0 ist. Außerdem soll er nur mit den Datensätzen rechnen, wo die Aufträge schon fertig sind, also bei denen schon eine Rechnungsnr. vorhanden ist.
Ich habe also eine Spalte [M 1], mit dem Standardwert 0, wo ich die Bearbeitungszeit von Maschine 1 eintrage.
Eine Spalte [Durschnitt M1], wo der Mittelwert von [M 1] mit [M 1]>0 und [Rechnungsnr]>0 angezeigt werden soll.
Mein Problem:
Wenn ich beim Steuerelement eine Formel eingebe um den Mittelwert zu errechnen, schließt er die Datensätze mit "0" ja ein.
Also habe ich mal versucht eine Abfrage zu erstellen. In dieser Abfrage [M1.1] lasse ich die Bearbeitungszeiten [M 1]anzeigen, mit dem Kriterium >0. In einer weiteren Abfrage [M 1.2], lasse ich mir den Mittelwert von [M 1.1] anzeigen. Soweit so gut. Gehe ich jetzt wieder in die Tabelle, schaffe ich es nicht, mir bei [Durchschnitt M 1] den Wert von [M 1.2] anzeigen zu lassen.
So, hat das jetzt jemand verstanden? :)
Und kann mir vielleicht sogar weiterhelfen?
Schonmal vielen Dank im Voraus! Beste Grüße,
Markus
Hallo Makus,
du kannst eine Abfrage machen mit Gruppierung (Summen Symbol beim Entwurf)
Hier nimmst du die Auftrags Nr als Gruppe
Je zweimal die Maschine (einmal mit Kriterium > 0 und einmal mit der Funktion Mittelwert)
Dann hast du ja ein Feld mit Auftrag_Fertig, das als Kriterium noch dazu.
PS: Vermeide immer Leerschritte in den Feldname: also nicht M 1 sonder M_1
Gruß
Johann
Hi Jonny,
vielen Dank für die schnelle Antwort. Ich hab Deinen Vorschlag mal wie folgt ausprobiert:
(http://img684.imageshack.us/img684/1617/abfrageentwurf.jpg)
Was jetzt aber raus kommt ist folgendes:
(http://img256.imageshack.us/img256/6214/abfrages.jpg)
Wie komme in denn jetzt an den Mittelwert?
Hallo,
da wo du Kriterien hast darfst du keine Gruppierung haben. Hier muss Bedingung rein
Gruß
Johann
Oha...super! Vielen Dank...
Und kann ich mir das jetzt auch in meiner Tabelle/meinem Formular anzeigen lassen, für die jeweilige Artikelnummer?
Hallo Markus
Erstelle eine Unterformular bassiert auf deine Abfrage und binde sie in deinem Formular ein Vernkünpft von/ Nach Artikel_Nr.
Gruß Stefan
Hallo Stefan,
ich weiß leider weder, wie man ein Unterformular erstellt, noch wie man das dann mit einem Formular verknüpft :(
Gruß, Markus
Hallo Markus,
ich kenne deine Acc-Version nicht aber eines geht immer.
Erstelle das Unterformular wie ein normales Formular.
Danach ziehst du es im Detailbereich vom Hauptformular.
Die Verknüpfung findest du bei den Eigenschaften vom Unterformular bei Daten Verknüpfen nach bzw. Verknüpfen von.
Gruß
Johann
Hallo Johann, hallo Stefan,
vielen vielen Dank für Eure Hilfe! Mein Problem ist gelöst und ich habe es endlich geschafft, das anzeigen zu lassen, was ich brauche :)
Jetzt wäre da nur noch eine "Kleinigkeit". Keine Ahnung, ob das geht: Kann man das Unterformular so aussehen lassen, wie einfaches Ein-/Ausgabefeld aus meinem Hauptformular?
So sieht es jetzt aus:
(http://img528.imageshack.us/img528/5133/unterformular.jpg)
Ich möchte also diesen Pfeil weg haben und die Leiste mit "Datensatz.....".
Gruß,
Markus
Hallo Makus,
auch das geht.
Navigationsschaltflächen = Nein
Datensatzmarkier = Nein
Gruß
Johann
Hallo Markus,
es wäre auch ein ungebundenes Feld im Formular möglich mit:
=DomMittelwert("Maschine1";"Auftragsbearbeitung";"ArtikelNr=" & [ArtikelNr] & " And Maschine1 >0 AND Fertig=-1")
Gruß Oma
Hallo!
Ich wollte mich noch für Eure Hilfe bedanken...habs jetzt wunderbar hinbekommen :)
Also vielen Dank!
Gruß, Markus