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

以EXCEL為資料庫,用ADO存取

尚未結案
sangya
一般會員


發表:21
回覆:46
積分:13
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-08 17:00:40 IP:61.218.xxx.xxx 未訂閱
在貴站的文章中有看到一篇文章,如何使用ADO來存取EXCEL 我按照上面的做法: 在ConnectionString屬性設定之全部頁次的Extended Properties(擴展屬性)中建立Excel 8.0,然後選擇一個EXCEL檔案,做測試連線時OK. 可是結果一執行程式後,當程式讓ADOConnection1.CONNECTED:=TRUE後... 就出現一個"災難性的錯誤"... 這是為啥..那裡有搞錯嗎?請各位指教.謝謝 執行環境如下 WIN 2000 OFFICE 2000 DELPHI 7.0
hagar
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-08 17:21:00 IP:202.39.xxx.xxx 未訂閱
design time 的 ADOConnection1.CONNECTED 屬性要設為 False 在 runtime 的時候才設為 True
water
初階會員


發表:90
回覆:89
積分:35
註冊:2003-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-08 20:49:06 IP:61.235.xxx.xxx 未訂閱
你問的問題我不會 但如果剛剛開始使用 ADO 去控制 Excel 一些基本的 使用/設定/功能 問題,可以參考我之前發問的問題    一切無為法.如虛亦如空.如如心不動.萬法在其中
------
一切無為法.如虛亦如空.如如心不動.萬法在其中
wendp
一般會員


發表:1
回覆:3
積分:0
註冊:2004-08-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-09 08:25:51 IP:61.57.xxx.xxx 未訂閱
ADOConnection ============= ADOConnection_Excel.Connected := false; ADO_Connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;' 'Data Source=' Edit_Excel_DataSource.Text ';Mode=ReadWrite|Share Deny None;' ';Extended Properties=IMEX=1;Excel 8.0;Persist Security Info=False'; ADOConnection_Excel.ConnectionString :=ADO_Connectionstring; ADOConnection_Excel.Connected :=true; ADOConnection_Excel.GetTableNames(ListBox_Select_Sheet.Items,false); ==================================================================== ADOQuery ======== ADOQuery_Excel.Active := false; sheet:=ListBox_Select_Sheet.Items.Strings[sheet_count]; ADOQuery_ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;' 'Data Source=' Edit_Excel_DataSource.Text ';Mode=ReadWrite|Share Deny None' ';Extended Properties=IMEX=1;Excel 8.0;Persist Security Info=False'; ADOQuery_Excel.ConnectionString :=ADOQuery_ConnectionString; strsql := 'select * from [' Sheet ']' ; ADOQuery_Excel.Active := false; ADOQuery_Excel.SQL.Clear; ADOQuery_Excel.SQL.Add(strsql); ADOQuery_Excel.Active := true; =================================================================== 以上是我的做法!! 試試吧...
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-09 09:51:33 IP:211.162.xxx.xxx 未訂閱
不好意思,插個花,請不妨看看小弟的這篇 >人生在勤,不索何獲 <>業精於勤荒於嬉,行成於思毀於隨 <>臨淵羡魚不如退而結網
------
人生在勤,不索何获?
sangya
一般會員


發表:21
回覆:46
積分:13
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-09-09 09:52:25 IP:61.218.xxx.xxx 未訂閱
hagar,在RUNTIME後才讓ADOCONNECTION.CONNECTED:=TRUE,己不會有災難性的問題發生,但是下SQL指令'SELECT * FROM Sheet1' 或 'SELECT * FROM [Sheet1]',卻出現"Microsoft Jet資料庫引撃無法找到Sheet1的物件"的錯誤訊息,我很確定該excel檔案中有Sheet1的sheet,這是為何? wendp,試過你的辦法,問題亦相同. 煩請各位幫忙,謝謝.
sangya
一般會員


發表:21
回覆:46
積分:13
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-09-09 10:06:59 IP:61.218.xxx.xxx 未訂閱
bigdogchina,按照你所寫的那篇文章去設計 將adotable.tablename=sheet1$,再將adotable.active=true後 結果卻出現'From子句中的語法錯誤',這是為何?
sangya
一般會員


發表:21
回覆:46
積分:13
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-09-09 10:20:49 IP:61.218.xxx.xxx 未訂閱
感謝各位的大力幫忙... 程式己經測出來囉... 改成這樣即可'select * from [sheet1$]'
系統時間:2024-06-28 8:15:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!