線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1752
推到 Plurk!
推到 Facebook!

Access 查詢比較問題

尚未結案
51819
一般會員


發表:6
回覆:8
積分:2
註冊:2007-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-28 22:42:45 IP:118.24.xxx.xxx 訂閱
一個ACCESS數據,包括2個表,分別是poem、poet!
poem包含字段;‘人物’、‘時間’、‘事情’、‘學歷’
poct包含字段;‘人物’‘時間’‘信息’


問題一、如果我修改poem表裏面的‘時間’,那麽poct表中的‘時間’也要自動改變!

問題二、有一個richedit。如果poem與poct中的‘人物’是相同的,就在richedit.text中顯示poct的‘信息’。反之不相同,就不顯示任何信息!
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-12-29 09:32:16 IP:75.18.xxx.xxx 未訂閱
這是作業題嗎?
===================引 用 51819 文 章===================
一個ACCESS數據,包括2個表,分別是poem、poet!
poem包含字段;‘人物’、‘時間’、‘事情’、‘學歷’
poct包含字段;‘人物’‘時間’‘信息’

問題一、如果我修改poem表裏面的‘時間’,那麽poct表中的‘時間’也要自動改變!
這個需求使用關聯表即可達成,去查一下資料表的關聯怎麼做?!
問題二、有一個richedit。如果poem與poct中的‘人物’是相同的,就在richedit.text中顯示poct的‘信息’。反之不相同,就不顯示任何信息!
使用二個QUERY下個SQL查詢,再將得到的資料集按次序一一顯示出來即可。
[code delphi]
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('SELECT 人物 FROM poem');
aQuery.Open;
while not aQuery.eof do
begin
bQuery.Close;
bQuery.SQL.Clear;
bQuery.SQL.Add('SELECT * FROM poct WHERE 人物=''' aQuery.FieldByName('人物').AsString '''');
bQuery.Open;
if bQuery.RecordCount > 0 then
begin
//在這顯示你的內容
end;
end;
[/code]
編輯記錄
Stallion 重新編輯於 2007-12-29 09:33:16, 註解 無‧
51819
一般會員


發表:6
回覆:8
積分:2
註冊:2007-12-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-12-29 14:19:03 IP:118.24.xxx.xxx 訂閱
問題二安裝你的方法,我添加了aQuery、bQuery、DBGrid、DataSource1、ADOConnection1、Richedit1這些組件!

aQuery 屬性SOL,設置select *from poem ,Active:=true
bQuery 屬性SQL,設置select *from poct ,Active:=false
DataSource1 屬性DataSet =aQuery
DBGrid 屬性 DataSource=DataSource1

我單擊DBGrid裏面所顯示的數據時,Richedit沒有顯示任何東西 ,而且整個Form窗口出現死機狀態,出現沒有反應!
===================引 用 Stallion 文 章===================
這是作業題嗎?
===================引 用 51819 文 章===================
一個ACCESS數據,包括2個表,分別是poem、poet!
poem包含字段;‘人物’、‘時間’、‘事情’、‘學歷’
poct包含字段;‘人物’‘時間’‘信息’

問題一、如果我修改poem表裏面的‘時間’,那麽poct表中的‘時間’也要自動改變!
這個需求使用關聯表即可達成,去查一下資料表的關聯怎麼做?!
問題二、有一個richedit。如果poem與poct中的‘人物’是相同的,就在richedit.text中顯示poct的‘信息’。反之不相同,就不顯示任何信息!
使用二個QUERY下個SQL查詢,再將得到的資料集按次序一一顯示出來即可。
[code delphi]
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('SELECT 人物 FROM poem');
aQuery.Open;
while not aQuery.eof do
begin
bQuery.Close;
bQuery.SQL.Clear;
bQuery.SQL.Add('SELECT * FROM poct WHERE 人物=''' aQuery.FieldByName('人物').AsString '''');
bQuery.Open;
if bQuery.RecordCount > 0 then
begin
//在這顯示你的內容
end;
end;
[/code]
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-12-30 05:37:36 IP:75.42.xxx.xxx 未訂閱
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('SELECT 人物 FROM poem');
aQuery.Open;
while not aQuery.eof do
begin
bQuery.Close;
bQuery.SQL.Clear;
bQuery.SQL.Add('SELECT * FROM poct WHERE 人物=''' aQuery.FieldByName('人物').AsString '''');
bQuery.Open;
if bQuery.RecordCount > 0 then
begin
//在這顯示你的內容
end;
aQuery.Next;
end;
編輯記錄
Stallion 重新編輯於 2007-12-30 05:38:45, 註解 無‧
51819
一般會員


發表:6
回覆:8
積分:2
註冊:2007-12-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-12-30 11:09:43 IP:118.24.xxx.xxx 訂閱
還是弄不好! 乾脆將源碼上載了。都弄到死翹翹了!
麻煩版大幫幫忙弄好!


源碼下載: http://www.fs2you.com/files/4d276845-b684-11dc-8102-00142218fc6e/

===================引 用 Stallion 文 章===================
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('SELECT 人物 FROM poem');
aQuery.Open;
while not aQuery.eof do
begin
bQuery.Close;
bQuery.SQL.Clear;
bQuery.SQL.Add('SELECT * FROM poct WHERE 人物=''' aQuery.FieldByName('人物').AsString '''');
bQuery.Open;
if bQuery.RecordCount > 0 then
begin
//在這顯示你的內容
end;
aQuery.Next;
end;
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-12-31 17:38:11 IP:75.18.xxx.xxx 未訂閱
下載了你的程式碼看了一下後發現,你之前的問題指是你想要做的結果規格,而小弟之前的建議根本無效!
因為你還沒有做到那裡,所以不會有你之前問的那種問題,總而言之,建議你先去找本DELPHI寫資料庫的書籍來看看,先看懂了一些基本的資料庫元件怎麼使用後,再瞭解如何使用資料庫類別控制資料庫才是,在too many errors的狀況下他人是無法在線上與你一起研究的,先將一些基本的問題自己先解決了再說。
===================引 用 51819 文 章===================
還是弄不好! 乾脆將源碼上載了。都弄到死翹翹了!
麻煩版大幫幫忙弄好!


源碼下載: http://www.fs2you.com/files/4d276845-b684-11dc-8102-00142218fc6e/

===================引 用 Stallion 文 章===================
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('SELECT 人物 FROM poem');
aQuery.Open;
while not aQuery.eof do
begin
bQuery.Close;
bQuery.SQL.Clear;
bQuery.SQL.Add('SELECT * FROM poct WHERE 人物=''' aQuery.FieldByName('人物').AsString '''');
bQuery.Open;
if bQuery.RecordCount > 0 then
begin
//在這顯示你的內容
end;
aQuery.Next;
end;
系統時間:2024-05-02 10:44:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!