[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/29(Mon) 13:59
投稿者名:aiko☆
Eメール:
URL :
タイトル:
MSChartのデータ欠落部分について
ACCESSのデータを使いデータグリッドを通しMSChartで折れ線、散布図を描かせているのですが、
所々ACCESSのデータが抜けていてグラフにすると、その抜けている部分の前までしかグラフ化
されません。データの歯抜けの部分も歯抜けなグラフで表示させたいのですが、どういった設定を
すればよいのか分かりません。アドバイスお願いします

投稿時間:2004/11/29(Mon) 15:47
投稿者名:水無月
Eメール:
URL :
タイトル:
Re: MSChartのデータ欠落部分について
データが抜けている、ということは、NULLということでしょうか?
であれば、もしNULLなら(グリッドに数値を入れるのであれば)0を入れてやる、
といった作業が必要かと思います。
ちなみにNULLの処理で一番簡単なのは、
たとえば、rs1("データ") & "" とするとString型にすることが出来ますの
で、
[例]
   If rs1("データ") & "" ="" then
      MSChart1.DataGrid(i,j) = 0
   Else
      MSChart1.DataGrid(i,j) =rs1("データ")
   End If

なんてやってます。 「rs1("データ") & "" 」ってやり方、邪道なのかもし
れませんが便利なのでやってます
(^^;

投稿時間:2004/12/02(Thu) 17:41
投稿者名:aiko☆
Eメール:
URL :
タイトル:
Re^2: MSChartのデータ欠落部分について
> データが抜けている、ということは、NULLということでしょうか?
はい何も入ってません。
 返事遅くなってごめんなさい。水無月さん回答ありがとうございます!
 もうひとつ質問なのですが、配列ではなくてADODCを使った時もこういった
 欠落部分の処理はできますか?まだ始めたばかりで大変苦戦してます・・

投稿時間:2004/12/03(Fri) 12:40
投稿者名:水無月
Eメール:
URL :
タイトル:
NULLの処理
>  もうひとつ質問なのですが、配列ではなくてADODCを使った時もこういった
>  欠落部分の処理はできますか?まだ始めたばかりで大変苦戦してます・・

グラフでデータを表示させるには、とりあえずデータを取得することから
はじめますよね?
で、上で書いたようにグラフのデータグリッドに書き込むか、
配列変数を設定して終わったら変数をつなぐかのどちらかになります。
例)
Dim myData(1 to 3,1 to 5) As Integer
myData(1,1)=100
myData(1,2)=200
...............
MSChart1.Data=myData
行列が決まっているのなら後者でもいいのでしょうが、
個人的に前者でやっています。
 それはともかく、SQL文はできますか?
知り合いに聞いたのですが、前回のやり方(rs1("データ") & "" )よりも高速な方法があるそうです。
たとえば メインテーブルにデータフィールド(数値)があり、
その中にNullがある場合…
mySQL="SELECT IIF(データ=NULL,0,データ) AS データA FROM メイン "
としてレコードセットを開くとNULLはなくなります。
レコードセットを開けば、MoveFirstで先頭に行き、
MSChartのデータグリッドにレコードのデータを入れてやり、
EOF=TrueになるまでMoveNextで繰り返し同じ処理をしてやればいいと思います

投稿時間:2004/12/03(Fri) 14:27
投稿者名:aiko☆
Eメール:
URL :
タイトル:
Re: NULLの処理


>  それはともかく、SQL文はできますか?
> 知り合いに聞いたのですが、前回のやり方(rs1("データ") & "" )よりも高速な方法があるそうです。
> たとえば メインテーブルにデータフィールド(数値)があり、
> その中にNullがある場合…
> mySQL="SELECT IIF(データ=NULL,0,データ) AS データA FROM メイン "
> としてレコードセットを開くとNULLはなくなります。
> レコードセットを開けば、MoveFirstで先頭に行き、
> MSChartのデータグリッドにレコードのデータを入れてやり、
> EOF=TrueになるまでMoveNextで繰り返し同じ処理をしてやればいいと思います
  はい、SQL文はかなり勉強したので結構出来てると思います。
 NULLの処理がやはり壁で・・・
 水無月さんのお知り合いの方のやり方でやってみます!