窗體和VBA程序設計_第1頁
窗體和VBA程序設計_第2頁
窗體和VBA程序設計_第3頁
窗體和VBA程序設計_第4頁
窗體和VBA程序設計_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

窗體和VBA程序設計8.1窗體的基本概念 窗體是Access數(shù)據(jù)庫的一個重要對象,是用戶與數(shù)據(jù)庫之間的接口,用戶主要通過窗體和數(shù)據(jù)庫進行交互8.1.1窗體的結(jié)構(gòu)窗體的基本結(jié)構(gòu)是由窗體頁眉、頁面頁眉、主體、頁面頁腳和窗體頁腳五部分組成(每部分也稱為窗體的一節(jié))。8.1窗體的基本概念8.1.2窗體的視圖 Access中的窗體的視圖有五種類型:設計視圖、窗體視圖、數(shù)據(jù)表視圖、數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖。圖8-2窗體的設計視圖8.1窗體的基本概念圖8-3窗體的窗體視圖圖8-4窗體的數(shù)據(jù)表視圖8.2使用向?qū)?chuàng)建窗體 創(chuàng)建窗體的方法主要兩種:一是利用系統(tǒng)提供的各種向?qū)Э焖賱?chuàng)建窗體,二是采用手動方法使用設計視圖創(chuàng)建。8.2.1使用“自動創(chuàng)建窗體” 例8.1以“books”表為數(shù)據(jù)源,使用自動創(chuàng)建窗體向?qū)?chuàng)建一個縱欄式窗體,窗體名稱為“books”。 操作步驟如下:①在“數(shù)據(jù)庫”窗口的“窗體”對象頁面中,單擊按鈕(或選擇【插入】|【窗體】菜單命令),打開【新建窗體】對話框。8.2使用向?qū)?chuàng)建窗體②在【新建窗體】對話框中選擇自動創(chuàng)建窗體類型和數(shù)據(jù)源。這里選擇“自動創(chuàng)建窗體:縱欄式”。在“請選擇該對象數(shù)據(jù)的來源表或查詢:”欄中將books表作為數(shù)據(jù)源。③單擊【文件】|【保存】按鈕(或單擊“窗體視圖”工具欄上的按鈕),在彈出的【另存為】對話框中輸入窗體名稱,最后單擊【確定】按鈕進行保存。8.2使用向?qū)?chuàng)建窗體8.2.2使用“窗體向?qū)А? 例8.2以“books”表為數(shù)據(jù)源,使用“窗體向?qū)А眲?chuàng)建一個窗體,窗體名稱為“books2”。 操作步驟如下:①打開【新建窗體】對話框。選擇“窗體向?qū)А边x項,打開【窗體向?qū)А俊?.2使用向?qū)?chuàng)建窗體②選擇“表:books”為數(shù)據(jù)源,并將窗體需要的字段“書號”、“書名”、“價格”、“作者”,“出版社”和“類別”添加到“選定的字段”列表中。③窗體的布局方式主要有:縱欄式、表格、數(shù)據(jù)表、兩端對齊、數(shù)據(jù)透視表和數(shù)據(jù)透視圖等六種。本例選擇默認的布局方式“縱欄表”選項。8.2使用向?qū)?chuàng)建窗體④確定窗體的使用樣式為“沙巖”。⑤在“請為窗體指定標題”框中可以設置窗體的標題。8.3使用設計視圖創(chuàng)建窗體 在設計視圖中創(chuàng)建一個窗體的一般步驟為:首先創(chuàng)建一個空白窗體;第二步為窗體設定數(shù)據(jù)源;然后向窗體內(nèi)添加用于數(shù)據(jù)顯示和維護的控件;最后設置窗體和控件的屬性等。8.3.1窗體的設計視圖1.認識窗體的設計視圖窗口“窗體設計”工具欄工具箱字段列表屬性窗口8.3使用設計視圖創(chuàng)建窗體2.窗體的主要屬性屬性名說明標題設置窗體的標題,即窗體標題欄上顯示的文本滾動條用來確定在窗體視圖中是否顯示水平滾動條和垂直滾動條記錄選擇器設置在窗體視圖中是否顯示垂直“記錄選擇器”瀏覽按鈕是否在窗體的最低行顯示瀏覽記錄的一組按鈕導航按鈕是否顯示導航按鈕分割線是否顯示用來分隔不同節(jié)的“分割線”最大最小化按鈕是否顯示最小化、最大化按鈕關閉按鈕是否顯示“關閉”按鈕自動居中當打開窗體時,是否在屏幕上居中顯示邊框樣式是否顯示邊框和選擇邊框元素的類型記錄源指定窗體的數(shù)據(jù)源8.3使用設計視圖創(chuàng)建窗體例8.3以“books”表為數(shù)據(jù)源,使用設計視圖創(chuàng)建一個窗體,命名為“圖書信息”。具體操作步驟如下:①在“數(shù)據(jù)庫”窗口的“窗體”對象頁面中,單擊按鈕,立即創(chuàng)建一個空白窗體。②右鍵單擊窗體的標題欄,在彈出的快捷菜單中選擇【屬性】命令,打開窗體的屬性窗口。選擇“數(shù)據(jù)”選項卡,設置窗體的記錄源屬性為books表8.3使用設計視圖創(chuàng)建窗體③拖動“books”字段列表窗口的要顯示的字段到窗體的合適位置。④單擊【文件】|【保存】命令,打開【另存為】對話框,將當前窗體命名為“圖書信息”。8.3使用設計視圖創(chuàng)建窗體8.3.2常用的控件控件類型屬性代碼表示說明標簽名稱Name控件名稱用來區(qū)分不同的控件標題Caption標簽上顯示的文本內(nèi)容字體名稱Fontname標簽上文本的字體類型字體大小FontSize標簽上標題文本的字體大小字體顏色ForeColor標題文本的字體顏色,用0-255之間的數(shù)值表示??梢娦訴isiable是否可見文本框名稱Name控件名稱用來區(qū)分不同的控件控件來源ConsolSource設定同所在窗體的記錄源的某個字段綁定值Value存放在文本框中的值字體名稱FontName文本框中顯示文本的字體類型字體大小FontSize文本框中顯示文本的字體大小命令按鈕名稱Name控件名稱用來區(qū)分不同的控件標題Caption顯示在命令按鈕上的文本幾種常見的控件屬性8.3使用設計視圖創(chuàng)建窗體例8.4在例8.3的基礎上,向窗體添加一個標簽“圖書信息管理”,添加5個命令按鈕,“上一記錄”,“下一記錄”,“添加圖書”,“刪除圖書”,“關閉窗體”,且按鈕具有相應功能。其運行界面如圖8-18。8.3使用設計視圖創(chuàng)建窗體添加標簽“圖書信息管理”的操作步驟如下:①打開“圖書信息管理”窗體的設計視圖。②適當調(diào)整窗體的大小和已有控件的位置,以便添加新的控件。③選定工具箱上的標簽控件,在窗體的主體節(jié)的適當位置拖動鼠標,創(chuàng)建一個新的標簽,輸入標簽標題“圖書信息管理”。8.3使用設計視圖創(chuàng)建窗體添加“上一記錄”按鈕的操作步驟如下:①按下工具箱的【控件向?qū)А堪粹o,單擊【命令按鈕】,在窗體主體節(jié)的適當位置拖動鼠標,創(chuàng)建一個適當大小的命令按鈕,彈出【命令按鈕向?qū)А繉υ捒?,如圖8-19。【命令按鈕向?qū)А康牡?步指定按下按鈕時產(chǎn)生的動作。這里選擇“記錄導航”類別中的“轉(zhuǎn)至前一項紀錄”操作。8.3使用設計視圖創(chuàng)建窗體②設置按鈕的表面格式。這里選擇“文本”,并輸入“上一記錄”作為按鈕表面的文本。8.3使用設計視圖創(chuàng)建窗體④最后單擊【完成】按鈕,在窗體的主體節(jié)會出現(xiàn)一個顯示為“上一記錄”的按鈕。③為生成的按鈕指定一個用于引用的名稱,該名字不能與其他對象引用名重復。這里輸入“previous”作為按鈕的名稱。8.3使用設計視圖創(chuàng)建窗體采用同樣的方法可以添加“下一記錄”,“添加圖書”,“刪除圖書”,“關閉窗體”按鈕。各個按鈕的相關參數(shù)如表按鈕文本動作類別操作名稱上一記錄記錄導航轉(zhuǎn)至前一項記錄previous下一記錄記錄導航轉(zhuǎn)至下一項記錄next增加圖書記錄操作添加新記錄add刪除圖書記錄操作刪除記錄delete關閉窗體窗體操作關閉窗體close8.3.3窗體和控件的事件Access中的事件主要有鍵盤事件、鼠標事件、對象事件和窗口事件等。鍵盤事件是操作鍵盤所引起的事件。常用的鍵盤事件有“鍵按下”、“鍵釋放”和“擊鍵”等。鼠標事件即操作鼠標所引發(fā)的事件。其中“單擊”事件是最常用到的。窗口事件是指操作窗口所發(fā)生的事件。常用的窗口事件有“加載”、“打開”和“關閉”等。對象事件是指當對對象進行操作所引發(fā)的事件。其中“更改”事件是當文本框或組合框的內(nèi)容更改時發(fā)生的事件。8.4模塊的基本概念8.4.1模塊的分類模塊分為兩種基本類型:類模塊和標準模塊。類模塊是一種包含對象的模塊。窗體和報表模塊都屬于類模塊,而且它們各自與某一個窗體或報表相關聯(lián)。標準模塊是獨立于窗體和報表的模塊,含有常用的子過程和函數(shù)過程。8.4模塊的基本概念8.4.2創(chuàng)建模塊1.類模塊的創(chuàng)建使用向?qū)г诖绑w上創(chuàng)建命令按鈕時,類模塊會自動產(chǎn)生。如果要自行創(chuàng)建控件的事件過程可以采用以下方法:(1)打開窗體的設計視圖,右鍵單擊要編寫事件過程的控件,在彈出控件的快捷菜單上選擇【屬性】命令,打開控件的屬性窗口,(2)選擇屬性窗口的“事件”選項卡,在需要添加代碼的事件后面選擇“事件過程”,然后單擊按鈕,進入VBE環(huán)境,就可以編寫代碼了。8.4模塊的基本概念2.標準模塊的創(chuàng)建(1)在【數(shù)據(jù)庫】窗口的【模塊】對象頁面中,單擊【新建】按鈕,系統(tǒng)會打開MicrosoftVisualBasic窗口,創(chuàng)建一個新模塊。(2)選擇【插入】|【過程】命令,彈出“添加過程”對話框。輸入過程名,設置類型為子過程或函數(shù),在過程內(nèi)就可以輸入VBA代碼。8.5VBA編程基礎8.5.1VBA數(shù)據(jù)類型數(shù)據(jù)類型存儲空間類型說明符數(shù)值范圍Byte(字節(jié)型)1字節(jié)無0~255Boolean(布爾型)2字節(jié)無True或FalseInteger(整型)2字節(jié)%-32768~32767Long(長整型)4字節(jié)&-2147483648~2147483647Single(單精度浮點數(shù))4字節(jié)!-3.402823E38~3.402823E38Double(雙精度浮點數(shù))8字節(jié)#-1.79E308~1.79E308String(變長字符串)10+串長$0~20億String(定長字符串)字符長度$1~64KCurrency(貨幣型)8字節(jié)@-922337203685477~922337203685477Date(日期型)8字節(jié)無1000年1月1日~9999年12月31日Object(對象型)4字節(jié)無任何對象引用Variant(變體型)8.5VBA編程基礎8.5.2變量和常量1.變量(1)變量名的命名規(guī)則為:①第一個字符必須以字母或漢字開頭,可以包含字符、數(shù)字或下劃線等。②變量名中不能包含空格,也不能包含!、@、&、#,

>等特殊符號。③長度不能超過255個字符,不區(qū)分大小寫。④不能和VBA保留的關鍵字相同。8.5VBA編程基礎(2)變量的聲明:變量聲明的格式為:

Dim變量名[As數(shù)據(jù)類型]也可以使用類型說明符直接聲明變量。格式為:

變量名+類型符DimnameasStringAge%’聲明變量age為Integer整型(3)變量的賦值:變量賦值的基本格式為:<變量名>=<表達式>name=“l(fā)iMing”age=208.5VBA編程基礎2.常量在VBA中,分為字面常量,符號常量和系統(tǒng)常量。字面常量實際就是常數(shù),不同類型的常數(shù)表示方法也不一樣。例如:3.1415926,“廣東省人民政府”符號常量就是用Const語句聲明,并設置值的數(shù)據(jù)項,只不過其值在聲明之后,不能更改或賦予新值。定義符號常量的格式如下:

Const常量名[as數(shù)據(jù)類型]=<表達式>

例如:ConstPIassingle=3.1415926系統(tǒng)常量是VBA中預先定義好的,用戶可直接使用。例如:vbOKOnly,vbRED。8.5VBA編程基礎8.5.3運算符和表達式1.算術運算符運算符說明舉例結(jié)果+加法5+27-減法5-23*乘法5*210/除法5/22.5\整除5\22mod取模5mod21^冪5^2258.5VBA編程基礎2.關系運算符關系運算符的作用是將兩個操作數(shù)進行比較,如果關系成立,則表達式的結(jié)果為true,否則結(jié)果為false。運算符說明舉例結(jié)果>大于“abcdef”>”abcabc”True>=大于等于“ABCD”>=”abcd”False<小于24<10False<=小于等于#1997-7-1#<=#2008-8-8#True=等于“abcd”=”ABCD”False<>不等于“abcd”<>”ABCD”True8.5VBA編程基礎3.邏輯運算符邏輯運算主要有:邏輯與(And),邏輯或(Or),邏輯非(Not)和邏輯異或(Xor)。邏輯運算的結(jié)果仍然為邏輯值。運算符說明舉例結(jié)果And(邏輯與)僅當兩個運算數(shù)都為真時,結(jié)果才為真trueandfalsetrueandtrueFalsetrueOr(邏輯或)兩個操作數(shù)只要有一個為真,結(jié)果就為真trueorfalsefalseorfalsetruefalseNot(邏輯非)邏輯假的邏輯非為真邏輯真的邏輯非為假notfalsenottruetruefalseXor(邏輯異或)兩個運算數(shù)不相同,結(jié)果為真,否則為假truexorfasetruexortruetruefalse8.5VBA編程基礎4.連接運算符使用連接運算符可以將字符串連接起來,得到一個新的字符串。連接運算符主要有”+”和”&”?!?”只能連接兩個字符串?!?”可以將字符串和其他類型的數(shù)據(jù)強制連接起來。例如:“abcd”+”廣東”結(jié)果為:“abcd廣東”“abcde”&2009結(jié)果為:”abcde2009”8.5VBA編程基礎5.運算符的優(yōu)先級算術運算符的優(yōu)先級由高到低為^,-(負號),*和/,\,mod,+和-。邏輯運算符的優(yōu)先級由高到低為Not,And,Or,Xor。所有關系運算符的優(yōu)先級相同。不同類型的運算符的優(yōu)先級由高到低為算術運算符,連接運算符,關系運算符,邏輯運算符。括號可以改變優(yōu)先級的順序。括號內(nèi)的操作總是比括號外的操作先被執(zhí)行。8.5VBA編程基礎6.檢驗表達式值的方法:打開MicrosoftVisualBasic窗口,選擇【視圖】菜單的【立即窗口】命令,打開立即窗口。如圖8-26所示。使用print或?命令,即可輸出表達式結(jié)果。8.5VBA編程基礎8.5.4函數(shù)根據(jù)函數(shù)的功能,大致可以分為數(shù)學函數(shù),字符串函數(shù),日期函數(shù),轉(zhuǎn)換函數(shù)等。1.數(shù)學函數(shù)函數(shù)功能舉例結(jié)果Abs(num)返回num的絕對值Abs(-3)3Sqr(num)返回num的平方根Sqr(4)2Int(num)返回小于num的最大整數(shù)Int(3.1415)3Round(expr,num)返回expr四舍五入,保留num位小數(shù)Round(3.1415,2)3.14Rnd([num])返回一個0到1之間的隨機數(shù)Rnd()8.5VBA編程基礎2.字符串函數(shù)函數(shù)功能舉例返回結(jié)果Left(str,num)從str字符串左邊取num個字符left(“Guang”,2)“Gu”Right(str,num)從str字符串右邊取num個字符right(“Guang”,2“ng”Mid(str,n1,n2)從str字符串左邊第num1個字符開始,向右取num2個字符mid(“Guang”,2,2)“ua”Len(str)返回str的字符個數(shù)len(“Guang”)5Space(num)返回由num個空格組成的字符串space(3)“”8.5VBA編程基礎函數(shù)功能舉例返回結(jié)果Ucase(str)將str中所有的小寫字符轉(zhuǎn)換為大寫Ucase(“Guang”)“GUANG”Lcase(str)將str中所有的大寫字符轉(zhuǎn)換為小寫Lcase(“Guang”)“guang”Trim(str)去掉str兩邊的空格Trim(“abc“)“abc”Ltrim(str)去除str左邊的空格Ltrim(“abc“)“abc”Rtrim(str)去除str右邊的空格Rtrim(“abc“)“abc”8.5VBA編程基礎3.日期與時間函數(shù)函數(shù)功能舉例返回結(jié)果Date()返回系統(tǒng)日期Date()#2010-1-1#(假設當前系統(tǒng)日期為2010年1月1日)Time()返回系統(tǒng)時間Time()Now()返回系統(tǒng)日期和時間Now()Year(d)返回日期d的年份Year(#2010-2-1#)2010Month(d)返回日期d的月份Month(#2010-2-1#)2Day(d)返回日期d的日期Day(#2010-2-1#)18.5VBA編程基礎4.類型轉(zhuǎn)換函數(shù)函數(shù)功能舉例返回結(jié)果Chr(num)返回以num為ASCII碼的字符Chr(65)“A”Asc(str)返回字符串str首字符的ASCII碼值Asc(“BCD”)66Str(num)將數(shù)值num轉(zhuǎn)換為字符串Str(3.1415)“3.1415”Val(str)將字符串str轉(zhuǎn)換為數(shù)值Val(“3.1415”)3.14158.6VBA的程序結(jié)構(gòu)結(jié)構(gòu)化語言中的程序控制結(jié)構(gòu)主要三種,分別是順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。8.6.1順序結(jié)構(gòu)順序結(jié)構(gòu)是程序設計中最基本、最簡單的控制結(jié)構(gòu)。順序結(jié)構(gòu)有一個入口和一個出口,運行時按照先后順序依次執(zhí)行程序中的各條語句。8.6VBA的程序結(jié)構(gòu)經(jīng)常使用的順序結(jié)構(gòu)語句有:變量或數(shù)組的聲明語句、賦值語句、輸出語句和注釋語句等。賦值語句的一般形式為:<變量名>=<表達式><對象名>.<屬性名>=<表達式>例如:y=14.2text1.text=“GuangDong”2.注釋語句程序中的注釋語句用來對編寫的程序加以說明和注解,便于程序的閱讀、修改和使用。注釋語句的格式為:

’|Rem<注釋內(nèi)容>8.6VBA的程序結(jié)構(gòu)3.數(shù)據(jù)輸出語句—Print方法Print是輸出數(shù)據(jù)、文本的一個重要方法,可以將數(shù)據(jù)輸出到窗體、立即窗口或打印機上。其格式如下:[<對象名>.]Print[<表達式1>,[<表達式2>,...]]其中<對象名>可以是窗體、立即窗口、打印機等,如果省略,則在當前窗體上輸出。例如:Dimaasinteger,basintegera=10b=20Printa,b’輸出兩個變量a和b的值8.6VBA的程序結(jié)構(gòu)8.6.2選擇結(jié)構(gòu)在VBA中選擇結(jié)構(gòu)主要有If語句和SelectCase語句。1.IF語句基本格式:If<條件表達式>Then<語句序列1>Else <語句序列2>EndIf程序執(zhí)行時,先判斷條件表達式的值是否為真,若為真,就執(zhí)行Then后面的語句序列1,否則就執(zhí)行Else后的語句序列2。8.6VBA的程序結(jié)構(gòu)例:判斷今年是否為閏年,如果年份能被400整除或不能被100整除但能被4整除,則為閏年,否則為平年。DimYasIntegerY=year(Date())If(ymod400=0Orymod100=0andymod4<>0)ThenPrint“今年是閏年!”ElsePrint“今年是平年!”EndIf8.6VBA的程序結(jié)構(gòu)2.SelectCase語句語法格式:SelectCase<測試表達式>Case<條件列表1>語句序列1Case<條件列表2>語句序列2……Caseelse語句序列nEndSelect8.6VBA的程序結(jié)構(gòu)說明:(1)測試表達式可以是數(shù)值表達式或字符表達式(一般為變量),不能是關系表達式和邏輯表達式。(2)條件列表中表達式的類型要和測試表達式的類型相同(3)條件列表的形式可以是:①<表達式1>[,<表達式2>]……各表達式的值為“或”關系,即當測試表達式的值與它們中某個相同,就執(zhí)行該分支的語句序列。例如:Case2,4,6表示當測試表達式的值等于2或4或6時執(zhí)行該分支的語句序列。②<表達式1>to<表達式2>當測試表達式的值在<表達式1>到<表達式2>之間時,執(zhí)行該Case

分支的語句序列。例如:Case‘a(chǎn)’to‘z’表示當測試表達式為小寫字母時執(zhí)行該分支語句序列。③Is<關系表達式>Is表示當測試值滿足關系表達式時,執(zhí)行該分支的語句。8.6VBA的程序結(jié)構(gòu)例8.12創(chuàng)建一個名為“成績判斷”的窗體,根據(jù)用戶輸入的成績值,判斷成績的等級。屬于不及格、及格、良好或優(yōu)秀。判斷標準為:若成績<60分,為不及格;若成績在60和70之間,為及格;若成績在70到85之間為良好;若成績大于85分為優(yōu)秀。窗體的設計視圖如圖所示。8.6VBA的程序結(jié)構(gòu)和編程相關步驟如下:③右鍵單擊cmdJudge按鈕,在彈出的快捷菜單中選擇【屬性】命令,在打開的屬性窗口中選擇“事件”選項卡,設置“單擊”項為“事件過程”,然后單擊按鈕,進入VBE環(huán)境。系統(tǒng)自動生成以下代碼:PrivateSubcmdJudge_Click()EndSub④在過程中輸入以下程序代碼:SelectCasescore.valueCaseIs<60result.value=“不及格”Case60to75result.value=“及格”Case75to85result.value=“良好”CaseElseresult.value=“優(yōu)秀”EndSelect8.6VBA的程序結(jié)構(gòu)8.6.3循環(huán)結(jié)構(gòu)1.DoWile|Until……loop結(jié)構(gòu)語句格式如下:DoWhile|Until<條件> [循環(huán)體][ExitDo]Loop說明:(1)當語句結(jié)構(gòu)是DoWhile時,先判斷循環(huán)條件,當條件為真時,進入循環(huán)體,執(zhí)行完語句序列后,重新判斷循環(huán)條件是否成立,直到循環(huán)條件為假,結(jié)

溫馨提示

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

評論

0/150

提交評論