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

請問ADOTable的欄與列

尚未結案
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-13 18:42:25 IP:61.63.xxx.xxx 未訂閱
請問...如果我在Excel表格上有資料三筆...五個欄位 抓到資料後....要逐筆寫入一個空的ADOTable... 請問該怎麼做呢?!  小妹只會逐欄寫入第一筆... 但底下兩筆...怎樣也沒法子試出來... ADOTable的列要怎樣寫...程式才會懂得要下加一列再繼續寫入呢?! 又ADOTable的欄與列又該如何指定呢?! 有請各位大哥大姊多多指導了...感激不盡~~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-13 19:12:36 IP:202.39.xxx.xxx 未訂閱
您是取 Excel 第二個 row 以後的各欄的值取不出 還是取得出, 但不知怎麼填進 TADOTable?    --- 歡迎光臨 KTop 研究院
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-13 19:57:43 IP:210.64.xxx.xxx 未訂閱
我有取出值...卻不知道該怎樣填入第二筆資料.... 只能填入第一筆資料...再下一筆就不行了.... 找了好久...都不知道該怎下指令.....
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-13 20:02:06 IP:202.39.xxx.xxx 未訂閱
填入一筆就下 TADOTable.Insert; 或 TADOTable.Append; 再賦予各欄位值後, 下 TADOTable.Post; 即可存檔    --- 歡迎光臨 KTop 研究院
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-13 20:19:48 IP:210.64.xxx.xxx 未訂閱
如果沒有下TADOTable.Post; 是不是值就會跑得怪怪的呢?! 我需不需要做迴圈給它呢?! 目前主管要我用DDE方式抓出資料... 不過這一次只能抓一欄一列的資料(只有一格)... 所以我用迴圈方式寫入第一筆的資料... 但第二筆就行不通...也下過TADOTable.Insert; 但沒下TADOTable.Post; 資料就跑成斜的...成了五欄五列..其中只有左上斜至右下的格子有值 怪怪的.....
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-14 10:51:20 IP:61.63.xxx.xxx 未訂閱
這是我的程式碼...後來想想hagar大哥的話.. 把ADOTable.Append放在外頭迴圈...就可以了... 其中...DdeCC1與DdeCI1是DDE元件..AT1就是我的ADOTable.... 不過...發覺ADOTable.Next;似乎在這裡用不上..也無效...?! //連接Excel檔 function Tform1.LinkServer():Boolean; var i:integer; j:integer; str1:string; begin for j:=2 to 4 do begin for i:=1 to 5 do begin str1:='R' floattostr(j) 'C' floattostr(i); DdeCC1.SetLink('Excel','E:\Book3.xls'); DdeCI1.DdeItem:=str1; DdeCC1.OpenLink; AT1.edit(); if (DdeCI1.Text<>'') then AT1.Fields[i-1].Text:= DdeCI1.Text; end; //AT1.Next; AT1.Append(); end; result:=true; end;
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-14 11:00:42 IP:61.63.xxx.xxx 未訂閱
對了..這樣寫...會多跑出一行空白行... 要怎樣讓空白行消失.不要出現呢?!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-14 11:02:39 IP:202.39.xxx.xxx 未訂閱
function Tform1.LinkServer():Boolean;
var i:integer;
  j:integer;
  str1:string;
begin
  for j:=2 to 4 do
  begin
    for i:=1 to 5 do
    begin
      str1 := 'R'   floattostr(j) 'C' floattostr(i);
      DdeCC1.SetLink('Excel','E:\Book3.xls');
      DdeCI1.DdeItem := str1;
      DdeCC1.OpenLink;
      AT1.Append();
      if (DdeCI1.Text <> '') then
        AT1.Fields[i-1].Text:= DdeCI1.Text;
      AT1.Post;
    end;
  end;
  result := true;
end;
--- 歡迎光臨 KTop 研究院
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-10-14 14:21:11 IP:61.63.xxx.xxx 未訂閱
DDE一次只能抓出一格的資料 所以寫成hagar大哥的寫法...資料就變得很奇怪... 跟我昨天遇到的問題一樣..結果如下: 欄 A B C D E --------------------------------- 1 1 1 1 1 1 1 ---------------------------------- 而我之前po的寫法會多一行空格 欄 A B C D E --------------------------------- 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (空) ---------------------------------- 跑到AT1.post時就會說空白的row不可以insert 有沒有其他方式能消去空白行的呢?!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-10-14 15:57:25 IP:202.39.xxx.xxx 未訂閱
那這樣呢?
function Tform1.LinkServer():Boolean;
var i:integer;
  j:integer;
  str1:string;
begin
  AT1.Append();
  for j:=2 to 4 do
  begin
    for i:=1 to 5 do
    begin
      str1 := 'R'   floattostr(j) 'C' floattostr(i);
      DdeCC1.SetLink('Excel','E:\Book3.xls');
      DdeCI1.DdeItem := str1;
      DdeCC1.OpenLink;
      if (DdeCI1.Text <> '') then
        AT1.Fields[i-1].Text:= DdeCI1.Text;
    end;
  end;
  AT1.Post;
  result := true;
end;
--- 歡迎光臨 KTop 研究院
Shelin
一般會員


發表:8
回覆:23
積分:6
註冊:2003-09-22

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-10-14 16:59:22 IP:61.63.xxx.xxx 未訂閱
哇~~~ 一切ok耶 謝謝hagar大哥^^
系統時間:2024-06-28 5:29:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!