MSアクセス2003 - のMicrosoft Accessでのスパークライングラフ
-
20-09-2019 - |
質問
やあみんな。誰もがMS Accessでフォーム上のスパークライングラフを作成する方法を知っている場合だけ疑問に思います。チャート・ビルダーは本当にスパークラインチャート(小さなグラフ)を作成することは非常にうまく機能しません。
興味があるだけ、ありがとう!
解決
私はMS Accessでスパークライングラフの中に構築されたものがあるとは思いません。あなたは、サードパーティ製のコントロールを使用して、すべてのユーザーにアプリでそれに沿って展開するか、グラフを表示するためにMS Excelの組み込みコントロールを使用する必要があります。
他のヒント
つい最近アクセスブログで紹介VBA搭載のスパークラインのソリューションがあります:<のhref = "http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power-先端アドオンスパークライン様グラフ・ツー・アクセスreports.aspx」relが= 『nofollowを』> http://blogs.office.com/b/microsoft-access/archive/2011/02/10/power-先端アドインスパーク様グラフツーアクセスreports.aspx の
彼らは.MDBと同様に利用できるの.accdbサンプルファイルを持っているので、私はそれは、複数のバージョン間で動作します推測してます。
私は VBA搭載のスパークラインにして始まったが、それが見えたことを好きではなかったです低解像度と私は連続フォームにそれを使用することができませんでした(それが唯一のレポートで動作します)。私が思いついた解決策は、Excelでグラフを構築し、サブフォルダ内にチャート画像を保存することでした。そして、それは、レポートや帳票フォーム上の画像をリンクするのは簡単です。エクセルのグラフの建物ループは本当に速いですが、私のチャートは、毎晩更新されます。遅い部分は、あなたがグラフ化されているものに応じて異なる場合がありチャートは必要なデータを、生成しています。
私は私が欲しかった外観と解像度でグラフを持っていたExcelのテンプレートを作成しました。私はチャートたかっ各レコードを通じてExcelシートとループを開くには、AccessでVBAルーチンを書きました。シートは、チャートデータのレコードを読み込み、自動的に「SparkChart」オブジェクトをリフレッシュエクセルへ渡し(以下)は、この関数に渡されます。その後、サブフォルダに画像を保存します。 Excelシートを開いたまま、各ループで再使用されています。私はループを備えた機能が含まれていませんでした。
ここに私のチャートは、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
私は、データの傾向をグラフ化するために、このデータ品質ダッシュボードを構築してどのように説明するYouTubeのビデオを作成することを考えてきました。あなたが興味を持っていると私はそれを行うことを奨励することができるなら、私に教えてくださいます。