<pre id="p1prn"><ruby id="p1prn"><b id="p1prn"></b></ruby></pre>
<pre id="p1prn"><ruby id="p1prn"><b id="p1prn"></b></ruby></pre>
<track id="p1prn"></track>

<pre id="p1prn"></pre>

<noframes id="p1prn">
    <pre id="p1prn"><strike id="p1prn"></strike></pre>
      <p id="p1prn"><ruby id="p1prn"></ruby></p>
        <p id="p1prn"><pre id="p1prn"><b id="p1prn"></b></pre></p>
        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源碼網店

        常見問答:

        技術分類:

        相關資源:

        專欄作家

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