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