Farbschema: Dunkel
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Prikaz mej in trenda v grafikonu

Prikaz mej in trenda v grafikonu

V grafikon vrišite tolerančni pas in najmanjšo vrednost, več merilnih mest prikažite vsako kot svoj niz, zapise po mesecih preštejte kot stolpce ter odčitajte naklon in datum, ko bo dosežena meja.

Zahteva WKL Forms Object Library 1.60 ali novejšo različico.

Pregled rešitve

  • AddReference FromValue, [ToValue], [Caption], [Kind] doda mejno črto (ena vrednost) ali pas (dve vrednosti) v barvi vrste stanja (wskOk, wskWarn, wskBad, wskInfo). Os vrednosti vedno zajame vse meje in pasove. ClearReferences jih odstrani vse.
  • Široki ali dolgi podatki: YFields = "Debelina;Nazivna" da en niz za vsako polje; YFields = "Debelina" s SeriesField = "Mesto" da en niz za vsako vrednost polja Mesto.
  • Združevanje: Aggregate (wcaSum, wcaAverage, wcaCount, wcaMin, wcaMax) s Period (wcyDay … wcyYear) združuje datumsko os. wcaCount ne potrebuje polja Y.
  • Trend: z ShowTrend = True vsak niz dobi črtkano premico po metodi najmanjših kvadratov; TrendSlope(i) je sprememba na enoto X (na datumski osi na dan), TrendReaches(i, Value) pa datum, ko premica doseže Value, ali Null.

Izvedba

Vsi trije grafikoni se nastavijo v Form_Load obrazca s kontrolniki WKL Chart chtDebelina, chtVse in chtMesec; tabele so tiste iz vadnice (Prikaz niza meritev z mejo in trendom), dodana pa je poizvedba qryMeritevMesto (SELECT tblMeritev.Datum, tblMeritev.Debelina, tblMesto.Ime AS Mesto FROM tblMeritev INNER JOIN tblMesto ON tblMeritev.MestoID = tblMesto.ID).

Option Compare Database
Option Explicit
 
Private Sub Form_Load()
    On Error GoTo ErrorHandler
 
    ' One point with its tolerance band and minimum.
    With Me!chtDebelina.Object
        .RecordSource = "SELECT Datum, Debelina FROM tblMeritev WHERE MestoID = 1"
        .XField = "Datum"
        .YFields = "Debelina"
        .ShowTrend = True
        .ClearReferences
        .AddReference 9, 10, "Toleranz", wskOk
        .AddReference 8.5, , "Minimum", wskBad
    End With
 
    ' All points, one series each, from long data.
    With Me!chtVse.Object
        .RecordSource = "qryMeritevMesto"
        .XField = "Datum"
        .YFields = "Debelina"
        .SeriesField = "Mesto"
    End With
 
    ' Measurements per year as columns.
    With Me!chtMesec.Object
        .RecordSource = "tblMeritev"
        .XField = "Datum"
        .ChartType = wctColumn
        .Aggregate = wcaCount
        .Period = wcyYear
    End With
 
FinalHandler:
    Exit Sub
 
ErrorHandler:
    MsgBox Err.Description, vbExclamation
    Resume FinalHandler
End Sub
 
Private Sub chtDebelina_DataLoaded(ByVal Points As Long)
    On Error GoTo ErrorHandler
 
    ' Slope per day, shown per year; the date the minimum is reached, or Null.
    Debug.Print "Na leto: "; Format(Me!chtDebelina.Object.TrendSlope(0) * 365.25, "0.00"); " mm"
    Debug.Print "Minimum dosežen: "; Nz(Me!chtDebelina.Object.TrendReaches(0, 8.5), "nikoli")
 
FinalHandler:
    Exit Sub
 
ErrorHandler:
    Debug.Print Err.Description
    Resume FinalHandler
End Sub

Opombe

  • Nastavljanje lastnosti eno za drugo po vsaki spremembi znova prebere podatke; vmesni DataLoaded z LastError je običajen, dokler nastavitve niso popolne. Če jih nastavite v pogledu načrta (ali v oblikovalniku), se temu izognete.
  • Vrstica brez berljive vrednosti X se ne nariše; šteje jo RowsWithoutX.
  • Manjkajoča vrednost Y prekine črto (Missing = wcvGap); wcvConnect točko izpusti, wcvZero jo šteje kot 0. Obdobje brez vsake vrednosti je vrzel, ne 0.
  • Več kot 2.000 točk na črti se za prikaz zgosti, grafikon pa to sporoči; trend in os uporabljata vse vrednosti.
  • Klik na vnos legende skrije ali prikaže njegov niz (SeriesVisible); klik na točko sproži PointClick(Series, X, Y).

Sorodne teme

sl/wiki/msaccess/comctl/how-to/show-limits-and-a-trend-in-a-chart.txt · Zuletzt geändert: von Wolfgang van der Stille