模塊與VBA編程基礎(chǔ)

上傳人:san****019 文檔編號:21246325 上傳時間:2021-04-26 格式:PPT 頁數(shù):168 大?。?.34MB
收藏 版權(quán)申訴 舉報 下載
模塊與VBA編程基礎(chǔ)_第1頁
第1頁 / 共168頁
模塊與VBA編程基礎(chǔ)_第2頁
第2頁 / 共168頁
模塊與VBA編程基礎(chǔ)_第3頁
第3頁 / 共168頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《模塊與VBA編程基礎(chǔ)》由會員分享,可在線閱讀,更多相關(guān)《模塊與VBA編程基礎(chǔ)(168頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第 8章 模 塊 與 VBA編 程 基 礎(chǔ) 考 試 大 綱VBA程 序 設(shè) 計 基 礎(chǔ) 1. 面 向 對 象 程 序 設(shè) 計 的 基 本 概 念 2. 模 塊 的 基 本 概 念 ( 1) 類 模 塊 ( 2) 標(biāo) 準(zhǔn) 模 塊 3. 創(chuàng) 建 模 塊 ( 1) 創(chuàng) 建 VBA模 塊 ( 2) 編 寫 常 用 事 件 代 碼 Click, Load, Init, GetFocus, LostFocus 4. VBA編 程 基 礎(chǔ) ( 1) 常 量 , 變 量 , 常 用 內(nèi) 部 函 數(shù) , 表 達(dá) 式 ( 2) VBA程 序 流 程 控 制 : 順 序 控 制 , 選 擇 控 制 , 循 環(huán) 控

2、制 ( 3) 過 程 的 定 義 與 調(diào) 用 : 子 過 程 , 函 數(shù) 過 程 , 參 數(shù) 傳 遞 Contents 模 塊 的 基 本 概 念創(chuàng) 建 模 塊VBA流 程 控 制 語 句412 VBA程 序 設(shè) 計 基 礎(chǔ)35 過 程 調(diào) 用 和 參 數(shù) 傳 遞6 VBA程 序 運 行 錯 誤 處 理 7 VBA程 序 的 調(diào) 試 模 塊 是 Access數(shù) 據(jù) 庫 中 的 一 個 重要 對 象 , 它 以 VBA( Visual Basic for Applications ) 為 基 礎(chǔ) 編 寫 以 函數(shù) 過 程 ( Function) 或 子 過 程 為 單 元的 集 合 方 式 存

3、儲 。 Access中 , 模 塊 分 為 類 模 塊 和 標(biāo)準(zhǔn) 模 塊 兩 種 類 型 。8.1 模 塊 的 基 本 概 念 *模 塊 和 宏 區(qū) 別“ 模 塊 ” 和 “ 宏 ” 有 什 么 區(qū) 別 ? 使 用 “ 宏 ” 更 加 簡 單 , 不 需 要 編 程 , 而 是 用 “ 模塊 ” , 要 求 對 編 程 有 基 本 知 識 , 比 較 復(fù) 雜 。 “ 模 塊 ” 的 運 行 速 度 比 較 快 , 而 “ 宏 ” 運 行 速 度 比較 慢 。 “ 宏 ” 的 每 個 基 本 操 作 在 VBA中 都 有 相 應(yīng) 的 等 效 命令 , 如 果 在 “ 模 塊 ” 中 使 用 這

4、些 語 句 就 可 以 實 現(xiàn) 所有 的 單 獨 的 “ 宏 ” 命 令 , 所 以 “ 模 塊 ” 的 功 能 比“ 宏 ” 更 加 強 大 。 類 模 塊 是 含 有 類 定 義 的 模 塊 , 包 括 其 屬 性 、事 件 和 方 法 的 定 義 。 與 窗 體 、 報 表 、 控 件 等 緊 密關(guān) 聯(lián) , 如 : 都 是 類 模 塊 。8.1.1 類 模 塊 8.1.1 類 模 塊 8.1.1 類 模 塊 例 :form1 標(biāo) 準(zhǔn) 模 塊 作 用 是 合 理 組 織 程 序 或 控 制 程 序 執(zhí)行 流 程 , 純 代 碼 , 不 與 任 何 對 象 ( 窗 體 、 報 表 、控 件

5、等 ) 相 關(guān) 聯(lián) , 可 放 置 在 數(shù) 據(jù) 庫 中 的 任 何 位 置 ,可 以 被 工 程 內(nèi) 數(shù) 據(jù) 庫 對 象 調(diào) 用 。8.1.2 標(biāo) 準(zhǔn) 模 塊 標(biāo) 準(zhǔn) 模 塊 中 的 公 共 變 量 和 公 共 過 程 具 有 局 部 特性 , 其 作 用 范 圍 在 整 個 應(yīng) 用 程 序 里 , 而 生 命 周期 則 是 伴 隨 著 應(yīng) 用 程 序 的 運 行 而 開 始 , 關(guān) 閉 而結(jié) 束 。 8.1.2 標(biāo) 準(zhǔn) 模 塊 8.1.2 標(biāo) 準(zhǔn) 模 塊 例 :form1 uAccess宏 實 質(zhì) 上 就 是 VBA程 序 , 宏 的 操 作 都 是 由 VBA代碼 實 現(xiàn) 的 。u宏 的

6、用 法 簡 單 , 上 手 容 易 , 比 較 適 合 沒 有 編 程 基 礎(chǔ) 的 用 戶開 發(fā) 普 通 應(yīng) 用 程 序 。 宏 的 不 足 是 功 能 較 弱 、 運 行 效 率 較 差 。u Access模 塊 中 內(nèi) 嵌 的 VBA功 能 強 大 , 具 有 較 完 善 的 語 法 體 系 和 強 大 的 開 發(fā) 功 能 。 它 采 用 目 前 主 流 的 面 向 對 象 機 制 和 可 視 化 編 程 環(huán) 境 , 適 用 于 開 發(fā) 高 級 Access數(shù) 據(jù) 庫 應(yīng) 用 系 統(tǒng) 。 8.1.3 將 宏 轉(zhuǎn) 換 為 模 塊 每 一 個 宏 操 作 都 有 自 己 對 應(yīng) 的 VBA代

7、碼 , 根 據(jù) 需要 我 們 可 以 把 宏 轉(zhuǎn) 換 為 模 塊 。8.1.3 將 宏 轉(zhuǎn) 換 為 模 塊 過 程 是 模 塊 的 組 成 單 元 ,由 VBA代 碼 編 寫 而 成 。 過 程 分 兩 種 類 型 : Sub子 過程 和 Function函 數(shù) 過 程 。8.2 創(chuàng) 建 模 塊 聲 明 : 聲 明 ( 定 義 ) 變 量 過 程 ( 若 干 個 ) : 過 程 是 模 塊 的 組 成 單 元 , 分 2種 : 子 (Sub)過 程 子 過 程 沒 有 返 回 值 , 它 的 定 義 格 式 如 下 : 其 中 的 程 序 代 碼 表 示 要 完 成 的 一 系 列 操 作 。

8、 調(diào) 用子 過 程 用 8.2 創(chuàng) 建 模 塊 函 數(shù) (Function) 函 數(shù) 過 程 又 稱 為 Function過 程 , 函 數(shù) 過 程 有 返 回值 , 它 的定 義 格 式 如 下 。 調(diào) 用 函 數(shù) 過 程 時 , 。8.2 創(chuàng) 建 模 塊 8.2 創(chuàng) 建 模 塊 二 在 模 塊 中 執(zhí) 行 宏 在 模 塊 的 過 程 定 義 中 , 使 用 Docmd對 象 的 RunMacro方 法 ,執(zhí) 行 宏 , 其 格 式 :Docmd.RunMacro MacroName,RepeatCount,RepeatExpressionMacroName: 當(dāng) 前 數(shù) 據(jù) 庫 中 宏 的

9、 名 字 ;RepeatCount: 可 選 項 , 計 算 宏 運 行 次 數(shù) 的 整 數(shù) 值 ;RepeatExpression: 可 選 項 , 數(shù) 值 表 達(dá) 式 , 在 每 次 運行 宏 時 進(jìn) 行 計 算 , 結(jié) 果 為 False, 停 止 運 行 宏 。8.2 創(chuàng) 建 模 塊 8.3 VBA程 序 設(shè) 計 基 礎(chǔ) VBA 是 微 軟 Office中 的 內(nèi) 置 編 程 語 言 ,其 語 法 與 VB的 兼 容 , 在 Access程 序 設(shè) 計 中 ,當(dāng) 某 些 操 作 不 能 使 用 其 他 Access對 象 實 現(xiàn) ,或 者 實 現(xiàn) 較 難 時 , 就 可 利 用 VBA

10、語 言 編 寫程 序 代 碼 。 8.3.1 面 向 對 象 程 序 設(shè) 計 的 基 本 概 念1.集 合 ( 類 ) 和 對 象 集 合 : 含 有 相 同 屬 性 的 事 物 的 總 稱 成 為 集 合 , 比 如 所 有 的學(xué) 生 就 構(gòu) 成 一 個 集 合 ( 類 ) 。 對 象 : 集 合 中 的 某 一 個 實 體 , 例 如 學(xué) 生 集 合 中 的 某 一 個 學(xué)生 就 是 一 個 對 象 。 在 自 然 界 中 , 一 個 對 象 就 是 一 個 實 體 , 如 一 輛 汽 車 就 是 一個 對 象 。 在 面 向 對 象 的 程 序 設(shè) 計 中 , 對 象 代 表 應(yīng) 用 程

11、 序 中的 元 素 , 如 表 、 窗 體 、 按 鈕 等 。 Access有 幾 十 個 對 象 , 其 中 包 括 對 象 和 對 象 集 合 。 所 有對 象 和 對 象 集 合 按 層 次 結(jié) 構(gòu) 組 織 , 處 在 最 上 層 的 是Application對 象 , 即 Access應(yīng) 用 程 序 , 其 他 對 象 或 對 象集 合 都 處 在 它 的 下 層 或 更 下 層 。 8.3.1 面 向 對 象 程 序 設(shè) 計 的 基 本 概 念2.屬 性 和 方 法 屬 性 是 對 象 的 特 征 。 如 汽 車 有 顏 色 和 型 號 屬 性 , 按 鈕 有 標(biāo)題 和 名 稱 屬

12、性 。 對 象 的 類 別 不 同 , 屬 性 會 有 所 不 同 。 同 類別 對 象 的 不 同 實 例 , 屬 性 也 有 差 異 。 例 如 , 同 是 命 令 按 鈕 ,名 稱 屬 性 不 允 許 相 同 。描 述 對 象 的 性 質(zhì) 和 行 為 , 引 用 方 式 :對 象 .屬 性 或 者 對 象 .行 為DoCmd對 象 :通 過 調(diào) 用 包 含 在 內(nèi) 部 的 方 法 來 實 現(xiàn) VBA編 程中 對 Access的 操 作 。 具 體 調(diào) 用 格 式 :DoCmd.OpenReport “ 報 表 名 ” , 視 圖 ,查 詢 名 稱 ,條 件 DoCmd.OpenRepor

13、t “教 師 信 息 “ Docmd是 Access的 一 個 特 殊 對 象 , 用 來 調(diào) 用 內(nèi) 置 方 法 ,在 程 序 中 實 現(xiàn) 對 Access的 操 作 , 諸 如 打 開 窗 口 、 關(guān) 閉 窗 體 、打 開 報 表 、 關(guān) 閉 報 表 等 。 DoCmd 對 象 的 大 多 數(shù) 方 法 都 有 參 數(shù) , 有 些 參 數(shù) 是 必 需 的 ,有 些 則 是 可 選 的 。 若 省 略 可 選 參 數(shù) , 參 數(shù) 將 采 用 默 認(rèn) 值 。 Docmd對 象 ( 1) 用 DoCmd 對 象 打 開 窗 體 格 式 : DoCmd.OpenForm 窗 體 名 功 能 : 用

14、默 認(rèn) 形 式 打 開 指 定 窗 體 。 例 如 : DoCmd.OpenForm 文 本 框 練 習(xí) ( 2) 用 DoCmd 對 象 關(guān) 閉 窗 體 格 式 1: DoCmd.Close acForm, 窗 體 名 功 能 : 關(guān) 閉 指 定 窗 體 。 例 如 : DoCmd.Close acForm, 文 本 框 練 習(xí) 格 式 2: DoCmd.Close 功 能 : 關(guān) 閉 當(dāng) 前 窗 體 。( 3) 用 DoCmd 對 象 打 開 報 表 格 式 : DoCmd.OpenReport 報 表 名 ,acViewPreview 功 能 : 用 預(yù) 覽 形 式 打 開 指 定 報

15、表 。 例 如 : DoCmd.OpenReport 工 資 報 表 ,acViewPreviewDocmd對 象 ( 4) 用 DoCmd 對 象 關(guān) 閉 報 表 格 式 1: DoCmd.Close acReport, 報 表 名 功 能 : 關(guān) 閉 指 定 報 表 。 例 如 : DoCmd.Close acReport, 工 資 報 表 格 式 2: DoCmd.Close 功 能 : 關(guān) 閉 當(dāng) 前 報 表 。Docmd對 象 ( 5) 用 DoCmd 對 象 運 行 宏 格 式 : DoCmd.RunMacro 宏 名 功 能 : 運 行 指 定 宏 。 例 如 : DoCmd.R

16、unMacro 宏 1( 6) 用 DoCmd 對 象 退 出 Access。 格 式 : DoCmd.Quit 功 能 : 關(guān) 閉 所 有 Access對 象 和 Access本 身 。Docmd對 象 ( 1) 在 窗 體 中 建 立 5個 按 鈕 名 稱 分 別 為 c1、 c2、 c3、 c4、 c5標(biāo)題 分 別 為 “ 打 開 窗 體 ” 、 “ 關(guān) 閉 窗 體 ” 、 “ 打 開 報 表 ” 、 “ 關(guān) 閉 報表 ” 、 “ 退 出 Access” 。 實 例 : 使 用 DoCmd對 象 ( 2) c1代 碼 : DoCmd.OpenForm 教 師 基 本 情 況 “( 3)

17、c2代 碼 : DoCmd.Close acForm, 教 師 基 本 情 況 “( 4) c3代 碼 : DoCmd.OpenReport “ 按 年 齡 段 統(tǒng) 計 報 表,acViewPreview( 5) c4代 碼 : DoCmd.Close acReport, 按 年 齡 段 統(tǒng) 計 報 表 “( 6) c5代 碼 : DoCmd.Quit例 : 使 用 DoCmd對 象 8.3.1 面 向 對 象 程 序 設(shè) 計 的 基 本 概 念3.事 件 和 事 件 過 程 事 件 : Access窗 體 或 者 報 表 及 其 上 控 件 等 對 象 可 以 “ 辨 識 ” 的 動 作 ,

18、如 單 擊 、 雙 擊 、 某 一 個 按 鍵 等 。 事 件 過 程 : 為 某 個 事 件 編 寫 VBA代 碼 過 程 , 來 完 成 指 定 的 動 作 。 在 類 模 塊 每 一 個 過 程 的 開 始 行 , 都 顯 示 對 象 名 和 事 件 名 。 如 : Private Sub c1_Click()。例 : 動 態(tài) 設(shè) 置 控 件 屬 性 ( 1) 在 窗 體 中 建 1個 文 本 框 名 稱 為 t1。( 2) 在 窗 體 中 建 1個 標(biāo) 簽 名 稱 為 b1 標(biāo) 題 為 “ 歡 迎 你 ! ” 。 ( 3) 在 窗 體 中 建 3個 命 令 按 鈕 名 稱 分 別 為

19、c1、 c2、 c3 標(biāo) 題 分 別 為 “ 紅 色 ” 、 “ 綠 色 ” 、 “ 藍(lán) 色 ” 。 8.3.1 面 向 對 象 程 序 設(shè) 計 的 基 本 概 念3.事 件 和 事 件 過 程( 4) 設(shè) 置 各 按 鈕 的 前 景 色 , 在 屬 性 窗 口 可 查 看 顏 色 值 。 ( 5) c1的 click事 件 代 碼 : t1.BackColor = 255 b1.ForeColor = 255 ( 6) c2的 click事 件 代 碼 : t1.BackColor = 33792 b1.ForeColor = 33792( 7) c3的 click事 件 代 碼 : t1.

20、BackColor = 16711680 b1.ForeColor = 16711680 執(zhí) 行 結(jié) 果 : 8.3.2 VBE編 程 環(huán) 境1.進(jìn) 入 VBE編 輯 環(huán) 境 類 模 塊 :1) 定 位 窗 體 或 者 報 表 , 單 擊 工 具 欄 “ 代 碼 ” 按 鈕 ; 2) 或 者 通 過 窗 體 、 報 表 或 者 控 件 “ 屬 性 ” 窗 口 中 “ 事 件 ” 選項 卡 的 “ 事 件 過 程 ” 項 進(jìn) 入 。 標(biāo) 準(zhǔn) 模 塊 :1) 已 有 模 塊 , 在 數(shù) 據(jù) 庫 窗 體 選 擇 “ 模 塊 ” 對 象 , 雙 擊 要 查 看的 模 塊 ;2) 新 建 模 塊 , 在

21、 數(shù) 據(jù) 庫 窗 體 選 擇 “ 模 塊 ” 對 象 , 單 擊 “ 新 建 ” 按 鈕 ;3) 在 數(shù) 據(jù) 庫 對 象 窗 體 中 , 單 擊 “ 工 具 ” 菜 單 “宏 ” “Visual basic 編 輯 器 ” 。 工 具 欄8.3.2 Visual Basic編 程 環(huán) 境 Access視 圖 用 于 從 VBE切 換 到 數(shù) 據(jù) 庫 窗 口插 入 模 塊 插 入 新 的 模 塊運 行 子 過 程 /用 戶 窗 體 運 行 模 塊 程 序中 斷 運 行 中 斷 正 在 運 行 的 程 序 重 新 設(shè) 置 結(jié) 束 正 在 運 行 的 程 序 , 重 新 進(jìn) 入 模 塊 設(shè) 計 狀

22、態(tài)設(shè) 計 模 式 進(jìn) 入 和 退 出 設(shè) 計 模 式工 程 資 源 管 理 器 打 開 工 程 資 源 管 理 器 窗 口屬 性 窗 口 打 開 屬 性 窗 口對 象 瀏 覽 器 打 開 對 象 瀏 覽 器 窗 口 工 程 資 源 管 理 器 , 顯 示 應(yīng) 用 程 序 的 所 有 模 塊 文 件 。3個 按 鈕 : 按 鈕 可 以 打 開 相 應(yīng) 的 代 碼 窗 口 。 按 鈕 可 以 打 開 相 應(yīng) 的 對 象 窗 口 。 可 以 隱 藏 或 顯 示 對 象 的 分 類 文 件 夾 。 代 碼 窗 口 主 要 是 用 來 編 寫 、 顯 示 以 及 編 輯 VBA代 碼 ,如 下 圖 所

23、示 。8.3.2 Visual Basic編 程 環(huán) 境 ( 3) 代 碼 窗 口對 象 瀏 覽 器快 速 訪 問 子 過 程自 動 顯 示 提 示 信 息F1幫 助 代 碼 窗 口 列 出 了 所 選 對 象 的 屬 性 , 由 “ 對 象 ” 框 和 “ 屬 性 ” 列 表 組成 。 : 用 于 列 出 當(dāng) 前 所 選 的 對 象 。: 按 字 母 或 分 類 對 對 象 屬 性 進(jìn) 行 排 序 。 可 以 在 屬 性 窗 口 中 直 接 用 前 面 用 到 的 方 法 設(shè) 置 對 象 的 屬 性 ( 靜 態(tài) 設(shè) 置 方 法 ) 。 可 以 在 代 碼 窗 口 中 用 VBA代 碼 編 輯

24、 對 象 的 屬 性 ( 動 態(tài) 設(shè) 置 方 法 ) 。用 來 進(jìn) 行 快 速 的 表 達(dá) 式 計 算 、 簡 單 方 法 的 操 作 寄 進(jìn) 行 程 序 測試 的 工 作 窗 口 。8.3.2 Visual Basic編 程 環(huán) 境 二 、 進(jìn) 入 VBE編 程 環(huán) 境VBE將 模 塊 分 成 對 象 、 標(biāo) 準(zhǔn) 和 類 模 塊 。 進(jìn) 入 其 編 輯 環(huán)境 有 多 種 方 式 : 一 、 對 象 模 塊 : 可 以 直 接 定 位 到 窗 體 或 報 表 , 然 后 單 擊 視 圖下 的 “ 代 碼 ” 按 鈕 進(jìn) 入 ; 或 定 位 到 窗 體 、 報 表 和 控 件 上 通過 指 定

25、對 象 事 件 處 理 過 程 進(jìn) 入 。 其 方 法 有 兩 種 :( 1) 右 鍵 單 擊 控 件 對 象 , 單 擊 快 捷 菜 單 上 的 “ 事 件 生 成 器命 令 ” , 打 開 “ 事 件 生 成 器 ” 對 話 框 , 選 擇 其 中 的 “ 代 碼生 成 器 ” , 單 擊 “ 確 定 ” 按 鈕 即 可 進(jìn) 入 ;( 2) 單 擊 屬 性 窗 口 的 “ 事 件 ” 選 項 卡 , 選 中 某 個 事 件 直 接單 擊 屬 性 右 側(cè) 的 “ ” 按 鈕 , 打 開 “ 事 件 生 成 器 ” 對 話 框 ,選 擇 其 中 的 “ 代 碼 生 成 器 ” , 單 擊 “

26、確 定 ” 按 鈕 即 可 進(jìn) 入 。 二 、 進(jìn) 入 VBE編 程 環(huán) 境二 、 對 于 標(biāo) 準(zhǔn) 模 塊 : 有 3種 方 法 進(jìn) 入 :( 1) 對 于 已 存 在 的 標(biāo) 準(zhǔn) 模 塊 , 只 需 從 數(shù) 據(jù) 庫 窗 體 對 象 列 表上 選 擇 “ 模 塊 ” , 雙 擊 要 查 看 的 模 塊 對 象 即 可 進(jìn) 入 ;( 2) 要 創(chuàng) 建 新 的 標(biāo) 準(zhǔn) 模 塊 , 需 要 從 數(shù) 據(jù) 庫 窗 體 對 象 列 表 上選 擇 “ 模 塊 ” , 單 擊 工 具 欄 上 的 “ 新 建 ” 按 鈕 即 可 進(jìn) 入 ;( 3) 在 數(shù) 據(jù) 庫 對 象 窗 體 中 , 選 擇 “ 工 具 ”

27、 菜 單 里 “ 宏 ” 子菜 單 的 “ Visual Basic編 輯 器 ” 選 項 即 可 進(jìn) 入 。 使 用 Alt+F11組 合 鍵 , 可 以 方 便 的 在 數(shù) 據(jù) 庫 窗 口 和 VBE之 間 進(jìn)行 切 換 。 三 、 VBE環(huán) 境 中 編 寫 VBA代 碼 VBA代 碼 是 由 語 句 組 成 的 , 一 條 語 句 就 是 一 行 代 碼 。 例 如 intCount=3 將 3賦 值 給 變 量 intCount Debug. Print intCount 在 立 即 窗 口 打 印 變 量intCount的 值 3 三 、 VBE環(huán) 境 中 編 寫 VBA代 碼 Ac

28、cess的 VBE編 輯 環(huán) 境 提 供 了 完 整 的 開 發(fā) 和 調(diào) 試 工 具 。 其中 的 代 碼 窗 口 頂 部 包 含 兩 個 組 合 框 , 左 側(cè) 為 對 象 列 表 , 右側(cè) 為 過 程 列 表 。 操 作 時 , 從 左 側(cè) 組 合 框 選 定 一 個 對 象 后 ,右 側(cè) 過 程 組 合 框 中 會 列 出 該 對 象 的 所 有 事 件 過 程 , 再 從 該對 象 過 程 列 表 選 項 中 選 擇 某 個 事 件 名 稱 , 系 統(tǒng) 會 自 動 生 成相 應(yīng) 的 事 件 過 程 模 塊 , 用 戶 添 加 代 碼 即 可 。 雙 擊 工 程 窗 口 中 的 任 何

29、類 或 對 象 都 可 以 在 代 碼 窗 口 中 打 開相 應(yīng) 代 碼 進(jìn) 行 編 輯 處 理 四 、 程 序 語 句 書 寫 原 則1 語 句 書 寫 規(guī) 定通 常 一 個 語 句 寫 在 一 行 , 若 要 分 行 用 續(xù) 行 符 ” -” ;” : “ 將 一 行 中 多 條 語 句 隔 開 ;若 語 句 中 出 現(xiàn) 紅 色 表 示 有 錯 誤 。 四 、 程 序 語 句 書 寫 原 則2 注 釋 語 句一 個 好 的 程 序 都 要 有 注 釋 語 句 。在 VBA中 使 用 下 列 格 式 :Rem 注 釋 語 句 ( 單 引 號 ) 注 釋 語 句 Rem 定 義 兩 個 變 量

30、 Dim Str1, Str2 Str1=“ beijing” Str2=“ Shanghai” 四 、 程 序 語 句 書 寫 原 則3 采 用 縮 進(jìn) 格 式 書 寫 程 序 編 輯 縮 進(jìn) ( 或 凸 出 )4 F1幫 助 信 息 一 、 標(biāo) 準(zhǔn) 數(shù) 據(jù) 類 型 VBA提 供 了 多 種 數(shù) 據(jù) 類 型 的 支 持 , 這 樣 也 是 為 了 大家 進(jìn) 行 編 程 提 供 方 便 。 各 種 數(shù) 據(jù) 類 型 所 占 的 存 儲 空 間 、 所 表 示 數(shù) 據(jù) 范 圍大 小 、 以 及 所 支 持 的 數(shù) 據(jù) 運 算 不 同 。 數(shù) 據(jù) 類 型 可 以 分 為 數(shù) 值 型 、 布 爾 型

31、、 日 期 型 、 字符 型 、 對 象 型 、 變 體 型 和 用 戶 自 定 義 的 數(shù) 據(jù) 類 型 。8.3.3 數(shù) 據(jù) 類 型 和 數(shù) 據(jù) 庫 對 象 數(shù) 據(jù) 類型 類 型 標(biāo) 識 符號 字 段 類 型 取 值 范 圍整 型 Integer % 字 節(jié) /整 數(shù) /是 /否 -32768 32767之 間 的 整 數(shù)長 整 型 Long & 長 整 數(shù) /自 動 編 號 -2147483648 2147483647之 間 的整 數(shù)單 精 度 Single ! 單 精 度 負(fù) 數(shù) : -3.402823E38 -1.401298E-45正 數(shù) : 1.401298E-45 3.40282

32、3E38雙 精 度 Double # 雙 精 度 負(fù) 數(shù) : -1.79769313486232E308 -4.94065645841247E-324正 數(shù) : 4.94065645841247E-324 1.79769313486232E308貨 幣 Currency 貨 幣 -922337203685477.5808 922337203685477.5807字 符 串 String $ 文 本 0 65535個 字 符布 爾 Boolean 邏 輯 值 true或 false日 期 Date 日 期 /時 間 January 1,100到 December 31,9999變 體 類型 Va

33、riant 任 何 January 1 /10000(日 期 )數(shù) 字 和 雙 精 度 同 ,文 本 和 字 符 串 同 數(shù) 據(jù) 類 型 轉(zhuǎn) 換 函 數(shù)函 數(shù) 轉(zhuǎn) 換 后 類型 說 明CByte(x) Byte x取 值 范 圍 同 Byte, 小 數(shù) 部 分 四 舍 五 入 , 超 出范 圍 顯 示 “ 溢 出 ”CInt(x) Integer x取 值 范 圍 同 Integer, 小 數(shù) 部 分 四 舍 五 入CLng(x) Long x取 值 范 圍 同 Long, 小 數(shù) 部 分 四 舍 五 入CSng(x) Single x取 值 范 圍 同 SingleCDbl(x) Doubl

34、e x取 值 范 圍 同 DoubleCCur(x) Currency x取 值 范 圍 同 CurrencyCBool(x) Boolean x取 值 范 圍 是 任 何 有 效 數(shù) 字 或 字 串CDate(x) Date x取 值 范 圍 是 任 何 有 效 日 期 表 達(dá) 式 CStr(x) String 無CVar(x) Variant x如 果 是 數(shù) 值 范 圍 同 Double, 否 則 , 與 String相 同 例 : 在 立 即 窗 口 中 計 算 函 數(shù) 值( 1) 在 VBE界 面 “ 視 圖 ” 菜 單 “ 立 即 窗 口 ” , 顯 示 立 即 窗 口 。( 2)

35、 輸 入 表 達(dá) 式 x=“ true” 回 車 輸 入 表 達(dá) 式 y=“ false” 回 車 輸 入 表 達(dá) 式 ?x+y 回 車 , 顯 示 結(jié) 果 為 : truefalse。( 3) 輸 入 表 達(dá) 式 ?cbool(x)+cbool(y) 回 車 , 顯 示 結(jié) 果 為 : -1。說 明 : 每 行 寫 完 后 必 須 回 車 才 能 生 效 。 問 號 與 print語 句 相 同 , 在 立 即 窗 口 顯 示 計 算 結(jié) 果 。 數(shù) 據(jù) 類 型 -布 爾 型 布 爾 數(shù) 據(jù) 類 型 以 16位 數(shù) 字 形 式 存 儲 。 布 爾 數(shù) 據(jù) 類 型 只 有 True和 Fals

36、e兩 個 值 。 布 爾 數(shù) 據(jù) 支 持 邏 輯 與 、 或 、 非 等 運 算 。 當(dāng) 其 他 的 數(shù) 值 類 型 轉(zhuǎn) 化 為 布 爾 型 時 , 0轉(zhuǎn) 化 為False, 其 他 轉(zhuǎn) 化 為 True。 當(dāng) 布 爾 型 轉(zhuǎn) 化 為 其 他 的 數(shù) 值 類 型 時 , False轉(zhuǎn)化 為 0 , True轉(zhuǎn) 化 為 -1。標(biāo) 識 符 : Boolean 數(shù) 據(jù) 類 型 -日 期 型 日 期 數(shù) 據(jù) 類 型 以 64位 浮 點 數(shù) 值 形 式 存 儲 。 日 期 數(shù) 據(jù) 類 型 前 后 必 須 用 #封 住 如 : #2012/4/1# 日 期 變 量 根 據(jù) 計 算 機 中 的 短 日 期

37、格 式 顯 示 , 時 間則 根 據(jù) 計 算 機 的 時 間 格 式 顯 示 。 當(dāng) 其 他 數(shù) 值 類 型 轉(zhuǎn) 化 為 時 間 類 型 時 , 整 數(shù) 部 分 表示 日 期 , 小 數(shù) 部 分 表 示 時 間 , 負(fù) 數(shù) 表 示 1899年 12月 31日 以 前 的 日 期 。 標(biāo) 識 符 : Date 數(shù) 據(jù) 類 型 -變 體 型 變 體 數(shù) 據(jù) 類 型 所 代 表 的 數(shù) 據(jù) 類 型 是 不 確 定 的 ,可 以 成 為 任 何 類 型 的 變 量 。 變 體 的 數(shù) 據(jù) 類 型 的 變 量 可 以 存 儲 特 殊 值 , 如 :Empty, Error, Nothing, Null等

38、 。 變 體 數(shù) 據(jù) 類 型 中 的 數(shù) 值 類 型 可 以 代 表 任 何 的整 型 和 實 型 數(shù) 。 可 以 用 VarType和 TypeName函數(shù) 檢 查 變 體 中 的 數(shù) 據(jù)標(biāo) 識 符 : Variant 數(shù) 據(jù) 類 型 -字 符 型 每 個 字 符 以 一 個 字 節(jié) ( 8位 ) 進(jìn) 行 表 示 , 對 應(yīng) 的 數(shù) 值的 范 圍 是 0255。 字 符 中 的 前 128個 字 符 對 應(yīng) 于 ASCII字 符 集 中 的 定 義 ,字 符 集 后 128個 字 符 代 表 特 定 的 字 符 。 字 符 數(shù) 據(jù) 類 型 兩 種 : 變 長 字 符 和 定 長 字 符 。變

39、 長 字 符 可 以 包 括 的 字 符 數(shù) 量 為 0到 約 20億 個定 長 字 符 可 以 包 括 的 字 符 數(shù) 量 為 1到 約 64K個 字 符 。標(biāo) 識 符 : String 數(shù) 據(jù) 類 型 -數(shù) 值 型 VBA中 數(shù) 值 型 包 括 整 型 、 長 整 型 、 單 精 度 、 雙 精度 和 貨 幣 等 。 數(shù) 據(jù) 的 存 儲 從 8位 到 64位 不 等 。 數(shù) 據(jù) 支 持 加 、 減 、 乘 、 除 等 運 算 。 貨 幣 類 型 的 數(shù) 據(jù) 保 持 小 數(shù) 點 左 邊 15位 數(shù) 字 , 右邊 4位 數(shù) 字 , 以 滿 足 精 度 的 需 要 。整 型 長 整 型 單 精

40、度 雙 精 度 貨 幣integer long single double currency標(biāo)識符 二 用 戶 定 義 的 數(shù) 據(jù) 類 型 前 面 所 介 紹 的 數(shù) 據(jù) 類 型 都 是 原 子 型 的 數(shù) 據(jù) 類 型 , 即 不 可 以 再分 割 的 數(shù) 據(jù) 類 型 , 使 用 Type語 句 可 以 定 義 任 何 結(jié) 構(gòu) 型 數(shù) 據(jù) 類型 , 如 : 定 義 格 式 : Type 數(shù) 據(jù) 類 型 名 域 名 1 as 數(shù) 據(jù) 類 型 域 名 2 as 數(shù) 據(jù) 類 型 End Type 二 用 戶 定 義 的 數(shù) 據(jù) 類 型 例 如 : Type newstudent txtno As S

41、tring*7 txtname As String txtsex As string*1 txtage As Integer End Type 這 樣 就 定 義 了 “ newstudent”這 種 數(shù) 據(jù) 類 型 ,它 包 括 “ 編 號“ 、 “ 姓 名 ” 、 “ 性 別 ” 、 “ 年 齡 ” 四 個 數(shù) 據(jù) 域 。 二 用 戶 定 義 的 數(shù) 據(jù) 類 型 用 戶 定 義 數(shù) 據(jù) 類 型 變 量 的 取 值 可 指 明 變 量 名及 分 量 名 , 兩 者 用 句 號 分 開 , 如 : Dim NewStu as NewStudent NewStu.txtSno=“980306”

42、NewStu.txtName=“馮 偉 ” NewStu.txtSex=“女 ” NewStu.txtAge=20 二 用 戶 定 義 的 數(shù) 據(jù) 類 型 也 可 以 使 用 With簡 化 程 序 的 重 復(fù) 部 分 , 將 上面 的 變 量 賦 值 : With NewStu .txtSno=“980306” .txtName=“馮 偉 ” .txtSex=“女 ” .txtAge=20 End With 三 數(shù) 據(jù) 庫 對 象 如 數(shù) 據(jù) 庫 、 表 、 查 詢 、 窗 體 、 報 表 等 也 有 對 應(yīng) 的 VBA對 象 數(shù) 據(jù) 類 型 , 這 些 數(shù) 據(jù) 類 型 由 引 用 的 對

43、象 庫 所 定義 , 對 應(yīng) 關(guān) 系 見 : P208 表 8.3 8.3.4 常 量 和 變 量一 、 變 量在 VBA中 變 量 的 概 念 是 怎 么 樣 呢 ? 變 量 是 程 序 運 行 時 值 會 發(fā) 生 變 化 的 數(shù) 據(jù) 。 變 量 的 命 名 規(guī) 則 與 字 段 命 名 一 樣 , 不 能 使 用 VBA的 關(guān) 鍵 字 。 在 VBA中 不 必 先 聲 明 變 量 再 使 用 變 量 , 但 是 先 聲 明 再 使 用是 良 好 編 程 的 習(xí) 慣 。 變 量 的 數(shù) 據(jù) 類 型 可 以 是 前 面 所 介 紹 的 數(shù) 據(jù) 類 型 中 的 任 何 一種 , 也 可 以 是 用

44、 戶 自 定 義 的 數(shù) 據(jù) 類 型 。 變 量 -變 量 名 命 名 原 則變 量 的 命 名 原 則 有 以 下 幾 點 : 第 一 個 字 母 必 須 是 英 文 字 母 。 不 能 在 變 量 名 中 使 用 空 格 、 句 點 等 符 號 。 變 量 名 的 長 度 不 能 超 過 255個 字 符 。 變 量 名 不 區(qū) 分 大 小 寫 。 不 能 在 某 一 范 圍 內(nèi) 的 相 同 層 次 中 使 用 重 復(fù) 的 變 量 名 。 變 量 不 能 與 函 數(shù) 名 、 過 程 名 相 同 。以 下 是 合 法 的 變 量 名 : a, x, x3, BOOK_1, sum5以 下 是

45、 非 法 的 變 量 名 : 3s s*T -3x bowy-1 if 一 變 量 的 聲 明1、 顯 式 聲 明 VBA中 定 義 變 量 的 格 式 為 : Dim 變 量 名 AS 類 型 格 式 中 Dim是 一 個 VBA命 令 , 此 處 用 于 定 義變 量 ; As是 關(guān) 鍵 字 , 此 處 用 于 指 定 變 量 的 數(shù)據(jù) 類 型 。 例 如 : Dim x as Integer x為 整 型 變 量 Dim x%, y! x是 整 型 , y為 單 精 度 一 變 量 的 聲 明2、 隱 含 聲 明 VBA允 許 用 戶 在 編 寫 應(yīng) 用 程 序 時 , 不 聲 明 變量

46、 而 直 接 使 用 , 這 就 是 隱 式 聲 明 。 所 有 隱 式聲 明 的 變 量 都 是 Variant數(shù) 據(jù) 類 型 。 例 如 :Dim m,n, NewVar=258m, n為 變 體 Variant變 量 , NewVar為 Variant類 型 變 量 , 其 值 為 258。 二 強 制 聲 明在 默 認(rèn) 情 況 下 , VBA允 許 在 代 碼 中 使 用 未 聲 明 的變 量 , 如 果 在 模 塊 設(shè) 計 窗 口 的 頂 部 “ 通 用 聲明 ” 區(qū) 域 中 , 加 入 語 句 : Option Explicit 說 明 : 強 制 要 求 所 有 變 量 必 須

47、定 義 才 能 使 用 。這 種 方 法 只 能 為 當(dāng) 前 模 塊 設(shè) 置 了 自 動 變 量 聲 明功 能 , 如 果 想 為 所 有 模 塊 都 啟 用 此 功 能 , 可 以單 擊 菜 單 命 令 “ 工 具 ” 下 “ 選 項 ” 對 話 框 中 ,選 中 “ 要 求 變 量 聲 明 ” 選 項 即 可 。 三 變 量 的 作 用 域1、 局 部 范 圍 ( Local) 變 量 定 義 在 模 塊 的 過 程 內(nèi) 部 , 過 程 代 碼 執(zhí) 行 時 才 可見 。 在 子 過 程 或 函 數(shù) 過 程 中 定 義 的 或 直 接 使 用 的 變量 作 用 范 圍 都 是 局 部 的 。

48、 在 子 過 程 或 函 數(shù) 內(nèi) 部 使 用Dim、 StaticAs關(guān) 鍵 字 說 明 的 變 量 就 是 局 部 范 圍 的 。2、 模 塊 范 圍 ( Module) 變 量 定 義 在 模 塊 的 所 有 過 程 之 外 的 起 始 位 置 , 運 行 時 在 模 塊所 包 含 的 所 有 子 過 程 或 函 數(shù) 過 程 中 可 見 。 在 模 塊 的 通 用 說 明區(qū) , 用 Dim、 Static、 PrivateAs關(guān) 鍵 字 定 義 的 變 量 作 用 域都 是 模 塊 范 圍 。 三 變 量 的 作 用 域3、 全 局 范 圍 ( Public) 變 量 定 義 在 標(biāo) 準(zhǔn)

49、模 塊 的 所 有 過 程 之 外 的 起 始 位 置 ,運 行 時 在 類 模 塊 和 標(biāo) 準(zhǔn) 模 塊 的 所 有 子 過 程 或 函 數(shù) 過程 中 都 可 見 。 在 標(biāo) 準(zhǔn) 模 塊 的 變 量 定 義 區(qū) 域 , 用PublicAs 或 GlobalAs說 明 的 變 量 就 屬 于 全 局 的范 圍 。 變 量 的 持 續(xù) 時 間 ( 生 命 周 期 ) 是 從 變 量 定 義 語 句 所在 的 過 程 第 一 次 運 行 , 到 程 序 代 碼 執(zhí) 行 完 畢 并 將 控制 權(quán) 交 回 調(diào) 用 它 的 過 程 為 止 的 時 間 。 四 數(shù) 據(jù) 庫 對 象 變 量Access建 立

50、的 數(shù) 據(jù) 庫 對 象 及 其 屬 性 , 均 可 被 看 成 是 VBA程 序 代 碼中 的 變 量 及 其 指 定 的 值 來 加 以 引 用 。 例 如 , Access中 窗 體 和報 表 對 象 的 引 用 格 式 為 : Forms ! 窗 體 名 稱 ! 控 件 名 稱 .屬 性 名 稱 或 Reports ! 報 表 名 稱 ! 控 件 名 稱 .屬 性 名 稱 關(guān) 鍵 字 Forms或 Reports分 別 表 示 窗 體 或 報 表 對 象 集 合 。感 嘆 號 “ !” 分 隔 開 對 象 名 稱 和 控 件 名 稱 。“ 屬 性 名 稱 ” 部 分 缺 省 , 則 為

51、控 件 基 本 屬 性 。如 果 對 象 名 稱 中 含 有 空 格 或 標(biāo) 點 符 號 , 就 要 用 方 括 號 把 名 稱 括起 來 。 四 數(shù) 據(jù) 庫 對 象 變 量如 : Forms! 學(xué) 生 管 理 ! 編 號 =” 980306“ Forms! 學(xué) 生 管 理 ! 編 號 =” 980306“ 對 象 名 稱 含 空 格如 果 要 多 次 引 用 對 象 可 以 用 Set關(guān) 鍵 字 來 建 立 控 件 對 象 的 變 量 。如 : Dim txtname As Control Set txtname =Forms!學(xué) 生 管 理 ! 姓 名 txtname=” 馮 偉 “ 返

52、一 個 特 殊 的 模 塊 變 量 本 地 窗 口 打 開 時 , 自 動 生 成 一 個 名 為 “ Me” 的 特 殊 模 塊 變 量 。對 于 類 模 塊 , 定 義 為 Me。 Me是 對 象 的 引 用 , 引 用 當(dāng) 前 模 塊 中 當(dāng) 前 類的 實 例 。 Me變 量 不 需 要 專 門 定 義 , 直 接 使 用 即 可 。例 如 , 用 代 碼 定 義 “ 學(xué) 生 信 息 ” 窗 體 中 “ Lab” 標(biāo) 簽 的 標(biāo) 題 屬 性 ,以 下 兩 種 方 法 效 果 是 一 樣 的 :標(biāo) 準(zhǔn) 方 法 : Forms! 學(xué) 生 信 息 !Lab.Caption=學(xué) 生 信 息 瀏

53、覽 常 用 方 法 : Me!Lab.Caption=學(xué) 生 信 息 瀏 覽 例 : 用 static、 dim和 public定 義 變 量 ( 1) 在 窗 體 中 建 立 2個 文 本 框 分 別 命 名 為 t1和 t2 附 加 標(biāo) 簽的 標(biāo) 題 分 別 為 “ 靜 態(tài) 變 量 ” 和 “ 局 部 變 量 ” 。( 2) 在 窗 體 中 建 立 命 令 按 鈕 名 稱 為 c1 標(biāo) 題 為 “ 計 算 ” 。 ( 3) c1的 click代 碼 : Static a As Integer Dim b As Integer a = a + 1: b = b + 1: c = c + 1

54、T1 = a: T2 = b: T3 = c 新 建 一 個 模 塊 , 添 加 代 碼 : Public c As Integer( 4) 執(zhí) 行 時 不 斷 單 擊 命 令 按 鈕 , 觀 察 值 的 變 化 。 然 后 關(guān) 閉窗 體 , 再 次 打 開 , 再 觀 察 值 的 變 化 五 數(shù) 組 數(shù) 組 是 在 有 規(guī) 則 的 結(jié) 構(gòu) 中 包 含 一 種 數(shù) 據(jù) 類 型 的 一 組數(shù) 據(jù) , 也 稱 作 數(shù) 組 元 素 變 量 。 數(shù) 組 變 量 由 變 量 名 和 數(shù) 組 下 標(biāo) 構(gòu) 成 , 使 用 數(shù) 組 必 須先 定 義 數(shù) 組 。 通 常 用 Dim語 句 來 定 義 數(shù) 組 ,

55、 定 義 格 式為 : Dim 數(shù) 組 名 (to)As 缺 省 情 況 下 , 下 標(biāo) 下 限 為 0, 數(shù) 組 元 素 從 “ 數(shù) 組 名(0)” 至 “ 數(shù) 組 名 (下 標(biāo) 上 限 )” ; 如 果 使 用 to選 項 ,則 可 以 安 排 非 0下 限 。 五 數(shù) 組例 如 , dim score( 10) as Integer 定 義 了 11個 整 形 數(shù) 構(gòu) 成 的 數(shù) 組 , 數(shù) 組 元 素 為score(0) 至 score(10)再 如 , dim score( 1 to 10) as Integer定 義 了 10個 元 素 的 整 型 數(shù) 組 , 數(shù) 組 元 素 為s

56、core(1)至 score(10) 注 : ( 1) 所 有 數(shù) 組 元 素 在 內(nèi) 存 連 續(xù) 存 放 ( 2) 根 據(jù) 下 標(biāo) 區(qū) 分 數(shù) 組 元 素 五 數(shù) 組關(guān) 于 數(shù) 組 的 定 義 , 還 有 下 面 的 幾 點 說 明 :( 1) 定 義 數(shù) 組 時 數(shù) 組 名 的 命 名 規(guī) 則 與 變 量 名 的 命 名 規(guī) 則 相 同 。( 2) 一 般 在 定 義 數(shù) 組 時 應(yīng) 給 出 數(shù) 組 的 上 界 和 下 界 。 但 也 可 以 省略 下 界 , 缺 省 為 0。例 如 , Dim a( 10) As Single默 認(rèn) 情 況 下 , 數(shù) 組 a由 11個 元 素 組 成

57、。若 希 望 下 標(biāo) 從 1開 始 , 可 在 模 塊 的 通 用 聲 明 段 使 用 Option Base語 句 聲 明 。 其 使 用 格 式 為Option Base 0|1 后 面 的 參 數(shù) 只 能取 0 或 1 五 數(shù) 組( 3) 和 不 能 使 用 變 量 , 必 須 是 常 量 , 常 量 可 以 是字 面 常 量 或 符 號 常 量 , 一 般 是 整 型 常 量 。( 4) 如 果 省 略 As子 句 , 則 數(shù) 組 的 類 型 為 Varient變 體 類 型 。二 維 數(shù) 組 的 定 義 :格 式 為 :Dim 數(shù) 組 名 (to, to)As 例 如 , Dim c

58、( 1 To 3, 1 To 4) As Single 五 數(shù) 組 VBA還 支 持 動 態(tài) 數(shù) 組 , 定 義 和 使 用 方 法 是 : 先 用 Dim顯 式 定 義 數(shù) 組 但 不 指 明 數(shù) 組 元 素 數(shù) 目 , 然 后 用 ReDim關(guān) 鍵 字 決 定 數(shù) 組 包 含 的 元 素 數(shù) , 以 建 立 動 態(tài) 數(shù) 組 。創(chuàng) 建 方 法 : Dim NewArray( ) As LongReDim NewArray(9,9,9) 如 果 想 釋 放 數(shù) 組 占 用 的 空 間 可 將 ReDim設(shè) 置 0個 元 素 。 六 變 量 標(biāo) 識 命 名 法 則 在 編 寫 VBA程 序 代

59、碼 時 , 會 用 到 大 量 的 變 量 名 稱和 不 同 的 數(shù) 據(jù) 類 型 。 對 于 控 件 對 象 , 可 以 用 VBA的Set關(guān) 鍵 字 將 每 個 命 名 的 控 件 對 象 指 定 為 一 個 變 量 名稱 。 目 前 , VB和 VBA均 推 薦 使 用 Hungarian符 號 法 作為 命 名 法 則 。 該 方 法 也 被 廣 泛 用 在 C和 C+等 一 些 程序 中 。 Hungarian符 號 法 使 用 一 組 代 表 數(shù) 據(jù) 類 型 的 碼 。用 小 寫 字 母 作 為 變 量 名 的 前 綴 。 見 P212 表 8.4 如 七 符 號 常 量如 果 程

60、序 中 多 處 用 到 某 個 常 量 , 將 其 定 義 成 符 號 常 量可 增 加 代 碼 的 可 讀 性 , 也 便 于 維 護 。符 號 常 量 用 關(guān) 鍵 字 Const來 定 義 , 格 式 如 下 : Const 符 號 常 量 名 稱 =常 量 值 例 如 : Const PI as single=3.1415926定 義 了 一 個 符 號 常 量 PI, 其 值 為 3.1415926若 是 在 模 塊 的 聲 明 區(qū) 中 定 義 符 號 常 量 , 則 建 立 一 個 所有 模 塊 都 可 以 用 的 全 局 符 號 常 量 。 一 般 是 Const前 加Global

61、或 Public關(guān) 鍵 字 。 八 系 統(tǒng) 常 量 ( 內(nèi) 部 常 量 /固 有 常 量 )這 是 一 類 特 殊 的 符 號 常 量 , Access系 統(tǒng) 內(nèi) 部 包 含 若 干個 啟 動 時 就 建 立 的 系 統(tǒng) 常 量 , 有 True、 False、 Yes、No、 On、 Off和 Null等 。 在 編 碼 時 可 以 直 接 使 用 。 例 如 :VBA類 庫 中 , vbRed代 表 紅 色 , vbBlue代 表 藍(lán) 色 。這 里 開 始 的 兩 個 字 母 表 示 所 在 的 類 庫Access類 庫 的 常 量 以 ac開 始 , 如 acForm等 。ADO類 庫

62、的 常 量 以 ad開 始 , 如 adOpenKeyset。 例 : 使 用 符 號 常 量 和 數(shù) 組 ( 1) 在 窗 體 建 文 本 框 名 稱 為 t1。( 2) 在 窗 體 建 命 令 按 鈕 名 稱 為 c1 標(biāo) 題 為 “ 確 定 ” 。( 3) c1的 代 碼 :const AA = “ 歡 迎 你 !” 定 義 符 號 常 量 dim b(1) As String 定 義 數(shù) 組 b(0) = AA b(1) = t1 MsgBox b(0) & Chr(13) & Chr(13) & b(1), vbInformation, 消 息 框 說 明 : Chr(13)生 成

63、一 個 回 車 , 用 單 引 號 開 始 的 字 符 串 為 注 釋 語 句 。 ( 4) 轉(zhuǎn) 到 窗 體 視 圖 在 文 本 框 中 輸 入 “ 張 三 ” 單 擊“ 確 定 ” 按 鈕 。 8.3.5 常 用 標(biāo) 準(zhǔn) 函 數(shù)常 用 標(biāo) 準(zhǔn) 函 數(shù) 數(shù) 學(xué) 函 數(shù) : abs()、 int()、 fix()、 sin()、 cos() 字 符 串 函 數(shù) : instr()、 left()、 right()、 mid() 日 期 /時 間 函 數(shù) : date()、 time()、 now()、 year()month()、 day()、 weekday() 類 型 轉(zhuǎn) 換 函 數(shù) : a

64、sc()、 chr()、 str()、 val() ( 4) 時 間 間 隔 函 數(shù)DateAdd(,), 對 表 達(dá) 式 表 示的 日 期 按 照 間 隔 類 型 加 上 或 減 去 指 定 的 時 間 間 隔 值 。( 5) 計 算 兩 個 日 期 的 間 隔 值 函 數(shù)DateDiff(,W1,W2), 返 回 日期 1和 日 期 2之 間 按 照 間 隔 類 型 所 指 定 的 時 間 間 隔 數(shù) 目 。( 6) 返 回 日 期 指 定 時 間 部 分 函 數(shù)DatePart (,W1,W2)( 7) 返 回 包 含 指 定 年 月 日 的 日 期 函 數(shù)DateSerial(表 達(dá)

65、式 1,表 達(dá) 式 2,表 達(dá) 式 3), 返 回 由 表 達(dá) 式 1值 為年 、 表 達(dá) 式 2值 為 月 、 表 達(dá) 式 3值 為 日 組 成 的 日 期 值 函 數(shù) 轉(zhuǎn) 換 后 類 型 說 明CByte(x) Byte x取 值 范 圍 同 Byte, 小 數(shù) 部 分 四 舍 五 入 , 超 出范 圍 顯 示 “ 溢 出 ”CInt(x) Integer x取 值 范 圍 同 Integer, 小 數(shù) 部 分 四 舍 五 入CLng(x) Long x取 值 范 圍 同 Long, 小 數(shù) 部 分 四 舍 五 入CSng(x) Single x取 值 范 圍 同 SingleCDbl(x

66、) Double x取 值 范 圍 同 DoubleCCur(x) Currency x取 值 范 圍 同 CurrencyCBool(x) Boolean x取 值 范 圍 是 任 何 有 效 數(shù) 字 或 字 串CDate(x) Date x取 值 范 圍 是 任 何 有 效 日 期 表 達(dá) 式CStr(x) String 無CVar(x) Variant x如 果 是 數(shù) 值 范 圍 同 Double, 否 則 , 與 String相 同表 8.8 “C-”開 頭 的 類 型 轉(zhuǎn) 換 函 數(shù) 比 較 :csng() cdbl() cint() clng() ccur() cbool() cdate() ( 5) 字 符 串 轉(zhuǎn) 日 期 函 數(shù) datevalue(x) 如 : datevalue(“february 29,2004”) (6)處 理 空 值 的 函 數(shù) Nz Nz函 數(shù) 可 以 將 Null值 轉(zhuǎn) 換 為 數(shù) 字 0、 空 字 串 或 自 定 義 的返 回 值 。 格 式 : Nz( 變 量 /表 達(dá) 式 /字 段 屬 性 名 , 指 定 值 ) 說 明 : 指 定

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!