如何將access資料庫裡的東西連結至EXCEL裡面運用

  各位大大們....目前小弟正在整理一些資料,並想將其中一些access資料庫的內容連結至excel中,而且在excel裡利用下拉式選單選舉我要的項目,舉例說明好了。

例如:我現在有一份廠商資訊(包含產品價格聯絡人等)想在excel製成的採購表格中選取廠商,然後在指定的欄位中也以下拉式清單提供該廠商供貨的多項商品加以選擇,最後選定商品後能自動帶出價格。

第一:要做到如此程度需從何著手?

第二:利用access及excel是否有辦法做到還是只能靠VB來進行?

2 個解答

評分
  • 1 0 年前
    最佳解答

    在資料匯入之後,關於雙層下拉式選單的作法,可以到Elvin大的家族:http://tw.club.yahoo.com/clubs/warehouse-of-Elvin/

    精華區→檔案精華區,也許能找到你要的東西喲。

    2006-09-04 15:48:17 補充:

    1.假設利用資料→匯入外部資料→新增資料庫查詢,所匯入的資料放在工作表(工作表名稱,例如為:data)。請先將資料依firm_name欄位,進行遞增排序。格式如下:

    A B C D (欄名)

    firm_name pro_name pro_price connect_name

    公司1 產品1 1500 許先生

    公司1 產品2 500 許先生

    公司1 產品a 4500 許先生

    公司2 產品1 1200 郭先生

    公司2 產品a 4000 郭先生

    公司2 產品b 600 郭先生

    公司3 產品1 1800 林先生

    公司3 產品x 50 林先生

    公司3 產品y 60 林先生

    2.請先建立(廠商名稱)清單及各公司(產品清單)如下:

    F G H (欄名)

    公司1 公司2 公司3

    產品1 產品1 產品1

    產品2 產品a 產品x

    產品a 產品b 產品y

    3.建立名稱,可以使用插入→名稱→定義;或者,事先選取範圍後,插入→名稱→建立。例如:

    a.firm_name,範圍:data!$A$2:$A$10;

    b.廠商名稱,範圍:data!$F$1:$F$3;

    c.公司1,範圍:data!$F$2:$F$4;

    d.公司2,範圍:data!$G$2:$G$4;

    e.公司3,範圍:data!$H$2:$H$4;

    4.在另一張工作表建立採購表格,假如格式如下:

    A B C D (欄名)

    採購表

    廠商名稱 產品名稱 產品價格 聯絡人

    公司1 產品1 1500 許先生

    公司2 產品1 1200 郭先生

    公司2 產品b 600 郭先生

    公司3 產品x 50 林先生

    合計3350

    5.利用資料→驗證,建立下拉選單。例如:

    a.廠商名稱欄位:選取A3:A7→儲存格內允許:清單→來源:=廠商名稱。

    b.產品名稱欄位:選取B3:B7→儲存格內允許:清單→來源:=INDIRECT($A3)。

    6.使用VLOOKUP函數,查詢產品價格及聯絡人欄位。例如:

    a.儲存格C3(產品價格)公式為:

    =VLOOKUP($B3,INDIRECT("data!$B$"&MATCH($A3,firm_name,0)+1&":$D$"&ROWS(firm_name)+1),2,0)

    b.說明:

    MATCH($A3,firm_name,0):傳回在名稱範圍(firm_name)中符合A3儲存格(公司1)的第一筆資料列數(PS:非第一筆符合資料的列號)。+1後,才是所在列號。

    ROWS(firm_name):傳回名稱範圍(firm_name)的總列數。+1後,傳回匯入外部資料最後一筆的列號。

    "data!$B$"&MATCH($A3,firm_name,0)+1&":$D$"&ROWS(firm_name)+1:即儲存格參照位址"data!$B$8:$D$10",為字串資料。加上 INDIRECT( )函數,成為參照位址。

    所以實際函數引數應為:

    VLOOKUP($B3,data!$B$8:$D$10,2,0)

    7.同理,儲存格D3(聯絡人)公式為:

    VLOOKUP($B3,INDIRECT("data!$B$"&MATCH($A3,firm_name,0)+1&":$D$"&ROWS(firm_name)+1),3,0)

    8.選取C3:D3,往下複製公式即可。

    9.如果A欄沒有資料時,會出現#N/A的訊息,可以在公式外加上=IF($A3="","",....)的判斷式就行了。

    以上。

    PS:

    我用的公式很笨,限制也多,相信一定有更好的解決方式。只不過因為想了好多天才試出來這個方法,有點不吐不快。希望各位見諒。謝謝!

    2006-09-04 15:50:30 補充:

    公式中的"請以雙引號代替。

  • 1 0 年前

    可以用Microsoft Query的方式連到Access資料庫,連到Excel使用.

    選 " 資料 | 匯入外部資料 | 新增資料庫查詢 "

    詳細做法, 可參考Excel說明檔 "關於使用 Microsoft Query 擷取外部資料"

還有問題?馬上發問,尋求解答。