感覺現在用Access的非常罕見了。


因為Access一直是Office系列中、甚至是微軟全產品系列中的「奇葩」存在。

Access的忠實用戶是誰?

多年以前,我也在職場中見到過使用它的真實故事:

使用Access的當事人並不是我,而是一位總監,他負責在線教育平台的課程內容製作(研發課程及素材,並管理起來),是位部門總監(非軟體技術部門,現在已經是常務副總裁)。當時接觸後發現,他們居然在使用Access管理課程內容信息,比如某個表的欄位包括「課程標題、內容開發者、類目、開發周期、預計評審時間、二次評審時間」等(太久,記不清楚了)。

當時我是新入職的總工程師,作為程序員出身的技術人,你知道在當時我肯定會鄙視這樣的低端技術行為(當時第一感受:真low)。問其使用理由,其回復說:因為我不懂編程,但是Access可以滿足我的需求!關於這個回復,我後面是認同的。當時想幫他重新用Java語言開發一套課程管理系統,並追加一些新的業務功能,比如視頻內容管理、文檔內容管理(包括轉碼和在線閱讀)等等,當時也想參考慕課(MOOC)的形式對課程進行標準化開發,並得出「開發周期為近二個月」的結論,而他之前利用Access憑藉一己之力開發的這套系統,只花了數天時間,就滿足了之前十來年的課程內容管理業務的核心訴求。

以上案例,側面說明我所經歷過的Access忠實用戶,其實非常清晰和明確,那就是:非專業編程人士出身的「技術人員」。

在企業信息化這個市場上,他們一直不受重視,從來沒有一款資料庫產品像Access這樣簡單、直接、甚至傻瓜式的可支持快速建立基於數據的內容管理能力。

這些用戶雖然不懂得真正的編程,但可能比我們更懂得如何使用Office宏,對office整套體系和功能都非常熟練,比我們更擅長合理利用這些功能來支撐業務流程,尤其是Access、Excel。由於他們往往屬於傳統企業中信息化最早的觸網用戶,大部分現在已經處於企業的中高層位置,Access給了他們足夠的自信和回報,他們當時可以藉助Access來開發小型項目、管理自己的數據孤島,保持本地環境的組織性與有效性,現在依然可以利用Access來維護非常平穩的數據內容。

19年7月全球資料庫排名,Access為九強的存在

對於微軟來說,Access有著不可替代的生存優勢,與現代化的資料庫相比,依然有著較強的競爭力,只不過其排名非常穩定,往往不升不降,就是傳統企業很難變革的深層次原因導致。不說國內了,目前就連美國這樣的計算機強國,也有著超過8.5萬個企業用戶在使用Access,這一數字在中國或許更大。

不破不立,夠用就好

計算機專業出身的軟體工程師,從一開始到工作十年以上,幾乎都不太可能被動或主動熟悉Access技術,在他們眼中它只是low到家的、落後的數據開發技術,但在傳統企業中的技術人眼中,這批現在普遍年齡在35-55歲的專業人士管理者眼中,Access是他們認為最接地氣的技術,幫助企業獲得了直到今天依然穩健的數據管理能力。

技術創新的主要焦點是面向專業的開發者

即便到今天為止,雖然軟體市場上無代碼、低代碼量、解放研發生產力的業務開發型工具或平台產品越來越豐富,但大部分創新都集中發生在壁壘較高的技術領域上,從虛擬化到雲計算,從雲計算到容器化,到如今正在被討論的Serverless(函數計算)架構,幾乎都是面向專業程序員的開發為主,而非那些不懂編程的辦公型技術人員,很少有開發工具可以像Access這樣可以讓他們如此友好的快速上手,並可以自定義的選擇業務,產生令人興奮且持久的業務價值。

這些極富幹勁又有部門內決策權利的同學,不希望在職場中求助於專業的編程人士,更願意自己快速動手來解決問題,至少Access提供給了他們這樣的動手能力。

我了解到的大多數Access的項目場景,往往不存在多個人同時在線編輯數據的情況,也較少存在將數據開放給內外部平台的情況,更重要的是,使用者只需要簡單的填寫表單、填寫報表,完成欄位和約束設置,就可以滿足內部的業務開發訴求,這對於中小型求生存的企業來說、甚至包括大型傳統企業的保守部門來說,確實是「夠用就好」。

Access用戶眼中的「信息高速公路」

因為好多辦公用戶只知道Excel, 甚至還會用Excel來做一些資料庫的工作, 比如專門建立一個Sheet用來堆放原始數據, 然後從其他Sheet中用公式去調用. 然後等到這個原始數據表格越來越大的時候, 那個"神奇的Excel"文件就變得不大靈光了.

其實他們只是沒有意識到自己在Excel中乾的事, 本來就因該是Access的領域而已.

Excel, 真的只是一個表格工具, 它最主要的功能就是用來"呈現數據", 也就是把數據以需要的形勢表現出來, 不光是畫格子, 畫各種圖表, 各種統計分析結果, 甚至列印效果.

但是輪到"數據倉庫"這種事, 還是要交給專業的工具來干, 那就是資料庫, 哪怕Access它只是一個桌面資料庫, 它也是正兒八經的資料庫. 無論是對於數據類型的控制, 欄位長度的控制, 數據容量的存放, 多用戶並發性能, 安全性能等等, 都不是Excel可以比擬的.

所以, 前端展示依舊保留Excel, 但是後面的"數據倉庫"變成Access, 就完全不是一個概念的體驗了.

從某種意義上來說, 現在的Excel確實也越來越像資料庫了, 比如它可以容納更多的數據...但它畢竟只是一個表格處理軟體. 公式,宏圖標控制項才是它真正的打開方式. 而數據容納則不是它的強項.

當你嘗試過在一張Excel表格中存放上萬條記錄, 並且想用某種"智能化"的方式, 比如寫一些公式和運算語句去處理數據的時候, 就可以體會到讓人崩潰的心情了. 而且因為Excel作為一個通用表格工具, 並不具備嚴謹的數據類型校驗. 很多時候一些是是而非的用戶輸入, 會讓你花了大把心思整出來的東西變成一堆牢騷. (這種東西沒有體會過的人絕對想不到)

所以, 就像很所回復中所提到的那樣, 有沒有用到Access的Office用戶是應用水平的分水嶺.

夏蟲不可語冰, 除開諷刺的意味, 也是在闡述一個事實.


Access對標的是SQLite這種小型單機文件資料庫。只要在其他平台上有需要使用SQLite的場景,就會有在Windows下對應需要使用Access的場景。

有人會問為什麼不用Excel呢?雖然微軟ODBC是支持用Excel作為數據源的,但是Excel只是一個表格排版工具,雖然Excel支持大量的函數和排序篩選等特性,但是嚴格來說Excel不能算做一個專業的數據處理工具。因為數據本身應該有範式,有關聯性,Excel一個合併單元格操作就已經打破了資料庫最基礎的第一範式,所以Excel根本不能作為嚴謹的數據倉庫。很多情況下數據處理人員僅僅需要既有Excel簡單的操作,但是又需要數據之間存在一些關聯性和範式約束,這個時候就是Access的使用場景了。

另外SQLite官方並沒有推出美觀並且方便易用的GUI客戶端,微軟的Access本身UI設計語言和Office其他工具類似,所以用戶上手難度極低。甚至很多情況下不會SQL都可以做一些簡單的資料庫操作。即使是複雜的多表關聯查詢操作,也可以使用查詢生成器構建,這非常適合很多根本不會SQL語言的人使用。這一點目前商業軟體裡面只有Navicat做的比較好,但是這款工具本身也有一定BUG,比如E-R模型圖過大會導致逆向工程卡死,或者操作過程中閃退,Access畢竟微軟大公司出品,用了這麼久還沒發現有什麼嚴重BUG。


把鏡頭拉遠一點。

回到上世紀末,

還有 dBase, Foxbase, Foxpro, 等等等等。

對了, SYBASE。

SQL ANYWHERE, POWERBUILDER。

網站來說, 不知道還有沒有人知道 「陶清的網站」。

office中為何還要保留Access資料庫?

這個問題是一個典型的「歷史虛無主義」的問題。

機關單位里還有很多很多的數據是存在 Access資料庫裡面的。

儘管遷移這些數據的工具早就爛大街了。

例如 ER-WIN 等等, 可是誰來給錢呢。

1993年5月,Logic Works公司發布了ERwin/ERX,該工具的一個版本旨在與PowerBuilder一起工作。
使用ERwin創建的資料庫模型可以轉化為通過PowerBuilder集成開發環境(IDE)構建的軟體.


因為很多人又需求需要做一個系統,會要用到資料庫。

但是很多人又不懂編程。

這樣子你光有資料庫,會用資料庫,也沒有軟用。

而access恰恰滿足這兩點。

access哪怕不會編程也可以做出簡單的界面,結合資料庫就能做一些簡單的系統。

甚至進階一點可以結合VBA做出一個強大系統了。

而VBA入門很簡單,不需要太多編程知識就可以了。

更重要一點,大部分資料庫是需要安裝的,也就是你程序做好了給別人用的時候還得安裝。甚至有些需要一個專門的運行資料庫文件,一直掛載。

而access的話是整合在office中的,而基本上很多電腦都有office。

同時使用資料庫的時候,需要的時候載入一下資料庫文件,不需要就退出,輕鬆簡單。

還可以輕鬆的把資料庫文件發給別人。

還能輕鬆的修改程序。

總之就是方便。

其他資料庫在很多地方比access好。

但是綜合來說,不方便,不好用。

所謂好用就是讓你一個沒有基礎的人從入門到自己搞出一個系統需要的時間最短。

別人使用最短。

這裡面access界面和excel差不多也是一個優勢。


推薦閱讀:
相关文章