سؤال

ويا رفاق. فقط أتساءل عما اذا كان أي شخص يعرف من طريقة لإنشاء الرسوم البيانية SPARKLINE في نموذج في MS Access. البناء المخطط لا يعمل بشكل جيد جدا لإنشاء تخطيطات SPARKLINE (الرسوم البيانية التي صغيرة).

ومجرد لافتة، وذلك بفضل!

هل كانت مفيدة؟

المحلول

وأنا لا أعتقد أن هناك أي شيء بنيت في لالرسوم البيانية SPARKLINE في MS Access. لديك لاستخدام عنصر تحكم طرف ثالث ونشرها جنبا إلى جنب مع التطبيق الخاص بك لكافة المستخدمين أو استخدام MS Excel مضمن التحكم لتظهر في الرسم البياني.

نصائح أخرى

وهناك VBA بالطاقة حل SPARKLINE ظهرت على وصول بلوق مؤخرا إلى حد ما: <لأ href = "http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power- بلاغ إضافة خط المؤشر مثل، الرسوم البيانية إلى الوصول reports.aspx "يختلط =" نوفولو "> http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power- بلاغ إضافة خط المؤشر مثل، الرسوم البيانية إلى الوصول reports.aspx

ولديهم .MDB فضلا عن نموذج ملف .accdb المتاحة، لذلك أنا التخمين أنها تعمل عبر إصدارات متعددة.

لقد بدأت مع VBA بالطاقة SPARKLINE ولكن لم هذا القبيل بدا منخفضة الدقة وأنا لا يمكن استخدامه على شكل مستمر (يعمل فقط على التقارير). وكان الحل خطرت لي لبناء الرسوم البيانية في Excel وحفظ الرسم البياني الصور في مجلد فرعي. ثم أنه من السهل أن تصل الصورة على تقرير أو شكل مستمر. بلدي الرسوم البيانية التحديث ليلا، على الرغم من أن بناء مخطط حلقة اكسل سريع حقا. الجزء البطيء هو توليد البيانات إلى أن المخططات تحتاج، والتي قد تختلف اعتمادا على ما كنت رسم.

وأنا خلقت قالب في Excel الذي كان مخطط مع نظرة والقرار الذي أردت. كتبت روتين VBA في Access لفتح ورقة اكسل ويتكرر خلال كل سجل أردت أن ترسم. يتم تمرير ورقة لهذه الوظيفة (أدناه)، والذي يحمل في سجلات بيانات التخطيط ويمررها إلى Excel، الذي ينعش تلقائيا الكائن "SparkChart. ومن ثم حفظ الصورة إلى مجلد فرعي. يبقى ورقة اكسل فتح وإعادة استخدامها مع كل حلقة. لم أكن تتضمن الدالة مع الحلقة.

وهنا ما لي مثل الرسم البياني تبدو في Excel:

وهنا مثال للخطوط المؤشرات هو مبين في شكل مستمر:

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

ولقد تم التفكير في إنشاء فيديو يوتيوب يشرح كيف بنيت هذه الجودة لوحة البيانات إلى اتجاهات البيانات الرسم البياني. اسمحوا لي أن أعرف إذا كنت مهتما وأنا قد يتم تشجيعهم على القيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top