Access數(shù)據(jù)庫開發(fā)技巧(二)
來源:程序員人生 發(fā)布時間:2013-10-20 21:25:32 閱讀次數(shù):2918次
模塊的使用技巧
Access最重要的特征就是一般不必去寫程序然而可能因為要執(zhí)行復雜或?qū)I(yè)的操作而必須在模塊中用Visual Basic編寫程序然后通過窗體中的命令按鈕來執(zhí)行相應的程序完成相應的任務比如排名次分段統(tǒng)計等在編寫Visual Basic程序時要注意以下一些問題和技巧
變量的運用
①對象變量的運用
在Access中運用Visual Basic編寫程序需要運用其數(shù)據(jù)訪問對象它包括數(shù)據(jù)庫引擎(DBEngine)工作空間(Workspace)數(shù)據(jù)庫以及數(shù)據(jù)庫對象中的表查詢記錄集等對象如缺省工作空間DBEngineWorkspaces()當前數(shù)據(jù)庫DBEngineWorkspaces()Databases()我們可以用一個對象變量來表示一個對象這樣將為編程帶來很大方便為對象變量賦值要用Set語句而不要直接賦值例如
Dim thedb As Database
Set thedb = DBEngineWorkspaces()Databases()
②Variant 數(shù)據(jù)類型的運用
Variant 數(shù)據(jù)類型是所有沒被顯示聲明(如 DimPrivatePublic 或 Static等語句)為其他類型變量的數(shù)據(jù)類型Variant 是一種特殊的數(shù)據(jù)類型除了定長 String 數(shù)據(jù)及用戶定義類型外可以包含任何種類的數(shù)據(jù)Variant 也可以包含 EmptyErrorNothing 及 Null特殊值Empty 值用來標記尚未初始化(給定初始值)的 Variant 變量內(nèi)含 Empty 的 Variant 在數(shù)值的上下文中表示 如果是用在字符串的上下文中則表示零長度的字符串 ("")Null 表示未知數(shù)據(jù)或丟失的數(shù)據(jù)即無效數(shù)據(jù)不應將 Empty 與 Null 弄混Null 是表示 Variant 變量確實含有一個無效數(shù)據(jù)
當有些量可能出現(xiàn)Null值時可將該變量定義為Variant 數(shù)據(jù)類型Variant 數(shù)據(jù)類型為編程者提供很大的靈活性但犧牲了代碼的速度和長度
③通過變量來間接引用數(shù)據(jù)庫對象及限定條件
為了增加靈活性提高控制能力減少代碼的重復和運用循環(huán)語句在程序中應充分運用變量來間接引用數(shù)據(jù)庫對象和限定條件比如各個年級學生成績排名次的處理程序只是各年級的成績表名不同我們可以將程序中的成績表名用一個變量如bzcjb來表示具體處理時再替換為具體的表名如替換為高一年級的成績表名gcjb
在具體運用中有一些問題要注意如
Dim thedb As Database
Set thedb = DBEngineWorkspaces()Databases()
Dim thecsb As Recordset
Set thecsb = thedbOpenRecordset(bzcjb DB_OPEN_DYNASET)
這里bzcjb可代表任意一個成績表若bzcjb本身就是一個已存在的數(shù)表名則上述最后一個語句中的bzcjb應加上引號如下所示
Set thecsb = thedbOpenRecordset("bzcjb" DB_OPEN_DYNASET)
再比如Dcount 函數(shù)可用于確定特定記錄集中的記錄數(shù)可以在 Visual Basic宏查詢表達式或計算控件中使用 DCount 函數(shù)
語法是DCount(expr domain[ criteria])
其參數(shù)如下
expr 表達式用于標識將統(tǒng)計其記錄數(shù)的字段可以是一個標識表或查詢中字段的字符串表達式 Expr可為字段的名稱或*除非是* Dcount 函數(shù)對包含空字段的記錄不記數(shù)若為*Dcount 函數(shù)計算記錄總數(shù)domain字符串表達式代表組成域的記錄集可以是表的名稱或查詢的名稱criteria 可選的字符串表達式用于限制 DCount 函數(shù)執(zhí)行的數(shù)據(jù)范圍對于其限制條件criteria 可用一個變量來代替比如要統(tǒng)計表gcjb中字段語文分數(shù)大于等于分的人數(shù)可用下式來完成
DCount("*" "gcjb" " [班級]>=")
假若用數(shù)字型變量n來替換則如下
DCount("*" "gcjb" " [班級]>=" & n)
假若用字符型變量n來替換則如下
DCount("*" "gcjb" " [班級]>=;" & n & ";")
要注意替代的形式是不同的上面的符號&是連接運算符
如何產(chǎn)生程序運行進度框
若在程序運行時能產(chǎn)生一個程序運行進度框?qū)黾硬簧贅啡?fp class='fp-e1j0v'>Access可以實現(xiàn)這一要求本人在實踐中摸索出一種簡單的方法就是通過在窗體中建兩個文本框一個大一點的長條形文本框(填充色為白色)作為外框一個窄一點的長條形文本框(填充色為其他彩色長度取為厘米)作為產(chǎn)生程序運行流水線用它們的初始狀態(tài)均為不可見然后在程序中控制其屬性為可見的且修改進度流水線文本框的寬度來顯示程序的進展情況要注意的是為了讓進度框在程序運行時能及時顯示出來必須用SetFocus 方法將焦點移動到進度框上并且要調(diào)整好流水線文本框與外框文本框的初始位置注意在用Width 屬性改變控件寬度時其單位為TwipTwip=/英寸約為/厘米
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈