以區分大小寫的順序排序記錄

附註: 我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為英文文章出處,以供參考。

Microsoft Office Access 2007排序以遞增或遞減順序花費的大小寫的記錄。 不過,以撰寫幾行程式的 Visual Basic for Applications (VBA) 程式碼,您可以由其 ASCII 字元值排序文字。 根據 ASCII 值排序時,其下方大寫字母具有從小寫字母,以區分大小寫的順序的結果。

下表為您示範如何在 Access 中的遞增排序順序與區分大小寫的排序順序:

預先排序順序

以遞增順序

區分大小寫 orde r

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

雖然 [遞增順序] 欄中的結果可能的第一個出現有點預期,他們無法。 在 [遞增順序] 欄中,「 」 便會出現才"A"和"B"會出現之前"b"。 這是因為評估為文字值,"A"時,= 「 」 和"B"="b,"是否大寫或小寫。 Access 會考慮值的原始的順序。 在預先排序順序] 欄中,「 「 之前"A"和"B"之前"b"。

執行區分大小寫的排序作業時,文字值所取代其 ASCII 值。 例如,A = 65,= 97、 B = 66,b = 98,依此類推。

撰寫 VBA 程式碼

  1. 建立在 VBA 模組,並在 [宣告] 區段中,輸入下列命令,如果找不到已經:

Option Explicit

  1. 在 Visual Basic 編輯器] 中的模組中輸入下列程序:

    Function StrToHex (S As Variant) As Variant
    '
    ' Converts a string to a series of hexadecimal digits.
    ' For example, StrToHex(Chr(9) & "A~") returns 09417E.
    '
    Dim Temp As String, I As Integer
    If VarType(S) <> 8 Then
    StrToHex = S
    Else
    Temp = ""
    For I = 1 To Len(S)
    Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00")
    Next I
    StrToHex = Temp
    End If
    End Function

    前面使用者定義的函數,StrToHex,可從查詢。 當您傳遞排序欄位的名稱,此函數時,其會排序欄位中的值區分大小寫的順序。

  2. 現在,建立的查詢,您將會從呼叫此函數。

    [建立] 索引標籤的 [其他] 群組中,按一下 [查詢設計]

  3. 在 [顯示資料表] 對話方塊中,按一下您想要排序的表格,然後按一下 [新增]。

  4. 將您要的欄位拖曳至格線。

  5. 在第一個空白欄中,在 [欄位] 資料列中輸入Expr1: StrToHex([SortField])

    StrToHex 是您先前建立的使用者定義的函數。 SortField 是區分大小寫的值的欄位的名稱。

  6. 排序的儲存格,按一下 [遞增] 或 [遞減]。

    如果您選擇遞增順序,以大寫字母的值開頭會出現之前的大小寫字母的開頭。 套用遞減順序排序會相反。

  7. 切換至 [資料工作表檢視。

    Access 會顯示的記錄,以區分大小寫的順序排序。

頁面頂端

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×