返回列表 上一主題 發帖

[發問] Excel工作表單與Access資料庫的VBA互動問題

[發問] Excel工作表單與Access資料庫的VBA互動問題

說明:
原本這是前陣子一位麻辣網友的提問,於日前完成撰寫後,
卻忘了該提問是哪一篇,所以再次代為提文。

A.  Excel Data  -  從 "data" 工作表單直接存取資料、      
    SQL Data    -  從 Access 資料庫 DataSrc 存取資料
    當輸入 "名字" 後,按下 "輸入確定",
    程式即根據 "Excel Data" 或 "SQL Data" 做資料篩選,
    如資料不存在,則右上端顯示 "新增資料", 反之 "更新資料"。
B.  無論是選擇 "Excel Data" 或 "SQL Data" 於資料儲存時,均會
    同步寫入至 Excel "data" 工作表單,以及對應之 Access 資料庫。
C.  目前只能處裡 Access MDF 的資料庫, 2010 的 ACCDB 資料庫在
    存取上遇到瓶頸,會於 rs.Open strSQL, cnn, 1, 3 讀取處出現
    錯誤訊息,一直無解,尚請各位大大鼎力協助解決,謝謝大家!
D.  簽證費用、機票費用的加總計算處理,因卡在 C 項的問題,故尚未處裡。
E.  這是一篇我個人認為蠻能玩味的程式撰寫,希望大家共襄盛舉。

回復 34# JEAN

您看一下引用是否有問題,可以參考底下這一篇.

如何解決Excel VBA出現找不到專案或程式庫
http://discuz.bestdaylong.com/thread-30848-1-1.html
(出處: 彰化一整天的論壇)

TOP

回復 1# c_c_lai


    感謝您提供程式碼, 很實用啊, 我也可以參考這個程式碼, 日後考慮用在公司裡, 以excel來讀取 sql 資料

TOP

回復 41# c_c_lai


你好:
我決定用以前的方法...還是用EXCEL方式。
不過我想請你幫我改一個東西...就是幫我把名字用成選項。
還有一個地方請你幫我改一下....就是行程日期  我想改為我只要輸入1/4日  他就會自動寫入2014/1/4日。
我把裡面的機票那個活頁簿刪除了。
謝謝您的幫忙~~
2014年機票記錄_STEVE.rar (103.15 KB)

TOP

本帖最後由 c_c_lai 於 2013-12-30 17:52 編輯

回復 40# JEAN
妳是使用 39# 的 "2014年機票記錄.xls" 執行還有問題嗎?
我還蠻好奇的,錯誤訊息為何?  資料庫目前妳是使用
"機票記錄明細表.mdb"、還是 "機票記錄明細表檔案.accdb"?
妳測試的電腦環境是在 Office 2003、亦或 Office 2007?
Excel 版本差異性真有那麼大嗎???

TOP

回復 39# c_c_lai


  您好:  謝謝您的幫忙~~~我有一點想放棄了,因為一直發生錯誤,問工程師,他也說不知道。

TOP

回復 36# JEAN
2014年機票記錄.xls 我稍稍修正如下:


2014年機票記錄.rar (153.35 KB)

TOP

回復 34# JEAN
原本語法在 2010 執行 OK,為避免困擾請修正如下:

TOP

回復  c_c_lai


    您好: 公司的電腦是用office 2007的    不過excel儲存的方式是2003   因為其他人是 ...
JEAN 發表於 2013-12-30 12:25

因為看到妳附件的檔案型態是 .accdb 才會有此一問。
MDF 是 Access 2003 的儲存檔的存檔類型,
ACCDB 則是 Access 2007、2010 的儲存檔的存檔類型。
在  Excel 2007、2010 的環境下可以存取 2003、及其 (2003) 以上版本
的資料庫。也就是說因為貴公司其他人均使用 2003 版本的 Office,
雖然妳的是 Office 2007, 在此條件情況下, 你便可以考量全體均
使用 mdf 的檔案。就不要使用 accdb 型態的資料庫檔案,否則其他
使用 2003 版本的同事都無法使用,太突出的表現也是不好的。
如此解說可否解決了妳的困惑? 此時驅動方式則要用:

  1.        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & _
  2.                           ThisWorkbook.Path & Application.PathSeparator & "機票記錄明細表.mdb" & ";"
複製代碼

TOP

回復 35# c_c_lai


    您好: 公司的電腦是用office 2007的    不過excel儲存的方式是2003   因為其他人是用2003的版本。
               不過 access 2007的  所以會用2007的方式儲存。

               請問你說的MDF資料庫是什麼??   沒有學過  .不真好意思

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題