實(shí)現(xiàn)Excel動(dòng)態(tài)鏈接外部數(shù)據(jù)庫(kù)

您在Excel中第一次使用“新建數(shù)據(jù)庫(kù)查詢”查詢數(shù)據(jù)時(shí),如果系統(tǒng)未安裝Microsoft Query,系統(tǒng)會(huì)提示您安裝。
一、Excel鏈接vfp數(shù)據(jù)庫(kù)
vfp是常用的數(shù)據(jù)庫(kù),先以此來介紹。假設(shè)從px.dbf表中取出相應(yīng)學(xué)校的數(shù)據(jù),已知學(xué)校的后5位代碼,數(shù)據(jù)所在字段為x16,數(shù)據(jù)值為03行和06行相加,放入Excel單個(gè)單元格中。
步驟如下:
1、點(diǎn)擊菜單“數(shù)據(jù)”—“導(dǎo)入外部數(shù)據(jù)”—“新建數(shù)據(jù)庫(kù)查詢”,出現(xiàn)“選擇數(shù)據(jù)源”對(duì)話框,選擇“Visual Foxpro Tables*”,按“確定”。如果您對(duì)SQL語句不是很熟悉的話,請(qǐng)使用默認(rèn)的“查詢向?qū)?rdquo;創(chuàng)建。
(圖1)
2、在“configure connection”對(duì)話框中,按“Browse”按鈕選擇表px.dbf所在的路徑,按“ok”鍵。
(圖2)
3、在“查詢向?qū)?mdash;選擇列”對(duì)話框中,選擇查詢結(jié)果中的列,要選取的數(shù)據(jù)在“x16”字段,所以將可用表“px”中的“x16”列移至“查詢結(jié)果中的列”,按“下一步”。
(圖3)
4、在“查詢向?qū)?mdash;篩選數(shù)據(jù)”對(duì)話框中,因?yàn)榇死性O(shè)置的條件在字段學(xué)校代碼“xxdm”和行號(hào)“bh”,非字段“x16”,所以點(diǎn)擊“下一步”,暫時(shí)不篩選數(shù)據(jù)。
(圖4)
5、在“查詢向?qū)?mdash;排序順序”對(duì)話框中,因?yàn)榇死兴〉氖菃蝹€(gè)數(shù)據(jù),所在點(diǎn)擊“下一步”。
(圖5)
6、出現(xiàn)“查詢向?qū)?mdash;完成”對(duì)話框,因還要對(duì)數(shù)據(jù)進(jìn)行篩選,所以選擇“在Microsoft Query中查看數(shù)據(jù)或編輯查詢”,點(diǎn)擊“完成”。
(圖6)
7、進(jìn)入“Microsoft Query”,看到查詢結(jié)果x16列出了所有行的數(shù)據(jù)。
接下來要通過設(shè)置條件來篩選所需的數(shù)據(jù)。
點(diǎn)擊菜單“條件”—“增加條件(A)...”,字段“bh”,運(yùn)算符“等于”,指定值為“03”,按“添加”。
(圖7)
繼續(xù)“添加條件”對(duì)話框,選擇“或”,字段“bh”,運(yùn)算符“等于”,指定值為“06”,按“添加”。
(圖8)
繼續(xù)“添加條件”對(duì)話框,選擇“與”,字段“xxdm”,運(yùn)算符“等于”,指定值為“11201”,按“添加”后按“關(guān)閉”。
(圖9)
但是看到符合條件x16為空,這是因?yàn)閷W(xué)校代碼的后五位為“11201”。
可以通過“顯示SQL”來直接修改條件語句,將SQL語句中px.xxdm="11201"改成right(px.xxdm,5)="11201",按“確定”。
(圖10)
也可以在“條件字段”直接修改。
(圖11)
光標(biāo)放在x16字段,點(diǎn)擊“循環(huán)總計(jì)”,將查詢出的兩個(gè)值相加,當(dāng)然也可以直接在SQL語句中修改。
(圖12)
8、關(guān)閉“Microsoft Query”,彈出“導(dǎo)入數(shù)據(jù)”對(duì)話框,選擇“數(shù)據(jù)的放置位置”,選擇“$B$2”,按“確定”。
(圖13)
9、但我們發(fā)現(xiàn)顯示了標(biāo)題行,真正的數(shù)據(jù)卻顯示到了$B$3,這時(shí)我們需要修改$B$2單元格的“數(shù)據(jù)區(qū)域?qū)傩?rdquo;。點(diǎn)擊$B$2單元格,按右鍵菜單的“數(shù)據(jù)區(qū)域?qū)傩?rdquo;,彈出“外部數(shù)據(jù)區(qū)域?qū)傩?rdquo;窗口,將“數(shù)據(jù)格式與布局”中“包含字段名”等前面的對(duì)勾去掉,將“數(shù)據(jù)區(qū)域中的行數(shù)隨刷新而更改的方式”改成“用新數(shù)據(jù)覆蓋現(xiàn)有單元格,并清除沒有使用的單元格內(nèi)容”,按“確定”。但還是有標(biāo)題,沒有關(guān)系,點(diǎn)擊$B$2單元格,按右鍵菜單的“刷新數(shù)據(jù)”即可。
(圖14)
10、如果px.dbf數(shù)據(jù)庫(kù)有所改變,那么如何在Excel中刷新,可以點(diǎn)擊鏈接數(shù)據(jù)所在單元格右鍵菜單中的“刷新”手工刷新;也可以在“數(shù)據(jù)區(qū)域?qū)傩?rdquo;—“刷新控件”中選上“打開工作簿時(shí),自動(dòng)刷新”(見圖14),從而在每次打開工作簿時(shí),在“查詢刷新”的提示框中按“啟動(dòng)自動(dòng)刷新”按鈕刷新(見圖15)。
(圖15)
11、如果需要編輯查詢,則點(diǎn)擊$B$2單元格,按右鍵菜單的“查詢編輯”,如果出現(xiàn)“查詢向?qū)?rdquo;無法編輯此查詢的提示,只要按“確定”即可進(jìn)入“Microsoft Query”。
12、$B$3單元格查詢條件與$B$2相差的只是學(xué)校代碼,可以將$B$2單元格復(fù)制到$B$3單位格,再用$B$3的“編輯查詢”來修改,修改一下學(xué)校代碼的值即可。
(圖16)
二、Excel鏈接SQL數(shù)據(jù)庫(kù)
鏈接SQL數(shù)據(jù)庫(kù)與鏈接vpf大致是相同的。這里介紹的是連接兩表的查詢。
點(diǎn)擊菜單“數(shù)據(jù)”—“導(dǎo)入外部數(shù)據(jù)”—“新建數(shù)據(jù)庫(kù)查詢”,出現(xiàn)“選擇數(shù)據(jù)源”對(duì)話框,可直接選取所需鏈接的SQL數(shù)據(jù)庫(kù)名。
如果SQL數(shù)據(jù)庫(kù)有密碼的話,將提示輸入密碼,按“確定”。如果SQL SERVER服務(wù)管理器未開啟的話,將出現(xiàn)錯(cuò)誤提示。
如果不使用“查詢向?qū)?rdquo;的話,可直接進(jìn)入“Microsoft Query”。添加表news和表type,news表中的typeid和type表的typeid建立關(guān)聯(lián)。在“條件字段”中選擇字段名,并在“值”中輸入條件值,這里輸入的條件是type表的typeid字段值為1且news表的topic中含有"小學(xué)生"。點(diǎn)擊選擇要輸出的字段名,這里選擇的是type表中的typename字段和news表的topic字段。
(圖17)
當(dāng)然,如果您對(duì)SQL語句熟悉,也可以直接輸入SQL語句。
接下來的步驟請(qǐng)參考一、中的8、至10、。
三、與其他數(shù)據(jù)庫(kù)(如access數(shù)據(jù)等)
這里就不再贅述了,基本思路就是這樣了。
相關(guān)文章
陽歷/農(nóng)歷轉(zhuǎn)換對(duì)照表怎么做? Excel制作日歷表/萬年歷的最終版
想要制作陽歷/農(nóng)歷轉(zhuǎn)換對(duì)照表,,通過這個(gè)對(duì)照表,你只需知道陽歷日期,就可以快速準(zhǔn)確的找到對(duì)應(yīng)的農(nóng)歷日期,下面我們就來看看詳細(xì)制作方法2025-04-10三分鐘就搞定! Excel快速制作一個(gè)日歷表/萬年歷的技巧
工作上需要制作一個(gè)日歷表/萬年歷,該怎么制作呢?我們需要使用三個(gè)excel函數(shù)來實(shí)現(xiàn),詳細(xì)請(qǐng)看下文介紹2025-04-10這個(gè)函數(shù)公式簡(jiǎn)直太強(qiáng)了! excel按權(quán)重求和計(jì)算的技巧
Excel中有一個(gè)功能非常強(qiáng)大的函數(shù),它就是SUMPRODUCT函數(shù),既能求和、計(jì)數(shù)、權(quán)重計(jì)算,還能排名等,今天我們就來看看Excel根據(jù)權(quán)重求和的技巧2025-04-10tocol函數(shù)哪個(gè)版本能用? excel中tocol函數(shù)的兩種高級(jí)用法
TOCOL函數(shù)公式非常強(qiáng)大,值得一學(xué),從字面意義可以理解出來,它是將數(shù)據(jù)轉(zhuǎn)換成一列的,今天分享TOCOL函數(shù)的2種高級(jí)用法2025-04-10Excel隱藏行和折疊行有什么不同? 隱藏行和折疊使用方法和區(qū)別介紹
excel表格進(jìn)行操作的時(shí)候,發(fā)現(xiàn)有隱藏和和折疊行,看上去效果一樣,都隱藏了,但是兩者是有很大區(qū)別的,詳細(xì)請(qǐng)看下文介紹2025-03-21Excel工齡計(jì)算不再愁! Excel隱藏函數(shù)DATEDIF輕松計(jì)算精確到天級(jí)的工齡
在日常工作中,我們經(jīng)常需要計(jì)算員工的工齡,以便進(jìn)行人事管理、薪資調(diào)整等工作,本文將詳細(xì)介紹如何在Excel表格中計(jì)算工齡,并提供多種實(shí)用方法供您選擇2025-03-13快速提高工作效率! Excel高手的8個(gè)技巧勸你學(xué)學(xué)
Excel數(shù)據(jù)處理遇到的問題,99%都是由于奇葩的數(shù)據(jù)格式造成的,今天跟大家整理了幾個(gè)Excel表格構(gòu)建的規(guī)則,先不要問為什么,照著做就對(duì)了2025-03-06Excel透視表1月到12月不能排序怎么辦? 數(shù)據(jù)透視表日期無法排序解決方法
如圖對(duì)數(shù)據(jù)透視表日期進(jìn)行升序排序后,仍不是我們想要的結(jié)果,有可能月份是文本,不能排列,下面我們就來看看詳細(xì)解決辦法2025-03-06財(cái)務(wù)審計(jì)必會(huì)! 2分鐘搞定用excel做賬齡劃分的技巧
首先咱們得明確一下賬齡的概念,簡(jiǎn)單來說,賬齡就是某個(gè)賬戶的余額從產(chǎn)生到現(xiàn)在的時(shí)間長(zhǎng)度,比如,一年以內(nèi)的賬齡就是那些在過去一年內(nèi)產(chǎn)生的債權(quán)或債務(wù),下面我們就來看看2025-03-06實(shí)現(xiàn)辦公自動(dòng)化! DeepSeek搭配Excel制作自定義按鈕的技巧
DeepSeek生成想要的代碼很方便,如果將生成的代碼放到excel中作為vba代碼使用,豈不是能實(shí)現(xiàn)辦公自動(dòng)化?下面我們就來看看實(shí)現(xiàn)方法2025-03-05