解析Access新手編號的生成問題_Access數(shù)據(jù)庫教程
推薦:如何保護(hù)Access 2000數(shù)據(jù)庫的安全Office家族成員中,人們對于Access 2000的了解,往往只局限在它的操作界面中,對于數(shù)據(jù)庫管理的功能仍只是停留在建立表、數(shù)據(jù)輸入、使用窗體向?qū)А蟊硐驅(qū)А?shù)據(jù)訪問頁向?qū)У纫恍┖?/p>
簡述:以一段聊天記錄來解釋實際生活中編號的定義方法以及誤區(qū)
問題:
我跟你說說我這邊的情況吧。好像工號03-0756-004-1JF,表示:03表示03年生產(chǎn),0756是合同號,004表示對方單位的編號,1表示合同的第幾項,JF是表示車間。你說這樣的工號會不會很煩?
回答:
我只能說,你在設(shè)計數(shù)據(jù)結(jié)構(gòu)的時候就已經(jīng)錯誤了。
很多程序員認(rèn)為“編號”是一個字段,在計算機中這的確是正確的,但是,在計算機中,編號是沒有含義的,沒有語法、沒有組合、沒有任何意義,僅表示記錄的唯一標(biāo)識。而實際生產(chǎn)中,編號往往包含很多意義(除非你使用數(shù)據(jù)庫查詢系統(tǒng)來管理隨機編號)。因此就像你說的,編號的每個部分都有含義。所以,應(yīng)該以每個部分為最小單位來建立數(shù)據(jù)庫結(jié)構(gòu)。簡單的說,就是生產(chǎn)日期、合同號、對方單位編號、車間分幾個字段存儲,這也可以說是“原子性”擴展。其實SQL不僅僅可以查詢數(shù)據(jù),還可以組織數(shù)據(jù),比如
select日期&合同號&單位號&車間as編號,全名from產(chǎn)品表
問題:
但很慘的是:錄入員已經(jīng)習(xí)慣很連續(xù)地錄入03-0456-002-4JF這樣的工號了,叫他們分開來錄入,恐怕很麻煩。
回答:
你可以在保存按鈕上寫點代碼切分?jǐn)?shù)據(jù),即使連續(xù)窗體也可以在BEFOREUPDATE事件里面寫代碼。代碼可以類似:
| 以下為引用的內(nèi)容: SubSplitString() DimstrA()AsString strA()=Split(Me.TextBoxA,"-") DimiAsInteger Fori=0ToUBound(strA) Debug.PrintstrA(i) Me("TextBox"&i).value=strA(i) Next EndSub |
分享:揭秘增強網(wǎng)站數(shù)據(jù)庫Access文件的安全性的方法對于個人網(wǎng)站來說,受到建站條件的制約,Access數(shù)據(jù)庫成了廣大個人網(wǎng)站站長的首選。然而,Access數(shù)據(jù)庫本身存在很多安全隱患,攻擊者一旦找到數(shù)據(jù)庫文件的存儲路徑和文件名,后綴名為
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準(zhǔn)則進(jìn)行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-解析Access新手編號的生成問題
。