Chart mit Datumauswahl von bis

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Chart mit Datumauswahl von bis

    Hallo Zusammen, hab folgendes Problem:

    Möchte eine Datenabfrage mit Access vornehmen:

    Wie man auf den Bildern sieht hab ich es schon geschafft die Access DB anzubinden, auch die einzelen Tabellen.

    Die Abfrage wirde mit Start Button gestartet!

    Bis jetzt zeigt es mir nur den gesamten Zeitraum der Daten an, ich möchte über die Datumsfelder von bis die Werte in das Diagramm auswerfen. (auch wäre die Anpassung der Bezeichnungen der Achsen noch hilfreich, feste Uhrzeiten) Leider bekomme ich das so nicht hin, hat jmd eine Idee?

    Danach sollten die Label befüllt werden (auch in dem Zielbereich, mit min.max und Mittelwert in Prozent)
    Bilder
    • IMG-20180325-WA0041.jpeg

      1,4 MB, 2.336×4.160, 222 mal angesehen
    • IMG-20180325-WA0043.jpeg

      1,42 MB, 2.336×4.160, 133 mal angesehen
    • IMG-20180403-WA0040.jpeg

      3,26 MB, 2.336×4.160, 59 mal angesehen
    • IMG-20180403-WA0043.jpg

      78,08 kB, 1.040×584, 62 mal angesehen
    • IMG-20180403-WA0046.jpeg

      3,04 MB, 2.336×4.160, 79 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Shorty63636“ ()

    ähm - vlt. solltest du dich bischen in die Funktionsweise dieses Forums einarbeiten.
    Also Bilder anhängen kannst du ja schon - nur wieso knipst du deinen Bildschirm mittm Handy?
    Etwa mit dem Windows.Snippet-Tool kanns du Screenshots erstellen - die haben wesentlich bessere BildQualität.
    Aber Code stellt man in diesem Forum noch anders ein - hier gugge mal Anleitung:

    Imports System.Data.OleDb
    Imports System.Windows.Forms.DataVisualization.Charting
    Public Class Form2
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: Diese Codezeile lädt Daten in die Tabelle "Database9DataSet.Uhrzeit". Sie können sie bei Bedarf verschieben oder entfernen.
    Me.UhrzeitTableAdapter.Fill(Me.Database9DataSet.Uhrzeit)
    'TODO: Diese Codezeile lädt Daten in die Tabelle "Database9DataSet.DatumMin". Sie können sie bei Bedarf verschieben oder entfernen.
    Me.DatumMinTableAdapter.Fill(Me.Database9DataSet.DatumMin)
    'TODO: Diese Codezeile lädt Daten in die Tabelle "Database9DataSet.DatumMax". Sie können sie bei Bedarf verschieben oder entfernen.
    Me.DatumMaxTableAdapter.Fill(Me.Database9DataSet.DatumMax)
    'TODO: Diese Codezeile lädt Daten in die Tabelle "Database9DataSet.CGM". Sie können sie bei Bedarf verschieben oder entfernen.
    Me.CGMTableAdapter.Fill(Me.Database9DataSet.CGM)
    'Dim DaTb As DataTable
    'DaTb = UhrzeitTableAdapter.GetData
    'For Each row As DataRow In DaTb.Rows
    ' ComboBox1.Items.Add(row.Item(0))
    'Next

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Chart1.Series.Clear()
    Chart1.Series.Add("CGM")
    Chart1.Series(0).ChartType = SeriesChartType.Spline
    Chart1.Titles.Add("Auswertung BZ")
    Chart1.Titles(0).Font = New Font("Arial", 16.0F)
    Chart1.ChartAreas(0).AxisX.Title = "Zeitlinie"
    Chart1.ChartAreas(0).AxisY.Title = "BZ-Werte"
    Chart1.ChartAreas(0).AxisX.TitleFont = New Font("Arial", 12.0F)
    Chart1.ChartAreas(0).AxisY.TitleFont = New Font("Arial", 12.0F)
    Chart1.ChartAreas(0).AxisX.LabelStyle.Font = New Font("Arial", 10.0F)

    Dim Conn As OleDbConnection = New OleDbConnection
    Dim provider = "Provider= Microsoft.ACE.OLEDB.12.0;Data Source ="
    Dim Datafile = "C:\Users\erfolgreich hinterlegt"
    Conn.ConnectionString = provider & Datafile
    Conn.Open()
    Dim cmd As OleDbCommand = New OleDbCommand("SELECT [mg/dl], [Uhrzeit] FROM [CGM]", Conn)
    Dim dr As OleDbDataReader = cmd.ExecuteReader

    While dr.Read
    Chart1.Series("CGM").Points.AddXY(dr("Uhrzeit").ToString, dr("mg/dl").ToString)
    End While

    'Dim arrWerteDatum = {{"2017.11.21", "85"},
    ' {"2017.11.22.", "75"},
    ' {"2017.11.23.", "71"},
    ' {"2017.11.22.", "81"},
    ' {"2017.11.25.", "80"}}
    'Dim strWert As String
    'Dim strDatum As String
    'Chart1.Series(0).Name = "Werte"
    'For iDatum As Integer = 0 To arrWerteDatum.GetUpperBound(0)
    ' strDatum = arrWerteDatum(iDatum, 0).ToString
    ' strWert = arrWerteDatum(iDatum, 1).ToString
    ' Chart1.Series(0).Points.AddXY(strDatum, strWert)

    'Next
    End Sub
    End Class
    Das Problem an manch anderen Foren ist, das dir jemand fertigen Quellcode hin klatscht. Der wird dann 1:1 übernommen ohne das man weiß was da wie funktioniert. Im besten Fall funktioniert es, im schlimmsten muss man jede zweite Zeile erklären.
    Hier versuchen dir die meisten Leute erstmal auf die Lösung selbst zu kommen indem sie Hinweise geben, z.B. mit dem Begriff "Where". Damit weißt du dann schon mal etwas mehr und kannst die Suchmaschine deines Vertrauens bemühen, welche dir dann meist einen Link zur ausführliche Erklärung der Funktionsweise liefert, z.B. den hier: support.office.com/de-de/artic…58-4e7c-8580-bd1d19a5de91
    Wie gesagt, man will den Benutzer hier durch Eigeninitiative fördern, damit du dein nächstes Problem selber lösen kannst bzw verstehst, wie das Problem gelöst wird.
    @Shorty63636 Ich kann hier nur helfende Postings sehen, kein "blödes Angerede". Es sind eher deine Postings, die von der Aufmachung her mies sind. So mies, dass ich diesen Thread nun schließe.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum