Domanda

Ciao ragazzi. Chiedo solo se qualcuno sa di un metodo per creare grafici sparkline in un form in MS Access. Il costruttore grafico non funziona davvero molto bene per creare grafici sparkline (grafici che piccole).

Solo per curiosità, grazie!

È stato utile?

Soluzione

Non credo che ci sia qualcosa di costruito in per i grafici sparkline in MS Access. È necessario utilizzare un controllo di terza parte e distribuirlo insieme con la tua applicazione a tutti gli utenti o utilizzare MS Excel controllo embedded per mostrare il grafico.

Altri suggerimenti

C'è una soluzione sparkline VBA alimentato descritto sul blog Accesso a poco tempo fa: http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power- tip-add-sparkline-like-grafici-to-access-reports.aspx

Hanno un mdb così come un file di esempio con estensione accdb disponibili, quindi sto cercando di indovinare che funziona in più versioni.

Ho iniziato con il VBA alimentato sparkline ma non mi è piaciuto che sembrava a bassa risoluzione e non ho potuto usarlo su un modulo continuo (funziona solo sui rapporti). La soluzione mi è venuta era quello di costruire le tabelle di Excel e salvare le immagini del grafico in una sottocartella. Allora è facile collegare l'immagine su un report o modulo continuo. I miei grafici aggiornano ogni notte, anche se l'Excel ciclo edificio grafico è veramente veloce. La parte lenta sta generando i dati che i grafici hanno bisogno, che può variare a seconda di ciò che si sta grafici.

Ho creato un modello in Excel che aveva un grafico con lo sguardo e la risoluzione che volevo. Ho scritto una routine VBA in Access per aprire un foglio Excel e ciclo attraverso ogni record che ho voluto tracciare. Il foglio viene passato a questa funzione (sotto), che carica un record di dati del grafico e passa in Excel, che aggiorna automaticamente l'oggetto 'SparkChart'. Si salva l'immagine in una sottocartella. Il foglio Excel rimane aperto ed è riutilizzato con ogni ciclo. Non ho incluso la funzione con il ciclo.

Ecco cosa mia tabella assomiglia in Excel:

file di Excel con la tabella

Ecco un esempio dei Sparklines rappresentate con una continua:

esempio Data Quality Dashboard

Public Function fCreateSparklineChart(pDQ_ID As Long, pChartSheet As Object) As Boolean
' Pass in a Dashboard Query ID for data that has already compiled into the top-n
' temp table and the data will be copied to the passed pChartSheet in Excel.  This
' will update a chart object, then the chart is saved as a .png file.

    Dim strSQL As String
    Dim strChartPath As String
    Dim rs As DAO.Recordset

    On Error GoTo ErrorHandler

    ' Get chart data from a table that has already been compiled with 
    ' min and max values as percentages so the lowest value is 0
    ' and the highest value is 100.
    strSQL = "  SELECT DQ_ID, Trend_Value, " & _
            " IIf(Trend_Value=0,0,Null) AS Min_Point, " & _
            " IIf(Trend_Value=100,100,Null) AS Max_Point " & _
            " FROM " & DASHBOARD_TMP_TABLE & _
            " WHERE (DQ_ID=" & pDQ_ID & ") "
    strSQL = strSQL & " ORDER BY RowNo "

    Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

    If rs.RecordCount > 0 Then

        pChartSheet.Range("A1").CurrentRegion.Clear
        pChartSheet.Range("A1").CopyFromRecordset rs
        pChartSheet.ChartObjects("SparkChart").Chart.SetSourceData pChartSheet.Range("rngData")

        ' Use a filename that includes the record ID.
        strChartPath = CurrentProject.Path & "\Images\Sparkline_DQ_ID_" & Format(pDQ_ID, "0000") & ".png"

        ' Delete the file if it already exists.
        DeleteFile strChartPath

        ' Save the Excel chart as a png file.
        pChartSheet.ChartObjects("SparkChart").Chart.Export strChartPath, "png"

        fCreateSparklineChart = True
    End If

Exit_Function:
    Exit Function

ErrorHandler:
    fCreateSparklineChart = False

    MsgBox "Error #" & err.Number & " - " & err.Description & vbCrLf & "in procedure fCreateSparklineChart of basSparkline"
    GoTo Exit_Function

End Function

Ho pensato di creare un video di YouTube che spiega come ho costruito questo Quality Dashboard dati per tracciare le tendenze dei dati. Fatemi sapere se siete interessati e posso essere incoraggiato a farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top