Minute aus Uhrzeit auslesen für Mittelwertbildung

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von musher.

    Minute aus Uhrzeit auslesen für Mittelwertbildung

    nachdem das mitdem Recordset geklappt hat, wollte ich nun einen Schritt weiter gehen. Aber irgendwie schein ich leider noch erhebliche Anfängerprobleme zu haben - deswegen jetzt schon mal SRY

    Würde gerne einen Mittelwert für jede Minute pro Tag ausgeben lassen und habe das mit der DatePart-funktion probiert - siehe Code

    Quellcode

    1. Set cmd = New ADODB.Command
    2. cmd.CommandText = "SELECT date, AVG(Temperatur) AS TempMittel, DATEPART(n, ['time']) AS Minute" & _
    3. "FROM Winddaten WHERE date BETWEEN #" & start_datum & "# AND #" & end_datum & "# GROUP BY date, DATEPART(n, ['time'])"
    4. cmd.ActiveConnection = ADOC
    5. Set rst = cmd.Execute
    6. With Sheets("Daten")
    7. intZeile = 1
    8. Do While Not rst.EOF
    9. .Cells(intZeile, 1).Value = rst!Date
    10. .Cells(intZeile, 2).Value = rst!Minute
    11. .Cells(intZeile, 3).Value = rst!TempMittel
    12. rst.MoveNext
    13. intZeile = intZeile + 1
    14. Loop
    15. rst.Close
    16. ADOC.Close
    17. Set rst = Nothing
    18. Set ADOC = Nothing
    19. Set cmd = Nothing
    20. End With


    Als Fehlermeldung im Debug-Modus erhalte ich:
    Laufzeitfehler '-2147217900 (80040e14)':

    Die SELECT-Anweisung schließt ein reserviertes Wort oder einen Argumentnamen ein, das/der falsch, mit falscher Zeichensetzung oder überhaupt nicht eingegeben wurde.

    Das Problem scheint ja an der DatePart-eingabe zu liegen, oder? habe diese auch gegoogelt, aber habe leider keine Lösung dafür finden können. Hab ich falsch auf die Spalte mit der Uhrzeit referenziert? (habe Screenshot der DB wieder angehängt)

    Hoffe, ihr könnt mir wieder weiterhelfen und vielen Dank schon mal im voraus!!!
    Bilder
    • Aufzeichnen.JPG

      71,26 kB, 504×456, 165 mal angesehen
    hab es nun durch herumschieben von Code hinbekommen^^

    Meine Lösung:

    Quellcode

    1. Set cmd = New ADODB.Command
    2. cmd.CommandText = "SELECT date AS Datum, AVG(Temperatur) AS TempMittel, DatePart('n',[time]) AS Ausdr1 FROM Winddaten WHERE date BETWEEN #" & start_datum & "# AND #" & end_datum & "# GROUP BY date, DatePart('h',[time]), DatePart('n',[time])"
    3. cmd.ActiveConnection = ADOC


    Jetzt wäre es eigentlich für mich nur noch interessant, wie man den Mittelwert von 10 Sekunden berechnet - hab es mal mit DatePart('n', time)\6 probiert, aber da bekomm ich keine 6 Mittelwert pro Minute - muss gestehen, dass ich auch noch nicht so ganz verstanden habe, was er da ausrechnet :(