全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2495
推到 Plurk!
推到 Facebook!

如何利用access資料繪製曲線圖

答題得分者是:老大仔
a80256
一般會員


發表:3
回覆:5
積分:1
註冊:2008-12-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-01 14:32:16 IP:192.192.xxx.xxx 訂閱
請問一下該如何運用access的資料繪製曲線圖,我設計了兩個edit、一個button、一個chart、一個combobox
combobox中有五個參數選項可選擇
在edit中輸入資料(年月日時分)
EX:
200604171500(edit1),200604172000(edit2),在combobox中選取繪製其曲線圖的參數,按下button後,讀取其資料庫數值,並繪製在chart中
chart的 x軸:時間,y軸:數值



附件檔為access數值及表單
附加檔案:49d30a70b300c_pic.rar
編輯記錄
a80256 重新編輯於 2009-04-01 14:33:07, 註解 無‧
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-02 21:44:13 IP:122.116.xxx.xxx 未訂閱
您好,

看您table欄位為 img_filename, 1,2,3,4,5 實在很怪, 照理 1,2,3,4,5 不可能當成欄位名的才對.
所以我先改成 fld1, fld2, fld3, fld4, fld5
又, 假設 combobox 是讓使用者挑選要畫 fld1, fld2, ..., 或 fld5 的資料 .

1. 拉一個 adoquery1, sql.text 設為 'select mid(img_filename,2) as dt, fld' inttostr(combobox.itemindex 1) as numdata from table1 where mid(img_filename,2) between ''' edit1.text ''' and ''' edit2.text '''';
2. doubleclick DBCHART(要用 DBCHART, 不是 CHART), 加一個 fastline series
3. 點 series, 點 data source, 點 dataset, 點 adoquery1, 點 x 選 dt, 點 y 選 numdata,

請親自試一下, 我沒實測.

---------------------------------------

我發覺我寫錯了, msaccess 中沒有 substr 應該是 mid
(我像老和尚一樣, 工夫學太多都給他忘記了)
取 子字串 在各種 db server, 各種程式語言 間可能寫法都不一樣, 太困擾了
秦始皇的書同文真是灼見啊.


------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2009-04-02 23:28:18, 註解 無‧
st33chen 重新編輯於 2009-04-03 11:49:55, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-04-03 01:52:40 IP:59.114.xxx.xxx 未訂閱
不好意思
借題發問一下...
請問st33chen大大
substr是什麼功用呢?

and...欄位用數字應該是ok的
記得以前就因為很懶
所以表單有時暫時都設為數字XD
不過~前提是在Access中能使用
其他的資料庫沒測過
我也不太清楚@@

另外~
我自己也照著st33chen大大的解說來試做一次(因為沒用過DBChar)
發現在您的3. 點 series, 點 data source, 點 dataset, 點 adoquery1, 點 x 選 dt, 點 y 選 numdata,
點 adoquery1-->這裡就會掛掉哩@@
所以我後來就直接用TChar來試做看看
感覺比較好用(是錯覺嗎= =?)
呃~可能我比較笨拙
所以不知道要怎麼弄吧...

以下順便po上程式碼
不過~
是用TChart而不是DBChart


[code delphi]
procedure TForm1.Button2Click(Sender: TObject);
begin
ADODataSet1.Close;
ADOConnection1.Connected:=False;
ADODataSet1.CommandText:='select img_filename as Data, fld'
IntToStr(ComboBox1.ItemIndex 1) ' as numdata from test where img_filename between '''
Edit1.Text ''' and ''' Edit2.Text '''';//st33chen大大提供的SQL語法
ADOConnection1.Connected:=True;
ADODataSet1.Open;
if ADODataSet1.RecordCount = 0 then ShowMessage('NO Data')
else
Begin
Series1.Marks.Style := smsLabelValue;
Series1.Clear;
while not ADODataSet1.Eof do
Begin
Series1.Add(ADODataSet1.Fields[1].AsInteger,ADODataSet1.Fields[0].AsString,clTeeColor);
ADODataSet1.Next;
End;
ADODataSet1.Close;
ADOConnection1.Connected:=False;
End;
end;

[/code]
編輯記錄
老大仔 重新編輯於 2009-04-03 01:55:20, 註解 SQL語法太長了 斷行一下...‧
老大仔 重新編輯於 2009-04-03 01:56:44, 註解 無‧
系統時間:2024-05-18 16:24:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!