EXCEL 用 ADO 讀取日期欄 |
缺席
|
cwc65536
初階會員 ![]() ![]() 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
cwc65536
初階會員 ![]() ![]() 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
S:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' edit1.text ';Mode=Share Deny None;Extended Properties=IMEX=1;Excel 8.0;IMEX1=1;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'; S:=S 'Jet OLEDB:Engine Type=35;Jet OLEDB:Dat'; ADOConnection1.ConnectionString:=S; ADOConnection1.Connected :=true;我把 IMEX1=1 加上, 可是無效 不知有否放錯地方了嗎 ? 再確認一次: 問題應該出在 EXCEL 的來源, 該欄 EXCEL 自動認定是 date type, 但是 User 有時會在前面加上 ' 引號, 要求 EXCEL 把他當成 string type 所以轉換時才會發生誤會. 另外, 就我的觀察, 資料到 dbGrid 後, 一律變成 string type 了. 因為, 我都是用 dbGrid1[0].text 去讀取的. |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 請參考如下連接試試﹕
http://delphi.ktop.com.tw/topic.php?topic_id=55692
http://delphi.ktop.com.tw/topic.php?topic_id=38523
http://delphi.ktop.com.tw/topic.php?topic_id=76453 =================================
------
忻晟 |
cwc65536
初階會員 ![]() ![]() 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
|
kartan_01
一般會員 ![]() ![]() 發表:42 回覆:60 積分:20 註冊:2004-12-08 發送簡訊給我 |
|
cwc65536
初階會員 ![]() ![]() 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
kartan_01 給我的啟示, 測試如下 : 1. 把有 引號 的記錄, 放第一筆
將該欄所有儲存格設成
(1).日期 , 第一種 2001/3/14 => 2005/10/4 變 e/10/4 .... 不正確
(2).日期 , 第二種 2001/3/14 => 2005/10/4 變 2005/10/4 .... 正確
(3).日期 , *2001/3/14 => 2005/10/4 變 2005/10/4 .... 正確 2. 第一筆沒有放 引號
將該欄所有儲存格設成
(1).日期 , 第一種 2001/3/14 => 2005/10/4 變 空白 .... 不正確
(2).日期 , 第二種 2001/3/14 => 2005/10/4 變 空白 .... 不正確
(3).日期 , *2001/3/14 => 2005/10/4 變 空白 .... 不正確 所以, 要求 User 一定要讓 第一行, 一定要加 ' 引號 !! 難道, 程式無法識別處理嗎 ? 又或者, 可以讓程式去插入一筆資料到 EXCEL 第一筆, 讀進後, 再濾掉 !
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |