Pregunta

Hola chicos. Sólo me preguntaba si alguien sabe de un método para crear gráficos sparklines en un formulario de Microsoft Access. El generador de gráficos en realidad no funciona muy bien para crear gráficos sparklines (gráficos que los pequeños).

Sólo por curiosidad, gracias!

¿Fue útil?

Solución

No creo que haya nada incorporado para gráficos Sparkline en MS Access. Usted tiene que utilizar un control de terceros y desplegar junto con su aplicación para todos los usuarios o el uso de MS Excel control embebido para mostrar la gráfica.

Otros consejos

Hay una solución minigráfico con motor VBA aparecido en el blog de acceso relativamente poco tiempo: http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power- tip-add-sparklines-como-gráficos-a-acceso-reports.aspx

Tienen una .mdb, así como un archivo de ejemplo Accdb disponibles, así que supongo que funciona en múltiples versiones.

Empecé con la minigráfico , pero no me gusta que parecía baja resolución y no podía usarlo en una forma continua (que sólo funciona en los informes). La solución que se me ocurrió fue construir los gráficos en Excel y guardar las imágenes de gráfico en una subcarpeta. Entonces es fácil de vincular la imagen en un informe o en forma continua. Mis tablas se actualizan cada noche, a través del lazo edificio gráfico de Excel es muy rápido. La parte lenta es la generación de los datos que necesitan las tablas, que puede variar dependiendo de lo que están trazando.

He creado una plantilla de Excel que tenía una tabla con el aspecto y la resolución que quería. Escribí una rutina de VBA en Access para abrir una hoja de Excel y bucle a través de cada registro que quería trazar. La hoja se hace pasar a esta función (abajo), que carga un registro de datos de la carta y la pasa en Excel, que actualiza automáticamente el objeto 'SparkChart'. A continuación, guarda la imagen a una subcarpeta. La hoja de Excel permanece abierto y se vuelve a utilizar con cada bucle. No he incluido la función con el bucle.

Esto es lo que mi carta se parece en Excel:

archivo de Excel con la carta

Aquí es un ejemplo de los Sparklines que se muestran en una forma continua:

Calidad ejemplo los datos del panel

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

He estado pensando en la creación de un vídeo de YouTube que explica cómo construí este Quality Data Dashboard para trazar las tendencias de datos. Déjeme saber si usted está interesado y que sea alentado a hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top