2015年1月23日星期五

從 WINDOWS 10 看記者的無知


"不過,微軟大約兩成的年度銷售額直接由Windows作業系統銷售而來,免費升級等於放棄170億美元(1320億港元)的收入" - 明報

這170億美元中, 絕大部份都是OEM版, 即是你買LAPTOP/廠機時所贈送的那一套WINDOWS.

試問一下各位, 有幾多人會去買BOX版WINDOWS為自己的愛機昇級?

基本各位換WINDOWS的時間, 就是你換LAPTOP/廠機的時間. 就算MS真的在你不換機的情況下為你免費更新WINDOWS, 都只不過是以前的SERVICE PACKS的變種.

於是, 當你買一台新機時, 你就已經透過PC廠向MS支付了這台新機的OEM版WINDOWS.

而當電腦硬體過了三四年後, 你也差不多要換機了, 那新機又跟另一個OEM版WINDOWS, 無論那是WINDOWS 10 11 定 12, 你都是付了鈔... 是不是?

那MS放棄了什麼呢?

MS只是放棄了WINDOWS 7, WINDOWS 8 & WINDOWS 8.1現使用者, 在已有的裝置上升級的可能收益而已. 說到底, 有多少人會因為WINDOWS 10出現了而去付款升級已有的裝置?? 在MS於2014年度的整體收益中, 這些 non-OEM Sales of Windows 的收益只佔 0.45%. 而就算只計 Sales of Windows 本身都是只佔其中的 2.59%.

反而這樣子弄一個免費出來, 大家就會比較願意去升級WINDOWS 10, 於是MS可能在短時間內消滅舊版 WINDOWS , 減低市場碎片化的損害, 最後是開發廠面對龐大而統一的 WINDOWS 10 使用者市場, 將會更樂意,更積極開發 WINDOWS 10 的 APP/SOFTWARE.

大家不要忘記, 這次 WINDOWS 10, 是一統了由EMBEDDED, PHONE, TABLET, LAPTOP, DESKTOP 到 TV (XBOX)的所有螢幕. 如果 WINDOWS 10在推出後12個月內, 能佔據 WINDOWS 市場內的50%以上 , 再加上極其重要的 UNIVERSAL APPS 概念 (ONE CODING, ALL WINDOWS), 那這個改變將會施巨大壓力到 ANDROID 和 OS X 之上.

香港的記者, 有水準點不要照抄外媒好不好?

2014年12月30日星期二

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第二十日/超時第十三日>


今天還是忍不住弄了三個 Matrix Report,分別是 Account Movements,Cash Flow,及 Expenses Analysis。三個 Matrix Report 所覆蓋的期間都是最近十二個月內的資料。

Matrix Report 不難弄,基本上三個 Query 就可以了。首先,一個是用來作 Row Heading 的資料來源,另一個則是 Column Heading (Time) 及 Value 用;最後一個就是把前兩個 Query 整合在一起的 Crosstab Query。



設計好 Query 後,就是設計 Report 的時候。如果你想 Report 可以分組計 Sub-Total,就必須先在 Row Heading 的 Query 中設計好。為什麼不直接用 Table?因為用 Query 的自由度更大,只要個 Logic 無錯或不出現"笛卡兒積 (Cartesian Product)",你可以串聯 Database 內所有的資料。


當你設計好第一個 Matrix Report 後,你就可以用 Copy & Paste 神功去創造更多不同的 Matrix Report 以符合要求。你所要做的只是更改 Query 的 結構及 Report 的 Data Source,Group 及 Sorting 就可以了。


2014年12月27日星期六

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第十九日/超時第十二日>


聖誕節的歡樂氣氛,使我的懶蟲症大發,一停就是七天。。。今天終於總算走出假日心情。

完成了 Deal Closing (Matching) 的 Printout,修改了一些 Queries。如無意外,明天應該是 User Login Controls,之後整個 Accounting DB 就算是完成了。

是時候計劃一下2015 新 Project。。。


2014年12月20日星期六

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第十八日/超時第十一日>


今天完成了 Statement of Financial Position,其中最大的挑戰在於如何計算出Retained Profit。為了要得到 Retained Profit,必須要先求出 Opening Stock 及 Closing Stock。計算 Closing Stock 比較容易,但 Opening Stock 則比較困難。

我的方法是不依靠 VBA,而是透過三四層 Query 去求出不同時間值,每一項 Investment (Stock) 的餘數,再乘以相對應的市價。我以前初初學 Access,老是希望一條 Query 可以應付多種需求,但這是一種很錯的態度。我們應該將 Query 想像成一個一個的小齒輪,他們功能單一,容易複製,也可以放到不同環境中使用。這種概念要盡早深植腦中。

以下是 Statement of Financial Position 的部份 Query:

1.) 這是處理 Assets 及 Liabilities 但不包括 Investment (Stock) 的 Query  


2.) 這是處理 Equities 的 Query  


3.) 以下三個 Query 是用來找出最新 Market Price 




4.) 這是用來找出每項 Investment (Stock) 餘數的 Query


5.) 這是用總計每項 Investment (Stock) 市值的 Query



在某程度上來說,如果你可以掌握到如何計算 Stock 的餘數, 價值, 與總計, 那你距離自家制作一個基本 ERP 已經不遠了。

現在只剩下 Deal Matching 的 Printout 是比較複製,應該很快可以完成的了。。。


2014年12月18日星期四

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第十七日/超時第十日>


今天沒有懶,好努力的從下班奮戰到剛才。每一次從這種忘我的感覺中清醒過來後,我越加相信寫程式是會上癮的。要不是明天還要上班,我想我會繼續的。。。

奮戰的結果是,完成了 Income Statement,而且把正負數也匡正了。除此之外,也把 Dashboard 的 Formula 也修改了,而使到所呈現資料的時間長度為三十一日。

另一方面,Statement of Financial Position 也已經大致完成,就只差將 Profit 細分為 Retained 及 Current 兩種。而這個部份,如果懶蟲不發作,應該今天可以弄好。

下一步就是要弄出 Deal Matching Note 的 Print Out。



2014年12月16日星期二

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第十六日/超時第九日>


不知有沒有杜蟲藥是針對懶蟲的呢?

今天完成了Cash Flow Statement。現在系統內有了兩款不同的 CFS,一款(上圖左側)是可以自由選擇要覆蓋的日期,另一款(上圖右側)是包括由 Date One 開始所有的 Activities。

有時間性那一款 CFS,包含了 Cash and Bank 的 Opening 及 Closing。為了肯定系統沒有計錯數,所以我比較了 Balance Sheet 的數值 (下圖紅方格內的數值),很安慰地,系統是沒有計錯的。當然啦,電腦又怎會計錯數,要肯定的是我所設計的資料結構無錯而已。:-)

到了這一刻,我心知應該盡快完成 FRS,但我又開始想另一些功能。。。例如 Budgeting,和 Matrix Reports。。。心野但又懶!



2014年12月14日星期日

DATABASE七日鮮 - OaccPFA2014 建構全記錄 <第十五日/超時第八日>


不知不覺已經進入了 User Control 的階段第二天。今天終於將 Voucher Printing 的功能實作出來,就是上圖在 Voucher Editor 背後那兩張 Form 。

很多初初使用 Microsoft Access 的朋友都有一個錯覺,以為要打印資料就一定要用 Report,其實不是的。我個人認為在 Accounting DB 來說,如果不需要用到 Running Balance,就不定用 Report。另外,如果是表格類的打印資料,例如 Voucher,就更加不應該考慮使用 Report 來實作。當然,這些都是我自己的經驗之談,只要你可以做出你想要的東西就好。一如已故的鄧伯伯所說:

"不管黑貓白貓,捉到老鼠就是好貓。"

在上圖看不到的是,在這兩張 Printouts 的底部,是會把總數轉換成文字(英文)格式,相關的程式碼我會在 Fine Tuning 階段完完整整的給大家參考。這不是我大方,而是這段程式碼並不是我的創作,而是一位熱心的英國網友分享出來的,我只是略作修改以符合自己的需求而已。

除了上述的東西,今天也修改了幾個 Form 的設計,加了選擇記錄的 Combo Box,在某些 Text Box 加入了 Double Click Event,和其他的小修小補。

User Control 階段還剩下 Financial Statements 及 Cash Flow Statement 的最後 Printout 版本,Matching 的 Printing 功能,和其他可以提升 User Experience 的小修改。

今天就這樣了,希望明天懶蟲不要發作。。。