我們有時需要在Excel中調取其他數據庫的數據,並且希望其他數據庫數據改變時,Excel中調取的數據也隨之動態改變。下面介紹在Excel中通過“新建數據庫查詢”(Microsoft Query)的方法來實現動態鏈接數據庫。
您在Excel中第一次使用“新建數據庫查詢”查詢數據時,如果系統未安裝Microsoft Query,系統會提示您安裝。
一、Excel鏈接vfp數據庫
vfp是常用的數據庫,先以此來介紹。假設從px.dbf表中取出相應學校的數據,已知學校的後5位代碼,數據所在字段為x16,數據值為03行和06行相加,放入Excel單個單元格中。
步驟如下:
1、點擊菜單“數據”—“導入外部數據”—“新建數據庫查詢”,出現“選擇數據源”對話框,選擇“Visual Foxpro Tables*”,按“確定”。如果您對SQL語句不是很熟悉的話,請使用默認的“查詢向導”創建。
(圖1)
2、在“configure connection”對話框中,按“Browse”按鈕選擇表px.dbf所在的路徑,按“ok”鍵。
(圖2)
3、在“查詢向導—選擇列”對話框中,選擇查詢結果中的列,要選取的數據在“x16”字段,所以將可用表“px”中的“x16”列移至“查詢結果中的列”,按“下一步”。
(圖3)
4、在“查詢向導—篩選數據”對話框中,因為此例中設置的條件在字段學校代碼“xxdm”和行號“bh”,非字段“x16”,所以點擊“下一步”,暫時不篩選數據。
(圖4)
5、在“查詢向導—排序順序”對話框中,因為此例中所取的是單個數據,所在點擊“下一步”。
(圖5)
6、出現“查詢向導—完成”對話框,因還要對數據進行篩選,所以選擇“在Microsoft Query中查看數據或編輯查詢”,點擊“完成”。
(圖6)
7、進入“Microsoft Query”,看到查詢結果x16列出了所有行的數據。
接下來要通過設置條件來篩選所需的數據。
點擊菜單“條件”—“增加條件(A)...”,字段“bh”,運算符“等於”,指定值為“03”,按“添加”。
(圖7)
繼續“添加條件”對話框,選擇“或”,字段“bh”,運算符“等於”,指定值為“06”,按“添加”。
(圖8)
繼續“添加條件”對話框,選擇“與”,字段“xxdm”,運算符“等於”,指定值為“11201”,按“添加”後按“關閉”。
(圖9)
但是看到符合條件x16為空,這是因為學校代碼的後五位為“11201”。
可以通過“顯示SQL”來直接修改條件語句,將SQL語句中px.xxdm="11201"改成right(px.xxdm,5)="11201",按“確定”。
(圖10)
也可以在“條件字段”直接修改。
(圖11)
光標放在x16字段,點擊“循環總計”,將查詢出的兩個值相加,當然也可以直接在SQL語句中修改。
(圖12)
8、關閉“Microsoft Query”,彈出“導入數據”對話框,選擇“數據的放置位置”,選擇“$B$2”,按“確定”。
(圖13)
9、但我們發現顯示了標題行,真正的數據卻顯示到了$B$3,這時我們需要修改$B$2單元格的“數據區域屬性”。點擊$B$2單元格,按右鍵 菜單的“數據區域屬性”,彈出“外部數據區域屬性”窗口,將“數據格式與布局”中“包含字段名”等前面的對勾去掉,將“數據區域中的行數隨刷新而更改的方 式”改成“用新數據覆蓋現有單元格,並清除沒有使用的單元格內容”,按“確定”。但還是有標題,沒有關系,點擊$B$2單元格,按右鍵菜單的“刷新數據” 即可。
(圖14)
10、如果px.dbf數據庫有所改變,那麼如何在Excel中刷新,可以點擊鏈接數據所在單元格右鍵菜單中的“刷新”手工刷新;也可以在“數 據區域屬性”—“刷新控件”中選上“打開工作簿時,自動刷新”(見圖14),從而在每次打開工作簿時,在“查詢刷新”的提示框中按“啟動自動刷新”按鈕刷 新(見圖15)。
(圖15)
11、如果需要編輯查詢,則點擊$B$2單元格,按右鍵菜單的“查詢編輯”,如果出現“查詢向導”無法編輯此查詢的提示,只要按“確定”即可進入“Microsoft Query”。
12、$B$3單元格查詢條件與$B$2相差的只是學校代碼,可以將$B$2單元格復制到$B$3單位格,再用$B$3的“編輯查詢”來修改,修改一下學校代碼的值即可。
<