全國計算機二級Access第八講模塊.ppt
《全國計算機二級Access第八講模塊.ppt》由會員分享,可在線閱讀,更多相關《全國計算機二級Access第八講模塊.ppt(51頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第八講模塊 模塊是以VBA VisualBasicforApplication 基礎編寫 以函數(shù) function 或子過程 Sub 的集合方式存儲 模塊分為類模塊和標準模塊兩類 類模塊 窗體和報表模塊都是類模塊 可以使用事件過程來控制窗體或報表的行為 標準模塊 標準模塊包含的是通用過程和常用過程 這些通用過程不與任何對象相關 8 1模塊的基本概念 8 2 1面向?qū)ο蟪绦蛟O計的基本概念 一個對象就是一個實體 對象具有屬性和方法兩方面 屬性和方法描述了對象的性質(zhì)和行為 對象的屬性可以定義對象一個實例 而方法是對象可以執(zhí)行的行為 引用方式為 對象 屬性或?qū)ο?行為 8 2VBA程序設計 在進行Access的VBA編程之前 要了解VBA的基本編程語言 一 數(shù)據(jù)類型二 變量三 運算符及函數(shù) 8 2 2VBA編程基礎 一 數(shù)據(jù)類型 整數(shù) Integer 后綴符為 長整數(shù) Long 后綴符為 單精度 Single 后綴符為 雙精度 Double 后綴符為 貨幣 Currency 后綴符為 字符串 String 后綴符為 布爾型 Boolean 變體 Variant 可用于任何數(shù)據(jù)類型 數(shù)據(jù)庫對象類型 Object 二 變量 變量 是在程序運行過程中其值可以改變的量 變量的組成 由數(shù)字 字母和下劃線且由字母開頭例如 Book Name12 Number 1都是合法的變量名 而 num 1am pi1是不合法的 變量定義兩種方法 1 隱式變量 沒有直接定義 直接指定值 如 NewVar 528 2 顯式變量 先定義后使用 如 DimNewVarAsInteger 三 用戶定義的數(shù)據(jù)類型 TypePointXasIntegerYasSingleEndType即定義了一個點 point 的數(shù)據(jù)結構 聲明和使用變量形式如 DimpCurPointasPointPCurPoint X 10PCurPoint Y 10 四 數(shù)組 格式 Dim數(shù)組名 下標下限to 下標下限 如 Dimarray 10 asdoubleDimworkers 4to5 asintetger 五 符號常量 格式 Const符號常量名稱 常量值如 ConstPI 3 14159 歷年真題 c Variant Double 六 運算符 1 算術運算符 對上表運算符說明 VBA的加 減 乘 除運算符與數(shù)學中的加 減 乘 除運算符的意義和用法相同 只是乘 除 乘方的運算符號不同 但注意 整數(shù)除法 操作時先將操作數(shù)舍去小數(shù)部分取整 若結果有小數(shù)也舍棄 求模運算 Mod 若操作數(shù)是小數(shù) 系統(tǒng)會將其四舍五入后再運算 被除數(shù)與結果值余數(shù)符號一致 關系運算符和關系表達式 關系運算符用于對兩個相同類型的數(shù)據(jù)進行比較 如果比較的關系成立 運算結果是邏輯真值為True 或 如果比較的關系不成立 運算結果是邏輯假值為False 或 關系運算符下表所示 邏輯運算符和邏輯表達式 非 OT 與 AND 或 OR 先進級別從左至右例1 NOT3值為0 NOT0值為1例2 0AND0值為0 0AND1值為0 1AND1值為1例3 0OR0值為0 0OR1值為1 1OR1值為1 從表中可以看出邏輯邏輯符的運算法則如下 1 對于Not 邏輯非 運算 如果參加運算的數(shù)據(jù)是True 則運算結果為False 反之 則運算結果為True 例如 NOT 3 5 的值是True 2 對于And 邏輯與 運算 如果參加運算的兩都是True 則運算結果為True 如果參加運算的兩邊為False 則運算結果為False 例如 5 3And B 3And B C 的值都是False 3 對于Or 邏輯或 運算 如果參加運算的兩邊有一個為True 則運算結果為True 只有參加運算的兩邊均為False時 運算結果才為False 例如 5 C 的值是False 而53Or B C 的值都是True 5 連接運算符 字符運算符有兩個 功能是把運算符右邊的字符串連接到左邊字符串的尾部 組成一個新的字符串 例如 Visual Basic 的運算結果是 VisualBasic 區(qū)別 只能連接字符型數(shù)據(jù) 而 可以連接非字符型數(shù)據(jù) 如 VBA 6結果為 VBA6或 2 3 2 3 結果為 2 3 5 小結 各運算符的優(yōu)先級別 算術運算符 連接運算符 關系運算符 邏輯運算符 七 常用標準函數(shù) 重點 1 數(shù)學函數(shù) 1 Abs 絕對值函數(shù)例 Abs 5 5或Abs 5 2 3 2 Int Fix 取整函數(shù)功能 兩者參數(shù)為正是取整 若為負 Int返回小于等于參數(shù)值的第一個負整數(shù) Fix返回大于等于參數(shù)值的第一個負整數(shù) 例 Int 5 3 5 Fix 5 3 5Int 5 3 6 Fix 5 3 5 3 Sqrt 開平方函數(shù)例 Sqrt 9 3 2 字符串函數(shù) 1 InStr Start 1 功能 檢索Str2在Str1中最早出現(xiàn)的位置 Start為可項 即檢索的起始位置 如省 則從第一個字符開始 1 也為可選 如有1則不區(qū)分大小寫 例 s Instr 3 aSsiAB a 1 返回5s Instr aSsiAB a 返回1 2 Len 字符串長度檢測函數(shù)例 Len 12345 返回5或Len 考試中心 返回4 3 Left 字符串 N 從字符串左邊起截取N個字符Right 字符串 N 從字符串右邊起截取N個字符Mid 字符串 N1 N2 從字符串左邊第N1個字符起截取N2個字符 例 Left sdkfj 2 返回 sd Right sdkfj 2 返回 fj Mid sdkfj 2 3 返回 dkf 3 日期 時間函數(shù) 1 Date返回當前系統(tǒng)日期 2 times返回系統(tǒng)時間 3 Now返回當前系統(tǒng)日期和時間 4 Year 日期 返回 日期 的年份 5 Month 日期 返回 日期 的月份 6 Day 日期 返回 日期 的日 7 Hour 時間 返回 時間 的小時數(shù) 8 Minute 時間 返回 時間 的分鐘數(shù) 9 Second 時間 返回 時間 的秒數(shù) 歷年真題 A 4 一 VBA程序語句分類 1 聲明語句 用于給變量 常量過程定義命名2 執(zhí)行語句 用于執(zhí)行各種操作 分3種結構 順序結構 選擇 或條件 結構 循環(huán)結構二 語句書寫規(guī)定 1 語句較長 一行寫不下時 用下劃線 續(xù)寫在下一行 2 用冒號 將幾個語句分隔寫在同一行中 三 賦值語句 變量名 值或表達式例 new 10 8 2 3VBA程序流程控制語句 歷年真題 D B 四 選擇 或條件 語句1 If條件表達式1Then執(zhí)行符合條件值的語句EndIf例 If定價 1200ThenMsgBox 定價超上限 Endif 2 If條件表達式1Then執(zhí)行符合條件值的語句Else執(zhí)行不符合條件值的語句EndIf例 If定價 1200ThenMsgBox 定價超上限 Else定價 定價 0 95Endif 3 If條件表達式1ThenIf條件表達式2Then執(zhí)行符合條件1 2的語句Else執(zhí)行不符合條件2值的語句Else執(zhí)行不符合條件1值的語句EndIf例 If定價 1200Then定價 定價 0 95If定價 1500Then定價 定價 0 8EndifEndif 4 If條件表達式1Then執(zhí)行符合條件值1的語句ElseIf條件表達式2Then執(zhí)行符合條件值2的語句ElseIf條件表達式3Then執(zhí)行符合條件值3的語句 Else執(zhí)行上述條件都不符合的語句EndIf 例 If定價 2000Then定價 定價 0 65ElseIf定價 1500Then定價 定價 0 8ElseIf定價 1000Then定價 定價 0 95ElseMsgBox 不符合調(diào)整范圍 EndIf 5 SelectCaseCase與值1相等時執(zhí)行的語句Case與值n相等時執(zhí)行的語句 Case與值n相等時執(zhí)行的語句CaseElse上面的情況均不符合時執(zhí)行的語句序列Endselect 例 SelectCaseaCase A To Z str uppercase Case a To z str lowercase CaseElsestr unknowncharacter Endselect 歷年真題 B 合格 五 循環(huán)語句1 For Next語句For循環(huán)變量 初值To終值 Setp步長 循環(huán)體Next 循環(huán)變量 例 Fork 5to10step2k 2 kNextk循環(huán)次數(shù)為1 k的值為20 2 DoWhile 或Until Loop語句DoWhile條件式 while是執(zhí)行滿足條件的循環(huán)體 Until是不滿足條件才執(zhí)行 循環(huán)體Loop例 用DoWhile Loop完成由1加到100I 1sum 0DoWhileI 100sum sum II I 1Loop 3 Do LoopWhile 或Until 語句Do循環(huán)體LoopWhile條件式例 用DoWhile Loop完成由1加到100I 1sum 0Dosum sum II I 1LoopUntilI 100 歷年真題 C 25 歷年真題 num i 16 歷年真題 C 函數(shù)過程是一種返回值的過程 該值可以在表達式中使用 函數(shù)聲明使用Function語句 并以EndFunction語句作為結束 函數(shù)格式如下 Public Private Function函數(shù)過程名 形參 As數(shù)據(jù)類型 函數(shù)程序代碼 ExitFuntion 函數(shù)程序代碼 EndFunction 8 2 4過程調(diào)用和參數(shù)傳遞 例 編寫一個求解圓面積的函數(shù)過程Area PublicFunctionArea RAsSingle AsSingleIfR 0ThenMsgBox 圓的半徑必須是正數(shù)值 Area 0ExitFuntionEndIfArea 3 14 R REndFuntion 子過程也稱為sub過程 是執(zhí)行一項或一系列操作的過程 沒有返回值 聲明過程以 Sub 關鍵字開頭 并以 EndSub 語句作為結束 格式如下 Public Private Sub子過程名 形參 As數(shù)據(jù)類型 子過程語句 ExitSub 子過程語句 EndSub 函數(shù)調(diào)用參數(shù)傳遞 1 傳值調(diào)用 形式參數(shù)用ByVal說明 表示傳值 過程調(diào)用時 只是相應位置實參的值 單向 傳送給形參處理 而被調(diào)用過程內(nèi)部對形參的任何操作引起的形參值變化均不會反饋 影響實參的值 2 傳值調(diào)用 形式參數(shù)用ByRef說明 表示傳址 過程調(diào)用時 是將相應位置實參地址傳送給形參處理 而被調(diào)用過程內(nèi)部對形參的任何操作引起的形參值變化會反向影響實參的值 例 PrivateSubtest Click DimJAsIntegerJ 5CallGetData J MsgBoxJEndSubPrivateSubGetData ByReffAsInteger f f 2EndSub ByVal 當用ByRef時 MsBox輸出是7當用ByVal時 MsBox輸出是5 歷年真題 D B C 歷年真題 D form load 發(fā)生在裝載窗體對象的時候form Activate發(fā)生在窗體得到焦點的時候他們觸發(fā)的時機完全不同 一個窗體 正常情況下 在其生存期內(nèi) form load只會發(fā)生一次 而form activate可能會發(fā)生無數(shù)次 1 打開窗體DoCmd openForm 2 關閉窗體DoCmd Close 3 打開報表DoCmd openReport 4 輸入框InputBox 5 消息框MsgBox 8 2 5常用操作方法 歷年真題 D VBA中提供OnErrorGoTo語句來控制當有錯誤發(fā)生時程序的處理OnErrorGoTo標號 在遇到錯誤發(fā)生時程序轉移到標號所指位置代碼執(zhí)行OnErrorResumeNext 遇到錯誤發(fā)生時不會考慮錯誤 并繼續(xù)執(zhí)行下一條語句OnErrorGoTo0 用于關閉錯誤處理 8 2 6VBA程序運行錯誤處理 DAO 是開放數(shù)據(jù)庫應用程序接口 歷年真題 A A- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 全國計算機 二級 Access 第八 模塊
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.kudomayuko.com/p-5210088.html