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

如何使用BCB將EXCEL當作資料庫處理

尚未結案
bee0606
一般會員


發表:22
回覆:30
積分:10
註冊:2003-08-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-07 22:41:22 IP:61.220.xxx.xxx 未訂閱
請問各位先進..BCB要如何將EXCEL讀入處理..看了之前先進的文章..有使用ODBC.不過還是不太清楚..我有使用ODBC設定EXCEL FILE..並用ADOConnect連結..是可以成功..不過接下來使用ADOTable就會發生問題..因為EXCEL並沒有TableName..所以在Action->true會有問題....請問先進...要在BCB如何使用.. 謝謝各位先進
bigdogchina
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-10 17:37:14 IP:211.162.xxx.xxx 未訂閱
bee0606大大,您好,请看看下面的方法能否适合 ( src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=15026517&CC=336063"> (3)单击Use Connection String单选按钮中的Build..按钮 (4)选取Microsoft Jet 4.0 OLE DB Provider驱动程式(该驱动除了可以连接*.mdb的Access文件外,还可以连接*.xls的Excel文件) (5)单击[数据连接属性]对话框里[提供者]选项卡的[下一步]按钮,在里面选择要连接的Excel文件. (6)这时不要单击[确定]按钮来结束设置!!!先单击[测试连接]按钮来确定是否能正确建立连接。这时会弹出一个错误消息框: 为什么会这样呢?因为Microsoft Jet 4.0 OLE DB Provider驱动程式默认是要来连接Access数据库的,如果我们要用来连接Excel文件,必须设置Extended Properties属性. (7)我们关闭该错误消息框,然后单击[数据连接属性]对话框里的[所有]选项卡标签,来修改里面的Extended Properties. 这里设置Extend Properties属性为Excel 8.0,代表我们要利用Microsoft Jet 4.0 OLE DB Provider驱动程式来连接Excel文件而不是Access文件! (8)好啦,我们来单击[数据连接选属性]里的[连接]选项卡标签,在单击[测试连接]来确定是否已经正确地建立连接 (9)现在我们来把ADOTable1组件的TableName属性选定为[Tab1]工作表,并把Active属性设为True; (10)然后我们依次加上DataSource,DBGrid组件,将DataSource的Dataset属性设置为ADOTable1,将DBGrid组件的DataSource属性设置为DataSource1.窗体完成后如下: (11)然后利用工具栏上的Save All,将专案及程式单元文件保存起来. (12)我们在按下F9去Run,嘿嘿,又将弹出错误对话框. 为什么会出现这样的错误呢?因为当我们使用Microsoft Jet 4.0 OLE DB Provider驱动程式来连接Excel文件时,会以‘独占’的方式来连接Excel文件,也就是说当我们用ADOTable1组件的Active设为True时,就已经打开了Excel文件,当我们按下F9时又要打开这个Excel文件,当然要出错了啊! (13)当我们把该专案关闭后,表示已经放弃打开Excel文件,我们现在去刚才保存专案的地方执行它,就没有错了啊 以上方法供您参考,请根据您的实际情况去考虑采用什么方法 < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
bee0606
一般會員


發表:22
回覆:30
積分:10
註冊:2003-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-19 12:58:50 IP:61.220.xxx.xxx 未訂閱
感謝先進提供此方法...相當的詳細....讓我受益良多...謝謝先進
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-09 13:47:48 IP:211.75.xxx.xxx 未訂閱
請問小弟是用Delphi 3 沒有ADO元件 那該如何使用呢???
S4225E
一般會員


發表:1
回覆:2
積分:0
註冊:2005-01-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-01 15:03:02 IP:220.228.xxx.xxx 未訂閱
引用" 我们在按下F9去Run,嘿嘿,又将弹出错误对话框. 为什么会出现这样的错误呢?因为当我们使用Microsoft Jet 4.0 OLE DB Provider驱动程式来连接Excel文件时,会以‘独占’的方式来连接Excel文件,也就是说当我们用ADOTable1组件的Active设为True时,就已经打开了Excel文件,当我们按下F9时又要打开这个Excel文件,当然要出错了啊! (13)当我们把该专案关闭后,表示已经放弃打开Excel文件,我们现在去刚才保存专案的地方执行它,就没有错了啊 ------------------------------------------------------- 當我們把ADOTABLE 的ACTIVE=FALSE 時, 按F9後,是不會出現錯誤,但也不出現 EXCEL 的內容,那麼是怎麼稿的,請協助告知......... 巫
------
momoco1234
一般會員


發表:6
回覆:1
積分:1
註冊:2004-10-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-08 13:52:01 IP:140.126.xxx.xxx 未訂閱
引言: 恕刪!! ------------------------------------------------------- 當我們把ADOTABLE 的ACTIVE=FALSE 時, 按F9後,是不會出現錯誤,但也不出現 EXCEL 的內容,那麼是怎麼稿的,請協助告知......... 巫 ------------------------------------------------------- ADOTABLE 的ACTIVE 屬性 是用來決定是否要開啟TABLE 和 CONNECTION 之間的連結囉 您將 其設定成FALSE 的話 當然不行囉~~~ (9)现在我们来把ADOTable1组件的TableName属性选定为[Tab1]工作表,并把Active属性设为True; 還有這個跟著上面大大給的範例實作的時候...好像怪怪的.... 不過將 ADOTABLE 的CONNECTION屬性 設定成 ADOCONNECTION 好像就可以囉^^~~ 多謝大大提供的範例 讓我又學到了一樣^~^~
發表人 - momoco1234 於 2005/07/08 13:55:16
系統時間:2024-04-24 15:29:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!