日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

VBA編程中Nothing、Empty、Null與Error的深度解析與實戰(zhàn)應用

VBA編程中Nothing、Empty、Null與Error的深度解析與實戰(zhàn)應用 1. 項目概述為什么VBA里的“空”這么讓人頭疼干了這么多年VBA開發(fā)我敢說至少有30%的調(diào)試時間都花在和“空值”較勁上。新手寫代碼最怕的就是彈出一個“運行時錯誤‘91’對象變量或With塊變量未設(shè)置”或者明明看著單元格是空的用If Range(“A1”) “”判斷卻死活不對。這背后就是VBA里那幾個看似簡單實則各有各的“脾氣”的空值關(guān)鍵字在作祟Nothing、Empty、Null還有那個經(jīng)常被誤會的Error。這些東西官方文檔講得比較分散和理論化而實際開發(fā)中它們的區(qū)別直接關(guān)系到程序是穩(wěn)定運行還是瞬間崩潰。比如你用Set了一個對象后來想釋放它是該用Set obj Nothing還是Set obj Empty從數(shù)據(jù)庫里讀出一個字段值是Null你直接把它賦值給一個變量后續(xù)計算會不會報錯一個函數(shù)可能因為各種原因失敗你是返回一個特定的Error值還是干脆讓程序彈窗報錯這些選擇每一天都在考驗著VBA開發(fā)者的基本功。今天我就結(jié)合自己踩過的無數(shù)個坑把這幾個概念掰開揉碎了講清楚。這不是語法教科書而是一份來自一線的“避坑指南”。無論你是剛接觸VBA想弄明白If rs.EOF Then和If rs Is Nothing Then到底有什么區(qū)別還是已經(jīng)寫了幾年代碼想更優(yōu)雅地處理各種邊界情況這篇文章里的內(nèi)容都能讓你少走彎路。我們會從它們最本質(zhì)的定義出發(fā)用大量實際的代碼片段和場景模擬讓你不僅知道每個關(guān)鍵字是什么更明白在什么情況下該用誰以及用錯了會怎么樣。2. 核心概念深度辨析四種“空”的本質(zhì)與差異理解這幾個關(guān)鍵字絕對不能死記硬背。你必須把它們放到VBA這個特定的“生態(tài)系統(tǒng)”里看它們各自扮演什么角色。我們可以從兩個最根本的維度來區(qū)分它們數(shù)據(jù)類型和適用場景。Nothing是給對象Object準備的“空”Empty是給變體Variant變量在未賦值時的默認狀態(tài)Null是一個特殊的Variant子類型專門表示“未知數(shù)據(jù)”或“不含有效數(shù)據(jù)”而Error則是Variant的另一個子類型但它包裹的是一個錯誤號用于錯誤處理流程。2.1 Nothing對象的“身份證注銷”Nothing這個關(guān)鍵字是VBA中對象引用的專屬“空值”。你可以把它理解為一個對象變量的“復位鍵”。當一個對象變量被聲明后例如Dim ws As Worksheet它實際上還沒有指向任何具體的對象這時它的值是Nothing。當你用Set關(guān)鍵字讓它指向一個實際對象如Set ws ThisWorkbook.Worksheets(“Sheet1”)后它就不再是Nothing了。最后當你不再需要這個對象或者想釋放它時你就用Set ws Nothing來切斷這個引用。注意Set ws Nothing并不意味著銷毀了那個Worksheet對象本身Excel還開著Sheet1當然還在。它只是銷毀了ws這個變量對那個對象的“引用鏈接”。如果這是指向那個對象的最后一個引用VBA的垃圾回收機制會在后續(xù)某個時間點清理該對象占用的內(nèi)存。但對于Excel這類宿主應用程序的對象其生命周期主要由宿主管理。核心判斷方法使用Is運算符。這是唯一正確判斷一個對象變量是否為Nothing的方法。Dim coll As Collection If coll Is Nothing Then MsgBox “變量coll尚未被Set為一個具體的Collection對象?!?End If Set coll New Collection ‘ 此時 coll Is Nothing 為 False Set coll Nothing ‘ 此時 coll Is Nothing 又變回 True最常見的坑試圖使用一個為Nothing的對象變量。這會導致“運行時錯誤‘91’”。Dim ws As Worksheet ‘ ... 假設(shè)忘記執(zhí)行 Set ws ... ws.Name “Test” ‘ 錯誤ws是Nothing沒有具體的對象可以操作。2.2 Empty變體變量的“出廠設(shè)置”Empty是變體Variant數(shù)據(jù)類型變量在聲明后、首次賦值前的默認值。它是一種特殊的Variant子類型vbEmpty。關(guān)鍵點在于Empty是一個值它表示“尚未初始化”而不是“沒有值”或“錯誤的值”。一旦你給一個Variant變量賦了任何值哪怕是0、空字符串””或Null它的Empty狀態(tài)就消失了。核心特性在數(shù)值上下文中為0在字符串上下文中為空字符串””。這是Empty最“狡猾”的地方它會在參與運算時自動進行類型轉(zhuǎn)換。Dim varValue As Variant ‘ 聲明后varValue 為 Empty Debug.Print varValue ‘ 立即窗口顯示“”空 Debug.Print varValue 10 ‘ 輸出 10 (Empty被當作0) Debug.Print “Value: “ varValue ‘ 輸出 “Value: “ (Empty被當作””) varValue “Hello” ‘ 現(xiàn)在 varValue 是字符串子類型vbString不再是Empty。如何判斷Empty使用IsEmpty()函數(shù)。Dim varTest As Variant If IsEmpty(varTest) Then ‘ 返回 True Debug.Print “變量是Empty” End If varTest Null If IsEmpty(varTest) Then ‘ 返回 FalseNull不是Empty。 Debug.Print “這行不會執(zhí)行” End If與空字符串””的區(qū)別這是另一個高頻混淆點。一個單元格被手動清空內(nèi)容按Delete鍵后其.Value屬性通常是Empty對于Variant類型Range.Value。而如果一個單元格輸入了一個等號公式但公式返回空字符串””那么其.Value就是空字符串””而不是Empty。用IsEmpty()函數(shù)可以清晰地區(qū)分它們。2.3 Null數(shù)據(jù)庫世界的“未知數(shù)”Null是一個Variant子類型vbNull它表示未知的、不存在的或不適用的數(shù)據(jù)。這個概念在數(shù)據(jù)庫領(lǐng)域至關(guān)重要。在VBA中Null主要出現(xiàn)在與數(shù)據(jù)庫如ADO、DAO記錄集交互時或者某些可能返回Null的API函數(shù)中。核心特性任何涉及Null的表達式結(jié)果都是Null傳播性。這是Null最需要警惕的特性也被稱為“Null的傳播”。Dim varNum As Variant varNum Null Debug.Print varNum 5 ‘ 輸出 Null Debug.Print “Text: “ varNum ‘ 輸出 Null Debug.Print varNum Null ‘ 輸出 Null (注意不是True) Debug.Print varNum Null ‘ 輸出 Null (也不是False)看到了嗎最后兩行是巨坑你不能直接用等號或不等號來判斷一個值是否為Null因為比較的結(jié)果本身也是Null在If語句中Null被視作False但這會導致邏輯混亂。如何判斷Null必須使用IsNull()函數(shù)。Dim varData As Variant varData Null If IsNull(varData) Then ‘ 正確返回 True Debug.Print “變量是Null” End If If varData Null Then ‘ 錯誤這個條件永遠無法被滿足結(jié)果為Null即False。 Debug.Print “這行永遠不會執(zhí)行” End If與Empty的對比Empty是VBA變量的初始狀態(tài)而Null通常表示從外部如數(shù)據(jù)庫獲取的、有意義的數(shù)據(jù)缺失狀態(tài)。IsEmpty(Null)返回FalseIsNull(Empty)也返回False它們是兩個完全不同的概念。2.4 Error不是錯誤的“錯誤值”Error是一個特殊的Variant子類型vbError它包含一個錯誤號。它并不是一個運行時錯誤不會中斷代碼執(zhí)行而是一個可以像普通值一樣存儲、傳遞的“錯誤標識符”。它通常由某些函數(shù)在內(nèi)部出錯時返回而不是通過Err.Raise拋出異常。最常見的來源CVErr()函數(shù)。你可以用它將一個錯誤號轉(zhuǎn)換成一個Error值。Dim varResult As Variant varResult CVErr(11) ‘ 11 對應錯誤“被零除” If IsError(varResult) Then ‘ 使用IsError()函數(shù)判斷 Debug.Print “變量包含一個錯誤值錯誤號是” CLng(varResult) End If核心用途在自定義函數(shù)中當遇到特定計算錯誤如參數(shù)無效、除零時不直接彈出錯誤中斷用戶而是返回一個Error值讓調(diào)用者自己決定如何處理。Function SafeDivide(num1 As Double, num2 As Double) As Variant If num2 0 Then SafeDivide CVErr(11) ‘ 返回“被零除”錯誤值 Else SafeDivide num1 / num2 End If End Function Sub Test() Dim v As Variant v SafeDivide(10, 0) If IsError(v) Then MsgBox “計算出錯無法進行除法?!?Else MsgBox “結(jié)果是” v End If End Sub與運行時錯誤的區(qū)別Error值是一個“安靜”的錯誤指示器。而Err對象如Err.Number是在運行時錯誤發(fā)生并被捕獲后用于獲取錯誤信息的。你可以通過CVErr(Err.Number)將捕獲的錯誤轉(zhuǎn)換為Error值進行傳遞。3. 實戰(zhàn)場景與應用技巧如何正確使用與判斷理論講完了我們進入實戰(zhàn)環(huán)節(jié)。知道它們是什么只是第一步更重要的是在代碼里用對地方。下面我通過幾個最常見的開發(fā)場景展示如何精準地使用和判斷這些關(guān)鍵字。3.1 場景一安全地操作對象處理Nothing當你編寫一個函數(shù)需要接收一個工作表對象作為參數(shù)時防御性編程至關(guān)重要。Sub ProcessWorksheet(ByRef ws As Worksheet) ‘ 第一步永遠先檢查對象是否為Nothing If ws Is Nothing Then MsgBox “未提供有效的工作表對象。”, vbExclamation Exit Sub End If ‘ 第二步進一步檢查對象是否“存活”對于某些可能已被刪除的對象 On Error Resume Next Dim nameTest As String nameTest ws.Name ‘ 嘗試訪問一個屬性如果對象無效會出錯 If Err.Number 0 Then MsgBox “工作表對象可能已被刪除或無效?!? vbCritical Exit Sub End If On Error GoTo 0 ‘ 安全地使用對象 ws.Range(“A1”).Value “處理開始” ‘ … 其他操作 … End Sub ‘ 調(diào)用示例 Sub Caller() Dim mySheet As Worksheet ‘ 情況1忘記Set ProcessWorksheet mySheet ‘ 將觸發(fā)“未提供有效對象”的提示 ‘ 情況2正常Set Set mySheet ThisWorkbook.Worksheets(“Sheet1”) ProcessWorksheet mySheet ‘ 正常執(zhí)行 ‘ 情況3Set為Nothing后 Set mySheet Nothing ProcessWorksheet mySheet ‘ 將觸發(fā)“未提供有效對象”的提示 End Sub實操心得對于任何可能來自外部輸入或動態(tài)生成的對象參數(shù)在函數(shù)內(nèi)部開頭進行Is Nothing檢查是一個必須養(yǎng)成的好習慣。這能避免90%以上的“錯誤91”。3.2 場景二處理單元格數(shù)據(jù)區(qū)分Empty、””、Null從Excel單元格讀取數(shù)據(jù)是VBA的日常。一個單元格可能包含多種“空”狀態(tài)。Sub CheckCellValue() Dim rng As Range Set rng ThisWorkbook.Worksheets(“Data”).Range(“A1”) Dim cellValue As Variant ‘ 必須用Variant接收因為.Value可能返回多種類型 cellValue rng.Value ‘ 判斷邏輯鏈順序很重要 If IsError(cellValue) Then ‘ 單元格是錯誤值如#N/A, #DIV/0! MsgBox “單元格包含錯誤” CStr(cellValue) ElseIf IsNull(cellValue) Then ‘ 通常來自數(shù)據(jù)庫查詢Excel單元格直接輸入Null的情況較少 MsgBox “單元格值為Null未知數(shù)據(jù)” ‘ 處理Null例如賦予默認值 cellValue 0 ElseIf IsEmpty(cellValue) Then ‘ 單元格從未被輸入過內(nèi)容真正的“空”單元格 MsgBox “單元格為Empty未初始化” ‘ 可以將其視為0或空字符串處理 cellValue “” ElseIf cellValue “” Then ‘ 單元格內(nèi)容是一個空字符串例如公式 ”” MsgBox “單元格是空字符串”” ‘ 按空字符串處理 Else ‘ 單元格有實際內(nèi)容數(shù)字、文本、日期等 MsgBox “單元格值為” cellValue End If End Sub注意事項判斷順序有講究。IsError應該放在最前面因為一個Error值用IsNull或IsEmpty判斷也會返回False但它的本質(zhì)是錯誤。其次判斷IsNull再判斷IsEmpty。最后判斷空字符串””。因為一個Empty值在比較””時結(jié)果為TrueEmpty在字符串上下文中轉(zhuǎn)換為””所以如果你先判斷””就會把Empty也當成空字符串從而無法區(qū)分兩者。3.3 場景三與數(shù)據(jù)庫交互Null的專項處理從ADO記錄集Recordset中讀取數(shù)據(jù)是Null出現(xiàn)的主戰(zhàn)場。Sub ReadFromDatabase() Dim conn As Object, rs As Object Dim employeeName As Variant, salary As Variant ‘ … 假設(shè)已建立連接并打開記錄集 … While Not rs.EOF ‘ 讀取字段值可能為Null employeeName rs.Fields(“Name”).Value salary rs.Fields(“Salary”).Value ‘ 處理可能為Null的字段 Dim displayName As String If IsNull(employeeName) Then displayName “[姓名未知]” Else displayName CStr(employeeName) End If Dim displaySalary As String If IsNull(salary) Then displaySalary “[薪資未錄入]” Else ‘ 注意即使不是Null也要小心類型可能數(shù)據(jù)庫中是DecimalVBA中最好用CDbl轉(zhuǎn)換 displaySalary Format(CDbl(salary), “#,##0.00”) End If Debug.Print displayName “: “ displaySalary rs.MoveNext Wend ‘ … 關(guān)閉記錄集和連接 … End Sub更安全的寫法使用Nz函數(shù)如果可用在Access VBA或某些庫中有一個非常方便的Nz()函數(shù)它可以將Null轉(zhuǎn)換為指定的默認值。在純Excel VBA中我們可以自己實現(xiàn)一個Function Nz(ByVal Value As Variant, Optional ByVal ValueIfNull As Variant “”) As Variant ‘ 模擬Access的Nz函數(shù) If IsNull(Value) Then Nz ValueIfNull Else Nz Value End If End Function ‘ 使用方式 salary Nz(rs.Fields(“Salary”).Value, 0) ‘ 如果為Null則返回0這個自定義的Nz函數(shù)能極大簡化代碼避免到處都是If IsNull(...) Then的判斷。3.4 場景四構(gòu)建健壯的自定義函數(shù)利用Error假設(shè)我們要寫一個查找函數(shù)當找不到時不返回0或空字符串這可能與有效數(shù)據(jù)沖突而是返回一個錯誤值。Function VLookupSafe(lookupValue As Variant, tableRange As Range, colIndex As Long) As Variant ‘ 增強版的VLOOKUP找不到時返回錯誤值#N/A而不是報錯 On Error Resume Next ‘ 屏蔽VLOOKUP本身的錯誤 Dim result As Variant result Application.WorksheetFunction.VLookup(lookupValue, tableRange, colIndex, False) If Err.Number 0 Then ‘ 如果出錯通常是找不到清除錯誤返回CVErr(2042)對應#N/A Err.Clear VLookupSafe CVErr(2042) Else VLookupSafe result End If On Error GoTo 0 End Function Sub TestLookup() Dim dataRange As Range Set dataRange ThisWorkbook.Worksheets(“LookupTable”).Range(“A:B”) Dim searchKey As String searchKey “SomeKey” Dim foundValue As Variant foundValue VLookupSafe(searchKey, dataRange, 2) If IsError(foundValue) Then If foundValue CVErr(2042) Then MsgBox “未找到關(guān)鍵字” searchKey Else MsgBox “查找過程中發(fā)生其他錯誤?!?End If Else MsgBox “找到的值為” foundValue End If End Sub技巧使用CVErr(2042)來模擬Excel內(nèi)置的#N/A錯誤這樣你的函數(shù)返回值可以與Excel原生函數(shù)的行為保持一致調(diào)用者也可以用IsError()和IsNA()在VBA中是WorksheetFunction.IsNA來統(tǒng)一處理。4. 混合場景與高級陷阱當它們同時出現(xiàn)時真實的代碼往往更復雜這些“空值”可能會在同一個邏輯流里交織出現(xiàn)。處理不當就會掉進深坑。4.1 陷阱一在集合或字典中查找可能為Null的鍵VBA的Scripting.Dictionary和Collection對象其鍵Key不能是Null。嘗試添加Null作為鍵會引發(fā)錯誤。Sub DictionaryWithNullKey() Dim dict As Object Set dict CreateObject(“Scripting.Dictionary”) Dim keyValue As Variant keyValue Null On Error Resume Next dict.Add keyValue, “SomeData” ‘ 這里會出錯 If Err.Number 0 Then Debug.Print “錯誤不能使用Null作為字典的鍵?!?End If On Error GoTo 0 ‘ 解決方案在添加前轉(zhuǎn)換Null dict.Add Nz(keyValue, “[NULL]”), “SomeData” ‘ 使用之前定義的Nz函數(shù) End Sub教訓任何要將值用作唯一標識符如字典的鍵、集合的查找依據(jù)的場景都必須先對值進行“清洗”將Null轉(zhuǎn)換為一個唯一的占位符如字符串”[NULL]”。4.2 陷阱二將對象、Empty、Null傳遞給可選參數(shù)VBA支持可選參數(shù)Optional并且可以指定默認值。但這里有個細微差別。Sub TestOptionalParam(Optional ByVal param As Variant Empty) Debug.Print “參數(shù)類型” VarType(param) “, IsEmpty: “ IsEmpty(param) End Sub Sub Caller() TestOptionalParam ‘ 不傳參param將是真正的Empty TestOptionalParam Null ‘ 顯式傳入Nullparam將是Null不是Empty TestOptionalParam Nothing ‘ 傳入Nothingparam是一個包含Nothing的VariantVarType為9(vbObject) End Sub如果你在函數(shù)內(nèi)部期待一個Empty值作為“未提供參數(shù)”的標志那么調(diào)用者顯式傳入Null就會破壞這個邏輯。更安全的做法是使用IsMissing關(guān)鍵字僅對Variant類型且未指定默認值的參數(shù)有效或定義一個特殊常量來標識“未提供”。Sub SaferOptional(Optional ByVal param As Variant) If IsMissing(param) Then Debug.Print “參數(shù)未提供” ElseIf IsNull(param) Then Debug.Print “參數(shù)被顯式指定為Null” Else Debug.Print “參數(shù)值為” param End If End Sub4.3 陷阱三在數(shù)組和用戶自定義類型Type中數(shù)組元素和用戶自定義類型的字段其“空”狀態(tài)取決于它們的數(shù)據(jù)類型。Variant數(shù)組每個元素初始為Empty。對象數(shù)組每個元素初始為Nothing。數(shù)值/字符串數(shù)組每個元素初始為該類型的默認值0、””等。用戶自定義類型數(shù)值字段為0字符串字段為””對象字段為NothingVariant字段為Empty。這里沒有Null的默認位置除非你顯式賦值。但當你從數(shù)據(jù)庫讀取一整條記錄到一個Variant數(shù)組時數(shù)據(jù)庫中的Null值會被保留到數(shù)組的對應元素中。Sub ArrayWithNull() Dim dataFromDB As Variant ‘ 假設(shè)rs.GetRows返回的記錄集中有Null dataFromDB rs.GetRows Dim i As Long For i LBound(dataFromDB, 2) To UBound(dataFromDB, 2) If IsNull(dataFromDB(0, i)) Then ‘ 檢查第一列是否為Null ‘ 處理Null值 dataFromDB(0, i) “[NULL]” End If Next i End Sub5. 調(diào)試與排查如何快速定位“空值”相關(guān)錯誤當程序因為空值問題崩潰或行為異常時如何快速定位以下是我常用的調(diào)試流程和技巧。5.1 錯誤“91”對象變量未設(shè)置這是最經(jīng)典的空值錯誤。排查步驟定位出錯行啟用“發(fā)生錯誤則中斷”的調(diào)試模式VBE中工具 - 選項 - 通用 - 錯誤捕獲 - 遇到未處理的錯誤時中斷。檢查對象變量將鼠標懸停在出錯行涉及的所有對象變量上查看提示是否為“Nothing”?;厮葙x值路徑檢查該對象變量在何處被Set。常見原因?qū)ο髣?chuàng)建失敗如Set ws Worksheets(“不存在的表”)。對象已被釋放或關(guān)閉如記錄集rs在調(diào)用.Close后未置為Nothing但后續(xù)又誤用。邏輯分支遺漏在If或Select Case的某個分支里忘記Set對象。使用立即窗口在中斷模式下在立即窗口輸入?objVar Is Nothing來快速驗證。5.2 邏輯錯誤判斷條件失效程序沒報錯但結(jié)果不對往往是Null或Empty的判斷邏輯出了問題?!?有問題的代碼 If rs.Fields(“Amount”).Value 0 Then ‘ 如果Amount字段在數(shù)據(jù)庫中是Null這個條件會得到Null在If中相當于False導致邏輯跳過。 ‘ 本意是想排除0值結(jié)果連Null也排除了。 End If ‘ 正確的代碼 Dim amountVal As Variant amountVal rs.Fields(“Amount”).Value If Not IsNull(amountVal) Then If amountVal 0 Then ‘ … 處理非零且非Null的值 … End If End If調(diào)試技巧在懷疑的判斷語句前使用Debug.Print輸出關(guān)鍵變量的值和類型。Debug.Print “amountVal: “; amountVal; “, Type: “; VarType(amountVal); “, IsNull: “; IsNull(amountVal)VarType函數(shù)會返回一個數(shù)字如0表示Empty1表示Null8表示字符串等等這是判斷變量當前子類型最直接的方法。5.3 數(shù)據(jù)傳遞錯誤函數(shù)返回值異常自定義函數(shù)返回了意想不到的Empty、Null或Error。檢查所有退出路徑確保函數(shù)在所有可能的邏輯分支包括If...Else、Select Case、錯誤處理Exit Function中都對返回值進行了賦值。初始化返回值在函數(shù)開頭將返回變量設(shè)為一個明確的初始值如0、””或Empty這是一個好習慣。使用類型更嚴格的返回值如果函數(shù)邏輯上不可能返回Null或Error考慮將返回類型聲明為具體的類型如Double、String而不是Variant。這樣VBA會在返回時進行類型檢查有時能提前發(fā)現(xiàn)問題。但要注意如果函數(shù)內(nèi)部計算可能產(chǎn)生Null賦給一個String變量會導致類型不匹配錯誤。6. 性能與最佳實踐寫出更健壯的代碼理解了概念避開了陷阱最后我們聊聊如何從代碼設(shè)計和習慣上根本性地減少空值帶來的煩惱。6.1 變量聲明與初始化策略對象變量聲明時即為Nothing。在使用前養(yǎng)成先判斷再使用的習慣。對于可能為Nothing的傳入?yún)?shù)在過程開頭進行防御性檢查。Variant變量如果用于接收可能為Null或Empty的外部數(shù)據(jù)如單元格值、數(shù)據(jù)庫字段保持為Variant類型。如果用于內(nèi)部計算應盡早轉(zhuǎn)換為具體類型并處理空值。‘ 好的做法 Dim rawInput As Variant rawInput Range(“A1”).Value Dim processedValue As Double If IsNumeric(rawInput) Then ‘ IsNumeric對Empty返回True視為0對Null返回False processedValue CDbl(rawInput) Else processedValue 0 ‘ 或根據(jù)業(yè)務(wù)邏輯處理 End If ‘ 后續(xù)計算全部使用processedValue它是確定性的Double類型。具體類型變量String, Long, Double等它們沒有Empty或Null狀態(tài)。如果你嘗試將Null賦給它們會得到“無效使用Null”的錯誤。因此從可能為Null的源如數(shù)據(jù)庫賦值時必須用IsNull保護。6.2 函數(shù)與API設(shè)計建議明確契約在函數(shù)注釋中清晰說明參數(shù)是否可以接受Nothing/Null/Empty以及返回值在何種情況下會是這些特殊值。優(yōu)先返回具體類型如果可能讓函數(shù)返回具體類型而非Variant。調(diào)用者無需擔心Null或Error。如果確實需要表示“未找到”或“錯誤”可以考慮其他模式返回一個布爾值表示成功/失敗并通過ByRef參數(shù)返回結(jié)果。返回一個自定義的包含狀態(tài)和結(jié)果的類實例。錯誤處理對于不可恢復的錯誤使用Err.Raise主動拋出錯誤。對于可預見的、作為正常業(yè)務(wù)邏輯一部分的“未找到”等情況返回一個特定的Error值如CVErr(2042)或一個特殊常量如vbNullString比返回Null或Empty更明確因為后兩者的含義可能模糊。6.3 代碼可讀性技巧使用有意義的常量或函數(shù)包裝不要到處寫If IsNull(...)。可以定義像之前Nz()那樣的工具函數(shù)或者定義模塊級常量。Public Const NOT_FOUND As String “#NOT_FOUND#” Function GetEmployeeName(ByVal id As Long) As String ‘ … 查找邏輯 … If Not Found Then GetEmployeeName NOT_FOUND Else GetEmployeeName nameFromDB End If End Function注釋說明特殊值對于可能返回Null或特定Error值的函數(shù)在函數(shù)頭部用注釋明確說明?!?函數(shù)CalculateBonus ‘ 參數(shù)sales – 銷售額Double類型 ‘ 返回值Variant。成功時返回獎金數(shù)額(Double) ‘ 如果銷售額為負數(shù)返回CVErr(2023)自定義錯誤表示無效輸入 ‘ 如果計算過程出現(xiàn)除零錯誤返回CVErr(11)。處理Nothing、Empty、Null和Error本質(zhì)上是在處理程序的“邊界情況”和“異常狀態(tài)”。把這些情況考慮周全你的VBA代碼的健壯性和可維護性會提升一個巨大的檔次。剛開始可能會覺得繁瑣但一旦形成肌肉記憶寫出穩(wěn)定可靠的代碼就是水到渠成的事。最關(guān)鍵的是不要再只用If var “”來判斷所有“空”了根據(jù)場景該用Is Nothing、IsEmpty還是IsNull心里得有桿秤。下次再遇到詭異的bug不妨先想想是不是哪個“空”在跟你玩捉迷藏。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97免费视频在线观看视频| 91老司机精品| 亚洲四虎熟女精品| 欧美性爱日韩高清| 色与欲影视| 我中文字幕6区 | 熟妇高潮精品一区二区三区下载| Julia在线播放亚洲久久| 欧美精品一区二区少妇免费A片 | 久久婷婷国产一区二区色| 成人精品一区二区91毛片不卡| 久久久久久十| 9丨久久九九九| 97玖玖人妻| 激情久久av一区av二区av| 婷婷伊人五月| 超清福利精品视频在线| 91亚洲综合| 骚鸭AV| 久草资源欧美在线视频| 99久久com免费视频′| 黄色网址在线免费观看| 人人贴人人摸| 乱操乱伦AV| 97超碰精品图片| 精品国产乱码久久久兰草影视| 国产夜夜艹| 99热66| 色伊人91| 激情啪啪拍91| 色久桃花影院在线观看| 男人天堂网址| 国产精品诱惑| 久久系列| 亚洲欧美不卡线| 亚洲区 欧美区| 色777999综合| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 好屌色综合| 国产在线视视频有精品| 天天综合网久久ww| 日韩啊V| 91N欧美| 天天做天天爱天天高潮| 97 国产精品| 国产色产精品在线观看| 久久久久久久九九九九九九| 亚洲黄色视频在线观看视频| 欧洲熟妇xxXx欧美老妇裸体| 蜜桃视频成a人v在线| AV中亚| 人人妻人人玩人人澡人人爽| 久热免费视频| 欧美黄色图片| 夜夜操美女| 婷婷综合视频| 久久婷婷色综合一区二区三区| 又摸又舔在线观看网站| 中文字幕十五区| 日韩资源网| 亚洲女人毛茸茸91| 欧美 亚洲 在线| 亚洲人成网站7777| 亚洲成人日韩小说| 五月婷婷爱六月丁香色| 麻豆区99999| 国产不卡中文字幕免费avi| 中文在线视频| 人人贴人人摸| 久色网| 水野优香在线观看| 欧美综合在线91| 久9综合在线| 探花视频免费观看国产专区| 十八禁成人网站在线观看| 欧美日韩性爱视屏免费看了| 亚洲天堂人妻一区二区| 中出20p| 日韩欧美亚欧在线视频| 亚卅熟女乱色| 蜜臀久久99精品| 超碰导航97| 国产精品人妻免费精品| 韩国三级理论在线| 欧美性暴力猛交XXXX | 天天流夜夜操| 日欧毛片久久| 不卡日本一区二区| 国产成人无码高清| 成人一区二区三区四区| 黄色在线网站| 97内射偷拍| 欧美综合色综合| 日本孕妇一区二区视频操逼免费看 | 日本男人天堂| 国产粉嫩出水在线播放| 久久久久久久78| 97免费视频在线| 狠狠色狠狠色狠狠五月| 精品久久久中文字幕不| 中文字幕人妻丝袜乱一区三区| 操逼天美3区| 亚洲人精| 少妇高潮九九九九| 美女尤物福利视频| 91美女视频直播| 欧美丝袜制服久久| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 男人的天堂kva| 久久性生大片免费观看性| 大香蕉九九| AV色五月| 偷窥自拍亚洲天堂网爆| 蜜臀久久99'精品久久久| 国产免费黄色一级大片| 青青草视频久久| 青青五月天| 手机在线看片免费人成视频| 操逼短片| 深夜国产一区二区三区在线看| 午夜呻吟欧美| 家庭乱伦国产| 大屁股国产在线视频| 国产强奸91| 久久综合日韩亚洲欧美| 日韩一级欧美一级国产一级台湾| 久久亚洲影院一区二区| 久久 精品| 五月天激情四射| 男人的天堂VA| 色情成人五月天| 岛国免费视频在线| 96免费视频在线| 人人贴人人摸| 天天综合,91入口| 午夜无码精品免费看性色| 91天天爱| 日本视频在线观看污污污| 天操老女人| 亚洲三区视频| q2午夜理论片夜色av| 亚欧Av| 另类小说欧美激情校园春色| 天天日美女的B| 太久视频| 亚洲成a人v欧美综合天堂下载 | 操逼操逼操| 啪啪视频mP4| 乱抡国产91| 日韩中文字幕2020| 操人无码| 操www| 天天躁狠狠躁av| 欧美极度丰满熟妇hd| 97国产|免费| 久久久亚洲精品电影免费看| 国产精品久久99日日| 大香蕉92| 国产伊人自拍| 破苞ⅩXXX性无码动漫无码| 99国产女人| 大香蕉中文aV在线| 五月天社区| 大香蕉视频一二三区| 97在线亚洲| 91狠| 5278欧美一区二区三区| 丝袜人妻av一区二区| 亚洲97网站| 欧美男人一区| 强奸乱伦Av网| 九九九精品成人免费视频小说| 亚洲的天堂网| 97AV爱| 9l视频自拍9l九色成人| 最新啪啪视频| 久操凹凸视频| 丝袜亚洲综合| 日本 情色 1区2区3区| 中文一区二区婷婷视频| 欧美综合97www| 亚洲黄色a级片| 久久午夜鲁丝片| 人妻精品一区二区三区| 日本97久久| 超碰综合色| 91neishe| 色性欧美| 亚洲欧美精品一区天堂久久 | 丁香五月天婷婷姐| www.色五月| A V视频日本| 人妻铁牛TV| 欧美色图20P| 夜夜免费视频| 涩涩久久精品| 精品无码一二三四区| 91亚洲青青草原精品1区| 精品成人av一区二区三区在线| 久久久久人妻二区精品叶可怜| 亚洲欧美91| 中文字幕一二三av| 欧美,日韩,中文,另类| 天天天天天超碰| 91在线免费观看处女| 99热这里只有精品8| 国内自拍 日韩激情 99| 看一级黄色视频| 国产精品久久久久久片| 国产真实野战在线视频| 久干9操| 国产亚洲精品美女久久久久久2021| 69国产对白刺激| 牛牛AV人人夜夜澡人人爽| 嗯嗯啊啊操我| 操b在线观看| 精品人妻中文字幕高清| 亚洲伊人久久综合97| 久久这里只有精品9| 色色97爱| 欧美 精品国产制服第一页 | 天天享受天天看| 国产一级久久久| 日韩欧美丝袜诱惑| 91女优在线观看 | 天天日天天射天天干| 97干com| 97视频620| 日韩国产十八禁| AV中文字幕剧情1区2区3| 亚洲综合69| 日韩有码回春沙龙第一页| 五月天亚洲网| 国产偷拍网站| 爱媛媛久久国产福利| 人人操av| 亚洲色图国产另类| 91欧美www| 亚洲AV麻豆Aⅴ无码电影一| 亚洲欧美国产中文视频| 九九综合久久| 熟妇亚洲一区二区三区| 青草地一本线一区二区三区| 欧洲亚洲国产综合在线| 色情五月综合婷婷| 欧美日韩黄色片一区二区三区四区人与兽做爱| 日韩美女高潮喷水视频| 啊啊啊啊好爽好舒服一区二区易域| 日韩成人高清一区二区| 91人妻中文| 亚洲成人碰碰| 青青操在线视频| av网站在线看| 国产av美女被艹的乱叫| 亚洲城人男人的天堂| 欧美传媒一区| 操国产高清| 欧美色图私拍91| 一本色道久久综合熟妇| av网站国产主播在线| 天天视频综合在线观看视频| 中文字幕精品丝袜| 日本久久久久久久久久| 免费av在线播放二区| 日本午夜精品理论片A级APP发布| 密臀在线免费观看| 亚洲男人天堂网| 亚洲欧洲国产综合av| 伊人色综合超碰| 骚货操死你| 国产女人与拘做受视频免费| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 五月天久久人妻| 尹人免费观看视频在线| 亚洲免费精品一区| 欧美 亚洲| 国产精品久久99日日| 爱欲AV| 午夜传煤十二区精品| 久久av一级av少妇av高潮| 98一区二区精品| 久久成人东京热人妻| 久久五月天婷婷丁香中文字幕| 男人夜色天堂ss| 97精品一区| 欧美色视频在线| 亚洲中文字幕乱码无码一区二区 | 久久婷婷精品| 97资源久久| 久热免费视频| 白丝AV| 色婷婷成人| 四虎av在线| 睡产熟女乱伦| 丰满熟女人妻一区二区三五十一路| 日韩美女啪啪一区| 欧美精品第四五页中文字幕在线观看| 黄色免费一级在线毛片| 蜜桃中文字日产乱幕4区| 欧洲在线性爱视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 操一操摸一摸| 中文字幕丝袜人妻| 老司机射| 中文字幕av片| 国产在线精品偷| 91亚洲黄色网| 淫淫总合网| 日韩欧美亚洲自拍偷拍| 青青草玖玖爱| 中文字幕在线24| 亚洲欧美电影| 久久国产精品熟女人妻| 看日韩操逼| 极品出轨视频网站| 偷拍亚洲高清图片| 国产精品黄色三级av| 91欧美性| 亚洲丁香花色| 午夜成人爽爽爽爽A片李冰冰| 欧亚综合一卡二卡中文字幕| 狠狠操,使劲操| 极品后入免费视频| www网站黄| 酒色综合网| 欧洲Au麻豆| 欧美国产精品| 中文字幕一区二区三区人妻不卡| 91狠| 亚洲国产高清福利视频| 无码国产精品96久久久久孕妇| 国产精品亚洲四五区在线观看| 为用户提供免费看黄网址在线观看| 亚洲综合图片在线| 艹我哪美一区无码| 亚洲精品无码成人久久久99| 性综合网| 激情婷婷丁香网| 鲁鲁色综合网| 爆操无码| se吧提供91精品国产91久久久久久| 亚洲图片 激情小说| 中文字幕在线高清男人的天堂| 啊啊啊草死我| 久久超碰av在线| 国产久久一区二区午夜| 国产黄片在线免费观看| 日日夜夜免费| 九九热只有精品| 欧美性暴力猛交XXXX | 久久伊人五月天| 中文字幕第9页萱萱影音先锋| 亚洲综合射| 视频二区美腿丝袜制服人妻欧美 | 日日夜夜草草草| 亚洲无码色| 综合免费无码中文| 免费国产电影一区二区| 亚洲有码视频二区| 91色综合色| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 91精品久久久| 中文字幕国产在线天堂| 国产久久天堂资源| 99热国产| 欧美丝袜美女电影一二三四区| 亚洲伊人久久精品狠狠在线| 男人的天堂2019AV| 五月天色图| 377p欧洲日本亚洲大胆| 日韩簧片免费看| 色噜噜狠狠色综无码久久合欧美| 日韩日韩日韩-国产乱码精品一区二区| 麻豆性爱视频在线播放| 97精品视频免费| 天美av在线观看| 五月激情天| 丰满人妻av一区二区三区| 欧美 日韩 亚洲 春色| 思思热国产高清| 国产精品美女| 亚洲 欧美 综合 91| 亚洲天堂人妻一区二区| 六月色色| 激情九月婷婷| 欧美激情综合| 99成人| 激情综合婷婷| 夜夜一区二区| 久久综合18p| 欧美熟妇乱码在线一区| 天天碰操中国年青熟妇| 久久久久国产| 一本一道久久综合久久| 免费男人的天堂| 欧美亚洲韩国视频十五区 | 骚妻少妇精品性色无码四色A V| 久久m| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久精品色欧美aⅴ一区二区| 综合国产影视三级| 国产精品无码av嫩草| 亚洲成人性| 天天色,天天干,天天干| 日操粉逼逼| 精品一二三区久久AAA片| 亚洲制服欧美另类内射| 欧美1727免费观看视频| 国产久久视频| 人妻天天爽| 97伊人超碰| 91狠狠综| 久久国内| 亚洲nv男人的天堂网| 亚洲情色婷婷五月天| 伊人成人情色综合| 亚洲影视高清第一页| 深喉吞精| 国产美女自拍AV| 大香网站| 丰满人妻一区二区三区四| 久久夜嗨| 外国91| 日本性爱欧美性爱| 色婷婷亚洲婷婷| 极品粉嫩一区二区| 草B在线| 一级毛片电影免费看| 91久久精品中文字幕| 9久久精品| av午夜玫瑰| 超碰在线成人电影| 亚洲国产精品9999在线观看 | 日韩无码服务区| 伊人天天久久动态图| 在线看片国产精品每日更新| 91美女在线精品视频| 热的中文 热的有码 热的国产| 久久久久久久97| 成人网站 免费观看| 少妇国产不卡| 后入合集| 乱伦系列一区二区| 91丰满| 亚洲日韩精品久久久久一区壹牛| AV九九| 爱妻综合网| 欧美岛国精品在线观看| 天天干人妇| 制服中出中文人人精品| a片在线播放| 九九热精品视频在线观看| 97视频在线视频| 欧美日韩插逼视频| 精品久一区免费| 97色操| 91强奸乱轮| 日韩天天本| AAAA级日本片免费视频| 天天综合91在线| 欧美草草高清日韩视频| 人人操人人操草草| 久日综合网| AV一区观看| 久久久久性熟视频| 久久久久亚洲Av无码专区老牛影视 | 狠狠色综合网| 婷婷性网| 久久伊人大香蕉| 91痴汉| 97任你吞精| 国产99999久久精品| 可以在线观看的黄色网址| 伊人青青一区成人视频在线观看区| 97国产精品一区二区传媒公司| 国内三级自拍小视频在线观看 | 亚洲一区二区三区AV无码 | av在线观看不卡网站| 欧美在线啊啊啊| 中文字幕精品免费一区二区| 亚洲射综合网| 亚洲色系另类精品国产| 久久人人爽av亚洲精品天堂桃色| 中文一区在线视频| 亚洲AV永久无码精品成人调教 | 天美av在线| 色色婷婷五月天| 久久一区二区蜜桃| 国产a级精品| 狠狠色伊人亚洲综合网站色| 91美女色视频亚洲| 日本日皮视频逼| 黄色成年| 东北夫妻性偷拍| 国产精品免费1区2区视频| 久久久久久久久久黄色网| 在线播放一级无码视频| 久欲AV| 天天爽天天干| 色色色日本| 色臀aV| 午夜丁香婷婷| 少妇高潮流水av免费| 91网站视频在线观看| 精品亚洲黄色片 国产精品导航一区二区 | 日韩精品电影| 精品久久99| 小说区 图片区色 综合区| 亚洲区限制级| 操逼操逼逼操操逼91| 无码二级三级| 欧美一二在线| 91久久久久久久| 色牛aV| 色老久久| 天堂日本亚洲欧美| 影音先锋国产精品| 日韩高清黄片| 加勒比99999| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | www.人人摸在线视频| 亚洲天堂另类美腿| 亚洲免费人妻在| 日韩欧美亚欧在线视频| 欧美瑟综合| 青青草啪啪网| 欧美淫穴| 国产日韩欧美三级片| 天天日天天操天天射河南省| 亚洲图片视频小说| 久干网| 老色69| 色色婷| 狠狠色狠狠色狠狠五月| 国产亚洲色婷婷久久99精品91 - 百度| 伊人午夜福利视频| 99精品伊人| 青娱乐av在线| 97中文超碰| 欧美视频在线视频免费va| 91成人高清在线观看| 亚洲色阁| 91美| 美女黄页网站| 抽插一区二区视频| AV色五月天| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 东北女人性交| 麻豆区久久久久亚| 国产精品在线一区二区| 九热中文字幕| 国产怡红院在线| 欧美高潮| 久湿久久 | 好湿好紧视频| 国产精品午夜福利| 亚洲国产精品久久久久婷婷老年| 殴洲老熟女| 麻豆国产第一| 精品久久九| 久久夜夜夜| 人妻 制服 日韩 中文 在线| 亚洲免费97免费| 欧美日韩大陆黑人少妇99| 欧美狠狠弄| 久久综合精品一区二区三区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 在线观看亚洲专区| 玖玖爱免费观看视频| 无码高清专| 国产在线精品偷| 欧美成人性爱视频大全| 超碰av在线| 日本超碰在线国产一区| 超碰亚洲97| 色爱欲亚洲| 日韩电影天堂视频二区三区| 97爱啪| 尤物AV免费网站| 国内精品99999| 中文字幕福利视频一区二区三区在线观看| 欧美性高潮在线| 成人怡红院| 亚洲婷婷综合网| 自怕偷自怕亚洲精品| 一起草日韩| 人人扣人人操| 97国产精品国| 久久视频少妇美女| 国产精品久久久久久久久久久久久久| 少妇久久| 手机在线视频国内精品| 日本3级一区二区免费| 黑操B| 美女黑人91神马| 天天影视综合色| 大香蕉伊人网| 色色香蕉| 九九热九九热| WWW美腿丝袜香蕉中文| 97干在线视频| 天堂俺去俺来也www久久婷婷| 免费看久久久性性| 亚洲综合码| 欧美激情一| 秋霞Av理论一级在线| 视频在线观看免费一区二区三区| 天天插天天插| 97精品国产精品免费观看| 日本幼女18+| 国产久久成人| 屌逼麻豆| 亚洲影视第一页| 青娱乐淫乱1314| 91|九色|国产熟女| 99www.bibizy香蕉资源国产一区二区三区高清 | 99re69| 亚洲熟女人妻中文字幕一区二区| 91精品久久久| 久无码| 精品无人区麻豆乱码1区2区图片 | 激情五月婷婷| 久久精品一区二区三区蜜桃臀| 欧美性爽xyxOOOO| 欧美婷婷五月天| 激情人妻另类| 国产精品亚洲无码| 国产老熟女| 丰满人妻-区二区三区| 福利风月五月天影院| 91色伦| 国产亚洲精品农村妇女| aaa淫乱视频| 加勒比综合| 日产狠狠干| 97在线日韩中文字幕| 乱伦图av| 日韩操呦呦影院在线观看| 日韩免费a级毛片无码a∨| 99操| 噜噜噜噜久久久精品免费| 亚洲黄色a级片| av久日| 亚洲欧美自拍偷拍| 加勒比av中文| 欧美性爱91| 久久只有精品一区二区三区| 日韩日本欧美在线观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 国产精品久久久三级无码| 欧美激情色婷婷花野真衣一区二区| 男女啪啪啪18禁网站| 亚洲欧洲视频小说在线观看| 中欧人妻丝袜中文字幕| 亚洲情色五月天| 懂色Av| 日本三级人妻a人妻一在线| 91狠狠| 97欧美精品综合| 亚洲成人精品在线一区| 97超碰逼| 亚洲国产精品无码AV在线| 97精品国产精品免费观看| 天天色,天天干,天天干| 激情婷婷丁香| 99色色网| 亚洲97| 狠狠操一区二区| 手机在线播放国产福利| 亚洲激情深爱文学小说网站| 大香蕉久操| 97国产人人| 欧美 日韩 国产传媒| 日本欧美一区二区三区免费| 久久97视频| 素人美腿视频网站| 午夜AV人气不卡| 欧美综合色| 色av中文字| 国产精品露脸在线观看| 天天躁夜夜躁狠狠躁AV| 婷婷五月天福利| 午夜性生活av免费在线看| 伊人久久大香线综合无码| av在线免费一区二区| 91操熟女视频| 综合亚洲情色| 天堂8在线新版官网| 大香蕉综合网| 成熟熟女国产精品一区二区| 丁香九月激情| 亚洲国产精品V?在线播放| 97视频新免费| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 啊啊啊啊,啊啊好多水| 日韩欧美女优电影| a v网站在线播放| 亚洲无992tv| 欧美线天码中字| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 天欧美在线| 成人影 天天操 亚洲| 黑人无码一区二区| 免费精品国偷自产在线在线| 热热色青青草| 久久久久ab| 26uuu欧美| 欧美人妻久久精品二区三区| 玖草在线视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 18精品一区| 久久久夜夜嗨免费视频| 999精品国产高清一区二区| 亚洲国产天堂| 国产91专区| 国产青视频| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 91被操| 男女啊啊啊啊啊| av久日| 99热免费精品| 国产视频三区四区| 99视频只有精品| 欧美成人黄网色网站| 国产成人精品必看| 女性喷水高潮在线观看| 亚洲色图A| 深夜激情| 新怡红院| 久久久一区二区三区麻豆| 婷婷九月国产| 中文子幕一二三| 动漫av中文| 亚热日本熟女| 九九九九精品一区| 二三四区精品| 99热日| 97超碰超欧美。| 国产1727欧美| 天天综合麻豆视频| 久久精品99久久久久久| 久久久一区二区| 欧美一品道| 精品少妇人妻一区二区三区| 亚洲综合色在线| 中文字幕精品专区搜索结果91| 亚精品无码毛片一区二区三区| 99热aaa| 日韩欧亚中文在线| 欧美成人国产精品| 激情婷婷丁香网| 美女91网| 天天综合97| 四虎国产精品永久在线囯在线 | 五月天婷婷久久| 亚洲熟妇极品| 在线综合 亚洲 欧美中文字幕| 色女综合| 亚洲天堂日本| 男人天堂导航| 国产精品自拍视频| 久久久精品91八戒| 一,爱啪啪,在线免费视频| 天天做日日爱夜夜爽| 91丨九色丨大屁股| 北京专精特新企业招聘信息| 久久久久久久久久久999| 97爱碰| 男人的天堂99| yaouchengrenav| 亚洲成a人片在线观看中文!!!| 欧美精品1区2区3区| 发朗少妇买婬全视频中文| 亚洲精品蜜桃久久久一区二区三区| 影音综合网| 97av,com| 97综合久久| 多毛小伙内射老太婆 | 亚洲中文字幕熟女少妇一区二区| 国产毛片片精品天天看视频| 91久久精品中文字幕| 天天日天天插| av72网| 九色黄站| 黄色视频特级毛片| 欧美少妇一区二区三区| 熟女熟妇伦久久影院毛片一区二区| 色香av| 欧美色性爱| 97人肏| 国产精品乱码久久久久久| 97综合国产| 一,爱啪啪,在线免费视频| 超碰超碰欧美| 后入福利| 7777奇米影视久久| 亚洲超碰在线| 天天综合欧美综合| 亚洲久草AV色图| 国产精品4p在线观看| 中国AAAAAA黄色片| 爱射综合| 91精品国产乱码| 免费视频一二三区| 人妻aa| 麻豆国产原创AV色哟哟| 校园春色AV天堂| 岛国免费黄色网址| 日韩欧美成人大香蕉| 亚洲91射| 粉嫩粉嫩一区性色AV片| 麻豆九九九| 欧美78P| 国产树林里野战在线看| 欧美一级欧美三级在线观看| 久久蜜桃一区二区| 岛国视频一二三区| 91欧美长吊| 一区二区三区麻豆| 国产综合操逼高清| 青操影院| 精品亚洲一区在线观看| 伊人综合色网| 97在线/亚洲| 亚洲一区二区精品福利| 丝袜喷水在线| 免费观看日本操逼视频| 久久久夜夜嗨免费视频| 性感美女啊啊啊在线| AV网站高清无码在线观看| 欧美最婬乱婬爆婬性视频 | 国产精品宅男免费| 天天射夜夜| 欧美精品久久久久久久丰满| 极品五月天噜噜| 久久有码视频| 亚洲五月婷| 欧美色图在线视频少妇| 在线人人人人人人精品超| 国产午夜视频| 多毛小伙内射老太婆| 性爱AV天堂| 亚洲āv网址在线观看| 欧美色图亚洲色图成人在在线| 色淫网站优优视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 狠狠狠狠狠狠| #NAME?| 亚洲一本色道中文无码aV天美| 又大又白奶子| 人人妻人人玩人人澡人人爽| 日韩三级视频一区二区三区| 91美女视频。| 久久久精品国产亚洲伊人| 中文字幕无码不卡啪啪| 女人爽到高潮潮喷18禁网站| 91精品久久久久| 99热精品在线| 蜜臀久久99精品久久久久久无删减 | 淫乱图区 | 99色在线| 久久久久99999| 插入综合网| 免费1级a做爰片观看| 好看的91视频| 亚洲精品中文字幕一区在线视频| 国产精品乱码久久久久久久久| 91/欧美| 翔田千里爆乳巨臀无码| 999 久久久| 五月天社区| 亚洲欧美日韩二区视频| 国产绿奴视频在线观看| 亚洲中字幕日本一区二区三区| k频道色撸撸| 久久熟女人| 1区2区3区中文字幕日韩| 国产久久日| 亚欧美色图| 97免费视频在线观看| 国内精品嫩模A∨私拍小视频| 97精品一区二区视频| 国产精品免费日韩| 粉嫩国产精品久久粉嫩| 330dv亚洲成年视频网| 中文字幕精品亚洲熟女| 91制服丝袜| 2017av无码免费无线播| 六月丁香啪啪| 少妇人妻精品| 欧美激情综合网| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 青青草影视蜜久久| 欧美92| 国产一区免费午夜视频| 色噜噜狠狠色综合日日| 欧美gv在线观看| 日日干夜夜骑| 亚洲综合网图| 91人人臊| 亚洲字幕一区二区| 国产精品 视频| 国产视频第2页| 六六久久日韩不卡| 久久久久久日韩| 国产精品白领在线观看| 欧美热图99| 91伊人大香蕉| 天天操天天射青青草| 欧亚乱色熟女一区二区| 精品蜜乳AV免费观看| 大香蕉中文201| 91路www| 欧美熟妇精品黑人巨大一二三区| 免费A V在线播放| 国产高清精品一区二区三区毛片| 91网站18禁| 一本色道久久综合熟妇| 亚洲熟女乱熟乱熟妇综合网二区| av大香蕉| 丁香婷婷九月| 日韩性爱电影一区| 色综合V| 亚洲视频中文一区| 大香交| 死我十八禁| 日韩 女同 综合| 99国产精品免费| 久久av网| 天综合网| 色噜噜国产在线| 久久久九97| 人妻AV在线| 久草大| 国产成人精品无码久久| 在线αⅴ| 天天射天天操天天干天天吃2018 | 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日韩情色一区二区| 午夜福利 成人 91| 夜夜春夜夜操| 国产成人精品一区| 蜜臀一二三区| 97久久超碰国产精品| 夜夜夜夜爽| 另类老少妇| 国产日韩欧美| 天天色怡春院| 视频黄站| 精品综合久久久久久97| 亚洲图片偷拍欧美| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 欧美性高潮在线| 美女爽到高潮91| 亚洲图片91| 亚洲AV色图| 亚洲97| 精品久久久久久中文字幕三区| 国产精品黑人一区二区三区| 一级性爱啪啪视频| 日韩一区二区三区四区五区| 国产精品久久久久中文字幕| 中国亚洲呦女专区| 丁香五月性爱| 久久色一区| 91爱看| 免费成人在线熟妇网| 亚洲玖玖爱| 啊啊啊在线观看| 思思热在线视频免费| 久久无码成人| 日本精品第一视频在'| 七久久久| 欧美午夜视频| 蜜桃臀久久| 狠狠爱综合网| 亚洲AV无码AV吞精久久久久| 激情接吻视频久久久久久| 色性综合| 久久久久9999精品九九九| 婷婷激情丁香| 久久国产AⅤ| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 99热综合| 看黑丝美女操逼青青网站| 日本精品九九九| 色原狠狠天天天| 91性片| www.av在线视频| 99热免费| 日韩 欧美 校园一区| 天堂涩涩| 蜜臀久久99精品久久久久久| 再深点灬舒服灬太大了添视频| 午夜丁香| 麻豆性爱视频在线播放 | 香蕉久久国产AV一区二区| 偷窥自拍亚洲色图| 欧美综合狠| 欧美gv在线观看| www成人啪啪18秘 免费| 强上我不卡卡| 91色插| 国产日韩区| 熟女啪啪视频| 精品制服美女中文一区二区三区| 伊人一级免费黄片| 玖玖在线视频| 福利天堂| 久久草草亚洲蜜桃臀| 日本三级韩国三级99| 男人天堂综合| 午夜性生活av免费在线看| 香蕉久久国产AV一区二区| 天天碰操中国年青熟妇| 美女诱惑一区| 五月丁香啪啪网| 午夜福利区| 欧美Ⅴ性爱| 久久,精品一二三| 色五月激情AV在线| www.99中文字幕| 台湾大香蕉99热| 久久久久久性爱免费视频| 欧美黄片视频在线观看免费 | 内射小黄片| 亚洲熟女乱色| 99精品九九九九九九| 欧美疯狂做爰xxxx| 久久久九九| 免费国产电影一区二区| 91大神电影天堂| 国产精品久久久| 大香蕉啪啪网| 亚洲性高潮| 日本 欧美 国产一区| 亚州色图片在线色| 国产美女裸体秘 永久无遮挡| av九九| 自拍啪啪视频| 激情五月婷婷| 最新制服中文第一页| 操逼逼无码| 日本免费二区三区| 最新国产精品久久精品| 老女人91| 操逼日韩无码 | 欧美99热| 超碰诱惑| 91久久国产综合久久| 一本久道久久综合狠狠爱一密臀精| 色色婷婷丁香| …亚洲黄色厕厕女女在线播…| 久久五月天婷婷| 婷婷色香伊人| 欧美最婬乱婬爆婬性视频| 欧美人妻少妇| 欧美性爱一内片一区二区三区| 欧美大波激情xxxx| 天天舔九色婷婷| 亚一综合久久久久久久久久| 综合97久久| 在线强奷到舒服的无码视频| 亚洲天在线| 东北夫妻性偷拍| 亲子敌伦对白在线播放| 丁香五月天久久精品视频一区二区三区| 国产欧美日韩一区二区三区| 久久久111| 婷婷综合五月| 亚洲AV麻豆Aⅴ无码电影一| 色综合久久久久| 亚洲欧美日韩偷拍色图| 97精品97| 手机在线中文字幕国产| 色情婷婷久久五月天| 免费观看的av| 国产传媒午夜理伦精品| 欧美色图 人妻| 五月丁香久久| 激情黄色片在线观看| 亚洲第91页| 亚洲激情网| 四虎国产精品永久入口| 青青草玖玖爱| 麻豆人妻精品一区二区| 91精品久久久久五月天精品| 2017超碰| 日本天天人人狠狠在线日美女 | 大色网久久| 亚洲天堂另类小说男人| 亚洲一卡2卡3卡4卡乱码网站| 射丝袜大香蕉| 久久天天性久久伊人| 日韩精品黄片免费观看| 日日超碰亚洲| 亚洲欧美在线综合| 丰满翘臀美女影院视频| 中文字幕av亚洲在线| 亚洲欧美另类小说| 91亚洲欧美综合高清在线| 在线天堂999| 玖玖爱免费观看视频| 最新日本中文字幕| 人妻另类| 伦在线97| 99色色| 国产精品岛国片在线观看| 三男一女不戴套的A片| AV男人天堂网| 青青草乱入乱欲视频在线观看| 亚洲一区二区麻豆影院| 日韩欧美aⅴ综合网站发布| 日产狠狠干| 天天欧美| 国产精品粉嫩福利在线| 按摩中文字幕| 黑丝少妇在线观看| 黄色一级视| 国产美女销魂在线观看不卡| 极品出轨视频网站| 午夜无码熟妇丰满人妻| 骚逼一区二区| 裸体美女国产免费久久久网站| av天堂手机版追回| 亚洲欧洲精品视频发布| 亚洲中文丝袜美腿诱惑字幕| 欧美熟女逼久久久久久| 日日干男人的天堂| 国产精品高潮久久AV| 日本超碰在线国产一区| 五月大香蕉| 99热伊人| 熟妇xxxxx性春色| 成人五月天丁香激情综合| 人人妻人人爱人人玩| 国产久久久| 91精品91久久久久77777| 日韩高清一二三| 色偷偷人人玩人人舔人人操人人摸人人爽| 欧美久久草熟女| 五月天丁香网| 婷婷中文字幕| 五月激情在线| 亚洲综合一区二区| 免费在线观看AV无码网站| 欧美性爱在线无码| 婷婷丁香五月激情啪啪| 乱伦图av| 色噜噜人妻丝袜a∨先锋影 | 免费看A片毛毛片在线播| 不卡中文字幕aⅴ在线| 妇女性内射冈站HDWWWCOM| 国产黄色在线播放观看| 91精品国产91久久福利| 国产传媒午夜理伦精品| 欧美十八禁导航成人| 肉嘟嘟www视频在线观看高清| 激情五月天插| 色情乱伦AV|