<track id="9vv7v"><strike id="9vv7v"><rp id="9vv7v"></rp></strike></track>
<pre id="9vv7v"></pre>
    
    

        
        

              <pre id="9vv7v"><strike id="9vv7v"></strike></pre>

              Access快速開發基礎教程
              網站公告
              ·Access專家課堂QQ群號:151711184    ·Access快速開發平臺下載地址及教程    ·歡迎加入Access專家課堂微信群!    ·如何快速搜索本站文章|示例|資料    
              您的位置: 首頁 > 技術文章 > Access數據庫-模塊/函數/VBA

              Microsoft Access (Var 和 VarP SQL)

              時 間:2022-08-13 08:54:54
              作 者:楊雪   ID:42182  城市:南京
              摘 要:適用于: Access 2013 | Access 2016

              返回以包含在查詢的指定字段內的一組值為總體樣本或總體樣本抽樣的方差的估計值。
              正 文:

              語   法:
              Var (expr)
              VarP (expr)

              expr 占位符代表一個字符串表達式(它標識了包含要計算的數值數據的字段)或表示使用該字段的數據執行計算的表達式。 expr 中的操作數可以包括表字段、常量或者函數(可以是固有函數或用戶定義的函數,但不能是其他 SQL 聚合函數)的名稱。

              備   注:
              VarP 函數計算樣本總體,Var 函數計算樣本總體抽樣。
              如果基礎查詢中包含了兩個以下個記錄,那么 Var 和 VarP 函數返回 Null 值,這表示無法計算方差。
              在 查詢表達式 或 SQL 語句中使用 Var 和 VarP 函數。

              示   例:
              以下示例使用 orders 表估算發往 United Kingdom 的訂單的運費的偏差。
              以下示例調用 EnumFields 過程,您可以在 Select 語句示例中找到該過程。

              Sub VarX() 
               
                  Dim dbs As Database, rst As Recordset 
               
                  ' 在你的電腦上修改這一行包含Northwind的路徑
                  Set dbs = OpenDatabase("Northwind.mdb") 
               
                  ' 訂單被運往英國,計算運費的方差  
                  Set rst = dbs.OpenRecordset("Select " _ 
                      & "Var(Freight) " _ 
                      & "AS [UK Freight Variance] " _ 
                      & "FROM orders Where ShipCountry = 'UK';") 
               
                  ' 填充記錄集 
                  rst.MoveLast 
                   
                  ' 調用 EnumFields 打印記錄集。 傳遞 Recordset 對象和所需字段寬度
                  EnumFields rst, 20 
                   
                  Debug.Print 
                   
                  Set rst = dbs.OpenRecordset("Select " _ 
                      & "VarP(Freight) " _ 
                      & "AS [UK Freight VarianceP] " _ 
                      & "FROM orders Where ShipCountry = 'UK';") 
               
                  ' 填充記錄集。 
                  rst.MoveLast 
                  EnumFields rst, 20 
               
                  dbs.Close 
               
              End Sub 
              Sub EnumFields(rst As Recordset, intFldLen As Integer) 
                   
                      Dim lngRecords As Long, lngFields As Long 
                      Dim lngRecCount As Long, lngFldCount As Long 
                      Dim strTitle As String, strTemp As String 
                   
                      ' 將 lngRecords 變量設置為記錄集中的記錄
                      lngRecords = rst.RecordCount 
                   
                      '將 lngFields 變量設置為記錄集中的字段。
                      lngFields = rst.Fields.Count 
                   
                      Debug.Print "There are " & lngRecords _ 
                          & " records containing " & lngFields _ 
                          & " fields in the recordset." 
                      Debug.Print 
                   
                      ' 形成一個字符串來打印列標題. 
                      strTitle = "Record  " 
                      For lngFldCount = 0 To lngFields - 1 
                          strTitle = strTitle _ 
                          & Left(rst.Fields(lngFldCount).Name _ 
                          & Space(intFldLen), intFldLen) 
                      Next lngFldCount     
                   
                      ' 打印列標題. 
                      Debug.Print strTitle 
                      Debug.Print 
                   
                      rst.MoveFirst 
                   
                      For lngRecCount = 0 To lngRecords - 1 
                          Debug.Print Right(Space(6) & _ 
                              Str(lngRecCount), 6) & "  "; 
                   
                          For lngFldCount = 0 To lngFields - 1 
                              ' 檢查空值. 
                              If IsNull(rst.Fields(lngFldCount)) Then 
                                  strTemp = "" 
                              Else 
                                  ' 將 strTemp 設置為字段內容.  
                                  Select Case _ 
                                      rst.Fields(lngFldCount).Type 
                                      Case 11 
                                          strTemp = "" 
                                      Case dbText, dbMemo 
                                          strTemp = _ 
                                              rst.Fields(lngFldCount) 
                                      Case Else 
                                          strTemp = _ 
                                              str(rst.Fields(lngFldCount)) 
                                  End Select 
                              End If 
                   
                              Debug.Print Left(strTemp _  
                                  & Space(intFldLen), intFldLen); 
                          Next lngFldCount 
                   
                          Debug.Print 
                   
                          rst.MoveNext 
                   
                      Next lngRecCount 
                   
                  End Sub


              Access軟件網QQ交流群 (群號:115180141)       Access源碼網店

              常見問答:

              技術分類:

              相關資源:

              專欄作家

              關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助