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

ADO連EXCEL...讀取後欄位值不見

答題得分者是:chiehmin
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-06 23:18:03 IP:211.74.xxx.xxx 未訂閱
各位先進好 小弟使用ADO連結EXCEL時發現一個問題 就是,若該欄位整欄皆為數字或皆為文字時...則欄位讀取正常 但是,若某欄位之各筆資料有文字與數子時...則數字欄位值會不見 想請教大家是否有什麼地方沒注意到... 且該如何克服呢? PS:儘量希望以程式段來克服...因為無法要求每個使用者在數字欄為前面加' 發表人 - stonys 於 2003/10/06 23:53:32
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-07 00:24:28 IP:63.84.xxx.xxx 未訂閱
您好!    小弟測試了一下, 在Excel資料表檔案中的某個欄案的資料的兩端和中間分別加上數字, 其它部分為文字, 再用ADOConnection來連接, 并沒有出現您所說的問題, 資料都能正常顯示, 是否能描述一下您使用ADOConnection連接Excel資料表的方法.    另外, 小弟還做了一次反向的測試, 就是利用ADOQuery元件之Execute方法Select指定的Excel資料表中所有資料內容存入Access中, 再來開啟這個新增的Access檔案, 也不會出現如果欄位為文字和數字不顯示的問題, 您也可做一下相同的測試, 程式碼如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * Into Ordermdb From [訂單] In "D:\Order.xls" "Excel 8.0;"');
  ADOQuery1.ExecSQL;      ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * From Ordermdb');
  ADOQuery1.Open;
end;
參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-07 23:53:42 IP:203.73.xxx.xxx 未訂閱
恩~~C SIR您好~~~ 基本上問題應該如此描述的... 1.EXCEL檔若未事先設定為文字格式,當資料填入完畢後,再更換為文字格式...EXCEL似乎有BUG不會將它正確的改為文字格式...除非是到該欄位再按ENTER之後,才會正確轉換為文字格式! 2.我測試的結果為:假設有4欄位 欄位一 欄位二 欄位三 欄位四 123 | TTTT | TR123 | 24 TTT | RERR | 12RET | 56 REW | TEST | ERT21 | 78 456 | RETE | TTT12 | 12 則用ADO連結之後的結果,欄位一的TTT跟REW會消失不見... 除非將123跟456前面加上'強制轉換為文字 或是將欄位格式改為文字後...再至該欄位按下ENTER確定正確轉換為文字格式後 才能正確顯示! 請指教,謝謝! 發表人 - stonys 於 2003/10/07 23:55:43
chiehmin
高階會員


發表:13
回覆:134
積分:134
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-14 08:44:42 IP:61.221.xxx.xxx 未訂閱
在ADOConnection的ConnectingString裡多加上 IMEX=1 即可
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-14 19:31:33 IP:211.74.xxx.xxx 未訂閱
謝謝您,可以了... 可以請教一下這個參數的意思嗎?
chiehmin
高階會員


發表:13
回覆:134
積分:134
註冊:2002-05-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-15 08:47:04 IP:61.221.xxx.xxx 未訂閱
IMEX=1是設定為匯出模式.. 而匯出模式中內定值是把所有資料轉換為文字
引言: 謝謝您,可以了... 可以請教一下這個參數的意思嗎?
系統時間:2024-04-29 8:02:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!