Announcement

Collapse
No announcement yet.

Wert berechnen von zwei Datumangaben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wert berechnen von zwei Datumangaben

    Hallo,

    ich bin noch Anfänger mit Access.
    Meine Datenbank, die gemacht habe läuft nun ganz gut. Ich habe aber ein Problem und weiß nicht wie ich es am besten lösen kann.

    Ich möchte gerne das eine Bearbeitungsdauer in Tagen aus zwei Datumangaben berechnet wird. Also aus dem Eingangsdatum eines Auftrages und dem Ausgangsdatum des Auftrages soll die Gesamtbearbeitungsdauer in Tagen automatisch in das entsprechende Formularfeld/Tabelle eingetragen werden.

    Ich habe schon einiges mittels des Ausdrucks-Generators probiert, bin aber bisher immer völlig am Erfolg vorbei.

    Ich würde mich freuen, wenn Ihr mir helfen könnt.

    Vielen Dank,

    ts-e

  • #2
    Hallo ts-e,

    hier mein Lösungsvorschlag.

    Ich habe für mein Projekt mal die Laufzeit berechnet, kommt Deinem Problem glaube sehr nahe.
    Habe ich über den Ausdruckgenerator erstellt:

    DateDiff("m",tbl.Beginn,tbl.Ende) AS Laufzeit

    "m" steht für Monate, wenn Du die Differenz in Tage ausgeliefert bekommen möchtest, musst Du es entsprechend "t" (für Tag) oder "d" (für day) einfügen.

    Viel Erfolg,

    Anja

    Comment


    • #3
      Originally posted by anja07 View Post
      Hallo ts-e,

      hier mein Lösungsvorschlag.

      Ich habe für mein Projekt mal die Laufzeit berechnet, kommt Deinem Problem glaube sehr nahe.
      Habe ich über den Ausdruckgenerator erstellt:

      DateDiff("m",tbl.Beginn,tbl.Ende) AS Laufzeit

      "m" steht für Monate, wenn Du die Differenz in Tage ausgeliefert bekommen möchtest, musst Du es entsprechend "t" (für Tag) oder "d" (für day) einfügen.

      Viel Erfolg,

      Anja
      Danke Anja,

      irgendwie bekomm ich das nicht hin. Jedesmal bleibt die alte Formel von meinem Versuchen drin stehen. Auch wenn ich extra vorher abgespeichert habe.
      Oder nehme ich nur einen falschen Weg?
      Ich versuche das immer in dem entsprechenden Formularfeld zu machen.
      Muss ich das evtl. in den Tabellen mache. Denn die beiden Datumangaben beziehen sich aus zwei verschiedenen Tabellen und in der zweiten, da wo schon Ausgangsdatum steht, kommt dann ein Feld wo die Bearbeitungsdauer eingetragen werden soll.

      Oder muss ich das per Abfragen regeln?

      Vielen Dank für die Hilfen.

      Gruss

      ts-e

      Comment


      • #4
        Hallo ts-e,

        sorry die Funktion, die ich oben angegeben habe, ist eine SQL-Abfrage. Dann ist es auch kein Wunder, dass diese Funktion nicht angenommen wird.

        Hier nun die richtige Funktion, die über den Ausdrucksgenerator erstellt wurde.

        =DatDiff("m";[Beginn];[Ende])

        Es ist schon richtig, dass in den Formularen zu machen. Ich habe ein Textfeld über die Toolbox erstellt. Über die Eigenschaften des Textfeldes in den Reiter "Daten" und unter Steuerelementinhalt den Ausdruckgenerator aufrufen und die Funktion mit den ensprechenden Feldern erstellt.

        Ich würde Dir noch raten, dass Du die entsprechenden Felder aus den zwei Tabellen aus denen die Bearbeitungsdauer berechnet wird mit in das Formular zu selektieren.

        Hoffe, es funkioniert jetzt!

        Anja

        Comment


        • #5
          Originally posted by anja07 View Post

          Ich würde Dir noch raten, dass Du die entsprechenden Felder aus den zwei Tabellen aus denen die Bearbeitungsdauer berechnet wird mit in das Formular zu selektieren.

          Hoffe, es funkioniert jetzt!
          Hallo Anja,

          vielen Dank für Deine Hilfe. Es funktioniert jetzt.
          Die beiden Felder befinden sich in dem Formular. Das einzigste Problem ist noch, das dies nicht in der Tabelle gespeichert wird. Da steht dann als Wert "0".
          Es ist aber wichtig, das dies mit gespeichert wird. Oder funktioniert das anders?
          Denn ich werde später mal eine Auswertung brauchen, die mir die Bearbeitungsdauer (max, min und im Durchschnitt) in einem Bereicht (Diagramm) ausgibt.

          Vielen Dank,

          Gruss

          ts-e

          Comment


          • #6
            Hallo ts-e,

            schön dass es jetzt funktioniert. Berechnete Werte werden leider nicht in die Tabelle übernommen bzw. dort abgespeichert. Leider kann ich Dir bei diesem Problem auch nicht weiter helfen.
            Eine Lösung wäre, Dir die Daten über eine Abfrage ausliefern zu lassen.
            Das entsprechende SQL-Statement hast Du ja schon. ;-)

            Viel Erfolg,

            Anja

            Comment


            • #7
              So ich bins mal wieder.

              Nach dem ich nun andere Dinge an der Datenbank gemacht hatte, beschäftige ich mich heute wieder mit der Ausgabe der Bearbeitungsdauer mittels Auswahlabfrage. Ich habe allerdings hier wohl einige Denkfehler drin, denn eine Ausgabe in die entsprechende Tabelle erfolgt nicht.
              Hier mal meine Vorgehensweise. Vielleicht ist mein Fehler da besser zu erkennen.

              Tabelle/Formular 1 enthält das Eingangsdatum. Tabelle/Formular 2 enthält das Datum des Auftragsendes und dort soll auch die Bearbeitungsdauer gespeichert werden.

              Ich habe eine Auswahlabfrage gemacht. Im ersten Feld steht Eingangsdatum, darunter Tabelle 1. Im zweiten Feld steht Auftragsende und darunter Tabelle 2.
              Dann habe ich ein drittes Feld gemacht, in dem steht Bearbeitungsdauer und darunter Tabelle 2. Darunter habe ich in "Kriterien" diese Formel eingetragen: DatDiff("t";[Tabelle 1];[Tabelle 2]). Die Formel ist bestimmt noch nicht korrekt, denn es wird keine Zahl in der Tabelle 2 unter Bearbeitungsdauer gespeichert.

              Ich hoffe, es ist etwas verständlich was ich geschrieben habe und würde mich über Hilfe freuen.

              Vielen Dank,

              ts-e

              Comment


              • #8
                Hallo ts-e,

                also so viel ich weiss, kannst Du das Ergebnis Deiner Abfrage nicht in das entsprechende Feld der Tabelle 2 speichern. Das kannst Du nur in dieser (separaten ) Abfrage machen.
                Versuch es doch mal in der Entwurfsansicht in einem leeren Feld mit
                Bearbeitungsdauer: DatDiff("t";[Tabelle1];[Tabelle2])


                und als Funktion Ausdruck auswählen.
                Du bekommst dann automatisch eine neue Spalte mit dem Ergebnis in Deine Abfrage ausgeliefert, (falls die Syntax Deiner Abfrage richtig ist).

                Gutes Gelingen,

                Anja

                Comment


                • #9
                  Originally posted by anja07 View Post
                  Hallo ts-e,

                  also so viel ich weiss, kannst Du das Ergebnis Deiner Abfrage nicht in das entsprechende Feld der Tabelle 2 speichern. Das kannst Du nur in dieser (separaten ) Abfrage machen.
                  Versuch es doch mal in der Entwurfsansicht in einem leeren Feld mit


                  und als Funktion Ausdruck auswählen.
                  Du bekommst dann automatisch eine neue Spalte mit dem Ergebnis in Deine Abfrage ausgeliefert, (falls die Syntax Deiner Abfrage richtig ist).

                  Gutes Gelingen,

                  Anja
                  Danke Anja. Das funktioniert. Dann sollte es kein Problem sein, diese Abfrage in einen Bericht mit einzubauen oder im Formular auszugeben.

                  Allerdings musste ich die Syntax etwas ändern. Nicht Tabelle1 und Tabelle 2 musste rein, sondern "Datum" und "abgeschlossen" und nun geht es.

                  So, da bin ich wieder erleichtert und komme zum nächsten Schritt. Der ist auch nicht viel einfacher. Bericht fertig machen.

                  Vielleicht habe ich dann später mal wieder eine Frage dazu.

                  Vielen, vielen Dank

                  ts-e

                  Comment


                  • #10
                    Ich suchte ja immer noch eine Möglichkeit, die Bearbeitungsdauer in einer Tabelle zu speichern. In meinem Buch habe ich da was gefunden und angewendet.

                    Ich habe die Abfrage "Bearbeitungsdauer" dupliziert und neu gespeichert als "qmak" und dann die Tabellenerstellungsabfrage drüber "gejagt". Nun wird die Zahl der Bearbeitungstage in einer neuen Tabelle gespeichert.

                    Der Nachteil scheint zu sein, das dies nicht automatisch geht und man immer die neu erstellen lassen muss, in dem man auf diese Abfrage doppelklickt.

                    Aber trotzdem bin ich soweit zufrieden. Habe nur leider noch keinen Weg gefunden diese Ergebnisse aus der Tabelle auszulesen und entsprechend zugeordnet in dem Formular anzuzeigen. Probiert habe ich schon einiges, aber leider hat nix bisher funktioniert. Aber vielleicht will ich nur wieder was, was Access nicht kann.



                    Darf ich dazu noch etwas Hilfe erbitten?

                    Vielen Dank und schönes Wochenende

                    ts-e
                    Zuletzt editiert von ts-e; 26.10.2007, 17:03. Reason: Etwas entfernt, wo ich die Lösung gefunden habe.

                    Comment

                    Working...
                    X