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

access中怎麼做這樣子的查詢

尚未結案
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-24 12:22:27 IP:140.128.xxx.xxx 未訂閱
同一個資料庫,我要做二個資料表的查詢,而查詢的依據是在EDIT中輸入客戶編號,請問這樣子怎麼下語法: 資料表一: 資料表二: 然後查詢出來的值我要顯示在DBGrid中 請問這樣子要怎麼下呢? 謝謝
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-24 21:02:27 IP:61.219.xxx.xxx 未訂閱
一、
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('SELECT * FROM 交易資料表 WHERE 客戶編號 = '   quotedstr(edit1.Text));
query1.Open;
二、
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('SELECT * FROM 客戶資料表 WHERE 客戶編號 = '   quotedstr(edit1.Text));
query1.Open;
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-25 01:15:50 IP:219.81.xxx.xxx 未訂閱
不好意思,是否可以在說明詳細一點 因為我第一次用Delphi連資料庫的東西 有一些元件可能還不太會拉 想請問是否有熱心人士可以指導我 謝謝
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-25 09:17:00 IP:202.62.xxx.xxx 未訂閱
您好﹗    主要問題是不太清楚您查詢的目的為何﹖也就是執行查詢希望得到什么樣的結果﹐查詢的條件是什么﹖    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-25 09:59:41 IP:219.81.xxx.xxx 未訂閱
不好意思,我把我想要的說清楚一點,我的主要功能是要做查詢 我在edit中輸入客戶編號,能查詢出我的基金代號、購買日期、價格、數量、交易動作 我的條件是客戶編號,結果是要查出:基金代號、購買日期、價格、數量、交易動作這是資料表一 資料表二的話,條件是身分證,要查出客戶編號 我是要把這些寫在com的這一端,請問我該怎麼下手 謝謝
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-25 11:33:46 IP:202.62.xxx.xxx 未訂閱
您好﹗    Access資料庫形態建議您使用ADO存取方式﹐步驟如下﹕ 一﹒在Form中加一個ADOConnection元件﹐假設為ADOConncetion1設定其ConnectionString屬性值用以連接上游的資料庫﹐設定其LoginPrompt屬性值為False用以在連接資料庫時不出現登入窗口 二﹒在Form中加一個ADOQuery元件﹐設定其Connection屬性值為剛才的ADOConnection1元件 三﹒在Form中加入兩個Edit﹐名稱分別為Edit1和Edit2﹐用于讓使用者輸入查詢的條件值 四﹒兩項查詢要求的程式碼如下﹐可寫在您需要触發的事件中﹐如Button元件的OnClick事件﹕
//查詢一﹐輸入框為Edit1
begin
  if Trim(Edit1.Text) <> '' then
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('Select 基金代號,購買日期,價格,數量,交易動作 From 交易資料表 Where ');
      ADOQuery1.SQL.Add('客戶編號 = '''+Edit1.Text+'''');
      ADOQuery1.Open;
    end
  else
    begin
      ShowMessage('請先輸入客戶編號');
      Edit1.SetFocus;
    end;
end;    //查詢二﹐輸入框為Edit2
begin
  if Trim(Edit2.Text) <> '' then
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('Select 客戶編號 From 客戶資料表 Where ');
      ADOQuery1.SQL.Add('身份證 = '''+Edit2.Text+'''');
      ADOQuery1.Open;
    end
  else
    begin
      ShowMessage('請先輸入身份證號');
      Edit2.SetFocus;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-25 17:01:38 IP:219.81.xxx.xxx 未訂閱
恩恩,謝謝板大,那如果我要把我篩選出來的值顯示出來的話 是不是要宣告一個ARRAY變數,把ARRAY的值寫在DGGRID上還是STRINGGRID上 因為是新手,所以有很多地方不懂,麻煩了 謝謝
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-25 17:16:11 IP:202.62.xxx.xxx 未訂閱
您好﹗    不用另外再做宣告﹒ADOQuery1元件Open之后即擷取到資料表中符合查詢條件的資料錄﹐如果您是為了顯示出來的話﹐參考如下步驟﹕ 一﹒在Form中加入一個DataSource元件(假設名為﹕DataSource1)﹐將其DataSet屬性值設為ADOQuery1 二﹒在Form中加入一個DBGrid元件(假設名為﹕DBGrid1)﹐將其DataSource屬性值設為DataSource1 三﹒當ADOQuery1元件Open的時候﹐您就可以在DBGrid1元件中看到符合查詢條件的資料錄顯示出來了﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-11-25 17:20:35 IP:219.81.xxx.xxx 未訂閱
那如果我把你教我的這一些寫在com那端一樣也不用宣告嗎? 我試試,有問題在請教你,先謝謝你^^
nickcgh6
一般會員


發表:37
回覆:11
積分:9
註冊:2004-07-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-11-26 01:19:38 IP:219.81.xxx.xxx 未訂閱
板大你好,我試了一下,如果沒有透過com做查詢 是ok的^^ 但是如果用com的話,我的DataSource的DataSet卻沒有東西可以選取 請問該怎麼做,謝謝
系統時間:2024-06-23 10:18:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!