實現(xiàn)Excel動態(tài)鏈接外部數(shù)據(jù)庫
您在Excel中第一次使用“新建數(shù)據(jù)庫查詢”查詢數(shù)據(jù)時,如果系統(tǒng)未安裝Microsoft Query,系統(tǒng)會提示您安裝。
一、Excel鏈接vfp數(shù)據(jù)庫
vfp是常用的數(shù)據(jù)庫,先以此來介紹。假設(shè)從px.dbf表中取出相應學校的數(shù)據(jù),已知學校的后5位代碼,數(shù)據(jù)所在字段為x16,數(shù)據(jù)值為03行和06行相加,放入Excel單個單元格中。
步驟如下:
1、點擊菜單“數(shù)據(jù)”—“導入外部數(shù)據(jù)”—“新建數(shù)據(jù)庫查詢”,出現(xiàn)“選擇數(shù)據(jù)源”對話框,選擇“Visual Foxpro Tables*”,按“確定”。如果您對SQL語句不是很熟悉的話,請使用默認的“查詢向?qū)?rdquo;創(chuàng)建。

(圖1)
2、在“configure connection”對話框中,按“Browse”按鈕選擇表px.dbf所在的路徑,按“ok”鍵。

(圖2)
3、在“查詢向?qū)?mdash;選擇列”對話框中,選擇查詢結(jié)果中的列,要選取的數(shù)據(jù)在“x16”字段,所以將可用表“px”中的“x16”列移至“查詢結(jié)果中的列”,按“下一步”。

(圖3)
4、在“查詢向?qū)?mdash;篩選數(shù)據(jù)”對話框中,因為此例中設(shè)置的條件在字段學校代碼“xxdm”和行號“bh”,非字段“x16”,所以點擊“下一步”,暫時不篩選數(shù)據(jù)。

(圖4)
5、在“查詢向?qū)?mdash;排序順序”對話框中,因為此例中所取的是單個數(shù)據(jù),所在點擊“下一步”。

(圖5)
6、出現(xiàn)“查詢向?qū)?mdash;完成”對話框,因還要對數(shù)據(jù)進行篩選,所以選擇“在Microsoft Query中查看數(shù)據(jù)或編輯查詢”,點擊“完成”。

(圖6)
7、進入“Microsoft Query”,看到查詢結(jié)果x16列出了所有行的數(shù)據(jù)。
接下來要通過設(shè)置條件來篩選所需的數(shù)據(jù)。
點擊菜單“條件”—“增加條件(A)...”,字段“bh”,運算符“等于”,指定值為“03”,按“添加”。

(圖7)
繼續(xù)“添加條件”對話框,選擇“或”,字段“bh”,運算符“等于”,指定值為“06”,按“添加”。

(圖8)
繼續(xù)“添加條件”對話框,選擇“與”,字段“xxdm”,運算符“等于”,指定值為“11201”,按“添加”后按“關(guān)閉”。

(圖9)
但是看到符合條件x16為空,這是因為學校代碼的后五位為“11201”。
可以通過“顯示SQL”來直接修改條件語句,將SQL語句中px.xxdm="11201"改成right(px.xxdm,5)="11201",按“確定”。

(圖10)
也可以在“條件字段”直接修改。

(圖11)
光標放在x16字段,點擊“循環(huán)總計”,將查詢出的兩個值相加,當然也可以直接在SQL語句中修改。

(圖12)
8、關(guān)閉“Microsoft Query”,彈出“導入數(shù)據(jù)”對話框,選擇“數(shù)據(jù)的放置位置”,選擇“$B$2”,按“確定”。

(圖13)
9、但我們發(fā)現(xiàn)顯示了標題行,真正的數(shù)據(jù)卻顯示到了$B$3,這時我們需要修改$B$2單元格的“數(shù)據(jù)區(qū)域?qū)傩?rdquo;。點擊$B$2單元格,按右鍵菜單的“數(shù)據(jù)區(qū)域?qū)傩?rdquo;,彈出“外部數(shù)據(jù)區(qū)域?qū)傩?rdquo;窗口,將“數(shù)據(jù)格式與布局”中“包含字段名”等前面的對勾去掉,將“數(shù)據(jù)區(qū)域中的行數(shù)隨刷新而更改的方式”改成“用新數(shù)據(jù)覆蓋現(xiàn)有單元格,并清除沒有使用的單元格內(nèi)容”,按“確定”。但還是有標題,沒有關(guān)系,點擊$B$2單元格,按右鍵菜單的“刷新數(shù)據(jù)”即可。

(圖14)
10、如果px.dbf數(shù)據(jù)庫有所改變,那么如何在Excel中刷新,可以點擊鏈接數(shù)據(jù)所在單元格右鍵菜單中的“刷新”手工刷新;也可以在“數(shù)據(jù)區(qū)域?qū)傩?rdquo;—“刷新控件”中選上“打開工作簿時,自動刷新”(見圖14),從而在每次打開工作簿時,在“查詢刷新”的提示框中按“啟動自動刷新”按鈕刷新(見圖15)。

(圖15)
11、如果需要編輯查詢,則點擊$B$2單元格,按右鍵菜單的“查詢編輯”,如果出現(xiàn)“查詢向?qū)?rdquo;無法編輯此查詢的提示,只要按“確定”即可進入“Microsoft Query”。
12、$B$3單元格查詢條件與$B$2相差的只是學校代碼,可以將$B$2單元格復制到$B$3單位格,再用$B$3的“編輯查詢”來修改,修改一下學校代碼的值即可。

(圖16)
二、Excel鏈接SQL數(shù)據(jù)庫
鏈接SQL數(shù)據(jù)庫與鏈接vpf大致是相同的。這里介紹的是連接兩表的查詢。
點擊菜單“數(shù)據(jù)”—“導入外部數(shù)據(jù)”—“新建數(shù)據(jù)庫查詢”,出現(xiàn)“選擇數(shù)據(jù)源”對話框,可直接選取所需鏈接的SQL數(shù)據(jù)庫名。
如果SQL數(shù)據(jù)庫有密碼的話,將提示輸入密碼,按“確定”。如果SQL SERVER服務管理器未開啟的話,將出現(xiàn)錯誤提示。
如果不使用“查詢向?qū)?rdquo;的話,可直接進入“Microsoft Query”。添加表news和表type,news表中的typeid和type表的typeid建立關(guān)聯(lián)。在“條件字段”中選擇字段名,并在“值”中輸入條件值,這里輸入的條件是type表的typeid字段值為1且news表的topic中含有"小學生"。點擊選擇要輸出的字段名,這里選擇的是type表中的typename字段和news表的topic字段。

(圖17)
當然,如果您對SQL語句熟悉,也可以直接輸入SQL語句。
接下來的步驟請參考一、中的8、至10、。
三、與其他數(shù)據(jù)庫(如access數(shù)據(jù)等)
這里就不再贅述了,基本思路就是這樣了。
相關(guān)文章

excel中使用VBA提取指定文件夾中指定擴展名的所有文件名的技巧
項目結(jié)束后,要把相關(guān)文件的存放位置整理成清單交給同事或領(lǐng)導,提取文件夾名稱和路徑后,能讓接收方精準找到對應文件,減少溝通成本,確保工作銜接順暢,下面我們就來看看2026-02-26
不使用VBA! excel表格提取指定文件夾的所有文件名的技巧
Excel提供了一個名為FILES的宏表函數(shù),可以直接在Excel中批量提取指定文件夾下的文件名,這種方法適合有一定Excel基礎(chǔ)的用戶,操作相對簡單2026-02-26
excel表格中數(shù)據(jù)很多,也存在很多空白單元格,想要統(tǒng)計空白單元格,該怎么操作呢?下面我們就通過公式快速實現(xiàn)2026-02-26
你還在逐個隱藏和取消隱藏工作表嗎? Excel快速批量取消隱藏工作表技巧
在制作Microsoft Excel工作簿時,一般情況下很少會刪除源數(shù)據(jù)所在的Excel工作表,通常的操作辦法就是將暫時不用的Excel工作表隱藏起來,下面我們就來看看 Excel批量隱藏和2026-02-09
excel表格中銷售數(shù)據(jù)擰麻花怎么辦? 教你一招輕松搞定按顏色求和計數(shù)的
職場工作中經(jīng)常會遇到帶有設(shè)置單元格顏色的表格數(shù)據(jù)需要求和,或者按字體顏色和表格顏色求和,那么如何來進行計算呢,詳細請看下文介紹2026-02-09
另類圖例玫瑰圖! excel創(chuàng)意玫瑰圖的制作方法
excel表格中的數(shù)據(jù)想要制作成創(chuàng)意圖表,該怎么制作玫瑰圖呢?下面我們就來看看excel玫瑰圖的制作方法2026-02-09
單元格還可以按需自定義設(shè)置! Excel單元格格式自定義技巧
excel表格中可以按需自定義設(shè)置,該怎么設(shè)置呢?下面我們就來根據(jù)實際的例子來看看詳細設(shè)置方法2026-01-19
Excel規(guī)劃求解根據(jù)多個變量尋求最佳方案
規(guī)劃求解是一個相對較復雜的分析工具,但是在對數(shù)據(jù)的預測分析上,可謂功能強大,下面我們就來舉例看看2026-01-15
“規(guī)劃求解”是一組命令的組成部分,借助“規(guī)劃求解”,可求得工作表上某個單元格中公式的最優(yōu)(最大或最小)值,并受工作表上其他公式單元格的值的約束或限制,詳細請看下2026-01-15
輕松掌握基礎(chǔ)功能! 給excel初學者的16個VBA基本代碼
歡迎來到VBA的世界!這里有一些簡單的代碼示例,幫助你快速理解VBA的基礎(chǔ)概念,通過這些代碼,你可以逐步掌握VBA的精髓,為更復雜的任務打下基礎(chǔ)2026-01-13

