項目9 數據庫編程基礎_第1頁
項目9 數據庫編程基礎_第2頁
項目9 數據庫編程基礎_第3頁
項目9 數據庫編程基礎_第4頁
項目9 數據庫編程基礎_第5頁
已閱讀5頁,還剩41頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Access實用教程

項目九數據庫編程基礎

項目九數據庫編程基礎項目九數據庫編程基礎項目目標

通過本項目的學習,讀者將掌握VBA程序設計基礎,學習VBA程序結構控制語句,了解模塊與面向對象編程環境。項目九數據庫編程基礎項目要點

1.數據類型、常量和變量2.運算符與表達式、函數3.VBA程序結構4.類模塊和標準模塊5.Sub過程和Function過程的定義、調用6.VBA編程環境項目九數據庫編程基礎項目任務

編寫程序管理教務系統的各類信息。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(一)數據類型、常量和變量(1)數據類型。VBA提供了較為完備的數據類型,Access數據表中字段使用的數據類型(OLE對象和備注字段數據類型除外)在VBA中都有對應的類型。VBA數據類型參見下表9-1。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(2)常量。常量是指在程序運行的過程中,其值不能被改變的量。VBA支持下列3種類型的常量:①符號常量:用Const語句創建,并且在模塊中使用的常量。②固有常量:是MicrosoftAccess或引用庫的一部分。③系統定義常量:True、False和Null。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(3)變量。變量是指程序運行時值會發生變化的數據。在一個變量使用之前,可以通過聲明變量的語句指定數據類型(即采用顯式聲明),也可以不指定(即采用隱式聲明)。①顯示聲明,格式:Dim變量名As數據類型。例如:DimnumAsInteger②隱式聲明,格式:變量名=值。例如:num=345項目九數據庫編程基礎任務一了解VBA程序設計基本語法

根據作用范圍的不同,可以將變量分為3個層次,如表9-2所示。

項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(二)運算符和表達式VBA中的運算符分為4種:算術運算符、關系運算符、邏輯運算符和連接運算符。(1)算術運算符與算術表達式。算術運算符是常用的運算符,用來執行簡單的算術運算。VBA提供了8個算術運算符,表9-3列出了這些運算符以及優先級順序。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(2)關系運算符與關系表達式。關系運算符是用來對兩個表達式的值進行比較的運算符。關系表達式的值是邏輯值,只有兩種情況,即真(True)或假(False),通常作為判斷用。表9-4列出了VBA中常用的6種關系運算符。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

在VBA中,允許部分不同數據類型的變量進行比較,但要注意其運算方法。關系運算符的優先次序如下。所有關系運算符的優先級相同。關系運算符的優先級低于算術運算符。關系運算符的優先級高于賦值運算符(=)。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(3)邏輯運算符與邏輯表達式。邏輯運算也稱布爾運算,由邏輯運算符連接兩個或多個關系式,組成一個布爾表達式。VBA的邏輯運算符有以下6種(自上而下優先級由高到低)。①邏輯非,格式為:Not<表達式>。運算規則是:進行“取反”運算。例如:Not(3>8)的值為True。②邏輯與,格式為:<表達式1>And<表達式2>。運算規則是:對兩個表達式的值進行比較,如果兩個表達式的值均為True,結果才為True;否則為False。例如:(3>8)And(5<7)的值為False。③邏輯或,格式為:<表達式1>Or<表達式2>。運算規則是:對兩個表達式的值進行比較,如果其中一個表達式的值為True,結果就為True;只有兩個表達式的值均為False,結果才為False。例如:(3>8)Or(5<7)的值為True。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

④邏輯異或,格式為:<表達式1>Xor<表達式2>。運算規則是:如果兩個表達式同時為True或同時為False,則結果為False,否則為True。例如:(3<8)Xor(5<7)的結果為False。⑤等價,格式為:<表達式1>Eqv<表達式2>。運算規則是:如果兩個表達式同時為True或同時為False,則結果為True。例如:(3<8)Eqv(5<7)的結果為True。⑥蘊含,格式為:<表達式1>Imp<表達式2>。運算規則是:當表達式1取值為True而表達式2的取值為False時,整個表達式的取值為False,其他情況下蘊含表達式的值均為True。例如:(3<8)Imp(5>7)的值為False,而(3<8)Imp(5<7)的值為True。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(4)連接運算符與字符串表達式。字符串連接符(&)用來連接多個字符串(字符串相加)。例如:A$="My"B$="Space"C$=A$+B$運算結果為:變量C$的值為”MySpace"。在VBA中,“+”既可用作加法運算符,還可以用作字符串連接符,但“&”專門用作字符串連接運算符,其作用與“+”相同。在有些情況下,用“&”比用“+”可能更安全。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(5)各種運算符的優先級。當一個表達式由多個運算符連接在一起時,運算的先后順序是按優先級來決定的,優先級高的先運算,優先級等同,按照從左向右的順序運算。運算符優先級規則如下:算術運算符>連接運算符>關系運算符>邏輯運算符。優先級相同,按照從左向右的順序運算。括號優先級最高。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

(三)函數的使用標準函數一般用于表達式中,用戶在程序代碼中可隨時調用。函數的一般調用格式如下:①數學函數。數學函數主要用于對數值型數據進行數據處理,其返回值多為數值型。它們的函數名、類型和功能如表9-6所示。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

項目九數據庫編程基礎任務一了解VBA程序設計基本語法

②字符串函數。字符串函數是用于對字符串進行處理的,其返回值大部分為字符串。它們的函數名、類型和功能如表9-7所示。項目九數據庫編程基礎任務一了解VBA程序設計基本語法

項目九數據庫編程基礎任務一了解VBA程序設計基本語法

③日期/時間函數。日期/時間函數主要對系統日期/時間或日期/時間型常量、變量進行處理。它們的函數名、類型和功能如表9-8所示。項目九數據庫編程基礎

任務一了解VBA程序設計基本語法

④轉換函數。轉換函數可以將一種類型的數據轉換成另一種類型,常見的轉換函數的函數名和函數值的類型如表9-9所示。項目九數據庫編程基礎任務二認識VBA程序結構

(一)認識順序結構計算機程序的執行控制流程,無論是結構化程序設計還是面向對象的程序設計都有3種基本結構:順序結構、選擇結構和循環結構。順序結構是最簡單的一種結構,它是一種線性結構。順序結構是任何程序的基本結構,它將計算機要執行的各種處理依次排列起來。程序運行后,便自左向右、自頂向下的按順序執行這些語句,直到執行完所有語句行。順序結構流程圖如圖9-2所示。項目九數據庫編程基礎任務二認識VBA程序結構

(二)認識選擇結構選擇結構使VBA能根據某個條件是否成立,來決定下一步應該做什么。在這種情況下,程序不再按照線性的順序來執行各行語句,而是根據給定的條件來決定選取哪條路徑,執行一條或多條語句。根據條件表達式的值來選擇程序運行語句。主要有以下一些結構。①If-Then語句(單分支結構)?!?語句格式為:格式一:If條件表達式Then語句格式二:If條件表達式Then項目九數據庫編程基礎任務二認識VBA程序結構

項目九數據庫編程基礎任務二認識VBA程序結構

● 多分支結構執行過程。當程序運行到If語句,首先判斷條件表達式1的值,如果值為True,則執行語句塊1;如果值為False,則再判斷條件表達式2的值,如果值為True,則執行語句塊2;依次類推,直到找到一個為True的條件時,執行其后面的語句塊。如果所有條件表達式的值都不為True,則程序執行關鍵字Else后的語句塊n。無論執行哪個語句塊,執行完后都從EndIf后面的語句繼續執行。項目九數據庫編程基礎任務二認識VBA程序結構

④SelectCase-EndSelect語句。當條件選項較多時,使用If控制結構需要多重嵌套,而VBA中選擇結構的嵌套數目和深度是有限制的。使用VBA提供的SelectCase-EndSelect語句結構可以解決這類問題?!?語句格式為:SelectCase表達式

[Case取值列表1[語句塊1]][Case取值列表2[語句塊2]]…[Case取值列表n[語句塊n]][CaseElse[語句塊n+1]]EndSelect項目九數據庫編程基礎任務二認識VBA程序結構

● SelectCase-EndSelect語句執行過程。計算表達式的值,將表達式的值與每個Case關鍵字后面的取值列表中的數據和數據范圍進行比較。如果相等,則執行該Case后面的語句塊;如果沒有一個值與之相匹配,則執行CaseElse語句后面的語句塊n+1。執行完后,接著執行EndSelect后面的語句。如果不止一個Case后面的取值與表達式相匹配,則只執行第一個與表達式匹配的Case后面的語句序列。項目九數據庫編程基礎任務二認識VBA程序結構

⑤條件函數。除了上述的語句結構外,VBA還提供了3個函數來完成相應的操作?!?IIf函數:IIf(條件式,表達式1,表達式2)根據“條件式”的值確定函數返回值。當“條件式”的值為真時,返回表達式1的值,反之返回表達式2的值。例如:取變量X、Y中較小的值,并將值賦給變量Min。Min=IIf(X<Y,A,B)● Switch函數:Switch(條件式1,表達式1[,條件式2,表達式2…[,條件式n,表達式n]])根據“條件式”的值決定函數返回的值。項目九數據庫編程基礎任務二認識VBA程序結構

例如:根據a的值,為變量b賦值。b=Switch(a>1,11,a<-1,22,-1<a<1,33)● Choose函數:Choose(索引式,選項1[,選項2,表達式2…[,選項n]])根據“索引式”的值來返回選項列表的某個值?!八饕健钡闹禐?,則返回“選項1”的值,“索引式”的值為n,則返回“選項n”的值,例如:根據a的值,為變量b賦值。b=Choose(a,11,22,33)項目九數據庫編程基礎任務二認識VBA程序結構

(三)認識循環結構循環結構可以實現重復執行一行或幾行程序代碼。循環結構又分為當型循環結構和直到型循環結構,前者先進行條件判斷,再執行循環體;后者是先執行循環體,再進行條件判斷。項目九數據庫編程基礎任務二認識VBA程序結構

VBA支持以下循環語句結構:①For-Next語句?!?For-Next語句能夠重復執行程序代碼區域特定次數,語句格式為:For循環變量=初值To終值[Step步長]

循環體Next[循環變量]● For-Next語句執行過程。首先將初值賦給循環變量,接著檢查循環變量的值,將它與終值進行比較,如果超出就停止執行循環體,跳出循環,執行Next下面的語句;如果循環變量的值沒有超出終值,則執行循環體,然后將循環變量與步長值相加賦給循環變量,再重復上述過程。項目九數據庫編程基礎任務二認識VBA程序結構

②Do-Loop語句● 語句格式為:格式一:Do[While|Until循環條件]

循環體

Loop格式二:Do

循環體

Loop[While|Until循環條件]● Do-Loop語句執行過程。當指定的循環條件為True或直到指定的循環條件變為True之前重復執行循環體?!?格式一先判斷,后執行,若條件不符,則可能一次也不執行循環體?!?格式二先執行,后判斷,即循環體至少執行一次?!?在Do…Loop循環中,可以使用ExitDo語句強制退出循環?!?關鍵字While用于指明條件成立時重復執行循環體,直到條件不成立時結束循環;而Until則正好相反,條件不成立時執行循環體,直到條件成立才退出循環。項目九數據庫編程基礎任務二認識VBA程序結構

③While-Wend語句● 語句格式為:While條件循環體Wend● While-Wend語句執行過程當條件成立(即條件值為True)時,重復執行循環體,否則轉去執行Wend下面的語句。While-Wend語句與DoWhile-Loop語句結構類似,只是在循環體內不能使用ExitDo語句。項目九數據庫編程基礎任務二認識VBA程序結構

④GoTo語句● 語句格式為:GoTo

標號

…標號:

…● GoTo語句是早期Basic語言中常用的一種流程控制語句,現在的語言不提倡使用。在VBA中,GoTo語句主要用于錯誤處理“OnErrorGoToLabel”結構。項目九數據庫編程基礎任務三深入模塊和面向對象編程

(一)類模塊和標準模塊模塊是Access系統中的一個重要對象,它以VBA(VisualBasicforApplication)為基礎編寫,以函數過程或子過程為單元的集合方式存儲。模塊分為類模塊和標準模塊兩種類型,每個模塊獨立保存并對應于其中的VBA代碼。①類模塊。類模塊是指包含新對象定義的模塊。②標準模塊。標準模塊是指存放整個數據庫可用的函數和過程的模塊。③將宏轉換為模塊。在Access系統中,根據需要可以將設計好的宏對象轉換為模塊代碼形式。項目九數據庫編程基礎任務三深入模塊和面向對象編程

(二)Sub和Function過程的定義和調用過程是模塊的單元組成,由VBA代碼編寫而成。過程分為兩種類型:Sub子過程和Function函數過程。其區別在于Sub過程沒有返回值,Function過程有返回值。①Sub過程。又稱為子過程,執行一系列的操作,無返回值?!?定義。格式為:[Private|Public][Static]Sub過程名(參數列表)[程序代碼]EndSub其中參數列表為:參數名As類型,……● 調用??梢砸眠^程名來調用該子過程。此外,VBA提供了一個關鍵字Call,可顯示調用一個子過程。格式為:Call過程名(實參)。項目九數據庫編程基礎任務三深入模塊和面向對象編程

②Function過程又稱為函數過程,執行一系列的操作,有返回值?!?定義。格式為:[Private|Public][Static]Function過程名(參數列表)As(返回值)類型[程序代碼]

EndFunction其中參數列表為:參數名As類型,……● 調用。直接引用函數過程名來調用函數過程。函數過程不能使用Call來調用執行。項目九數據庫編程基礎任務三深入模塊和面向對象編程

③在模塊中執行宏在模塊中執行宏,可以使用DoCmd對象的RunMacro方法。格式:DoCmd.RunMacro

MacroName[,RepeatCount][,RepeatExpression]項目九數據庫編程基礎任務三深入模塊和面向對象編程

(三)VBA面向對象編程Access內嵌的VBA,功能強大,采用目前主流的面向對象機制和可視化編程環境。①VBA概述VBA是MicrosoftOffice套件的內置編程語言,實際上就是宏語言版本的VB語言。在Access程序設計中,當某些操作不能用其他Access對象

溫馨提示

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

評論

0/150

提交評論