共用方式為


依區分大小寫 (ASCII) 順序排序記錄

存取會以遞增或遞減順序排序記錄,而不考慮大小寫。 不過,您可以在查詢中使用使用者定義的函數,以便按照資料的 ASCII 字元值來排序文字資料,藉此產生區分大小寫的順序。 這會導致區分大小寫的順序。

下表示范 Access 中的遞增順序與區分大小寫的順序有何不同。

排序前順序 昇冪 區分大小寫的順序
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」 會出現在 「A」 之前,而 「B」 會出現在 「b」 之前。這是因為當評估為文字值時,「A」 = 「a」 和 「B」 = 「b」,不論是小寫或大寫。 Access 會考慮所有值原來的順序,在 [預先排序的順序] 資料行中,a 會在 A 之前,而且 B 會在 b 之前。

[預先排序次序] 資料行 中,「a」 在 「A」 前面,而 「B」 在 「b」 之前。

執行區分大小寫的排序作業時,文字值會取代為其 ASCII 值。 例如,A = 65、a = 97、B = 66、b = 98 等等。

以下使用者定義的函數可用於依區分大小寫的順序來排序資料。

Function StrToHex(S As Variant) As Variant 
 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 函式

前置的使用者定義函數 StrToHex 可以從查詢中進行呼叫。 將排序欄位的名稱傳遞給此函數時,函數會按照區分大小寫的順序來排序欄位值。 以下步驟會說明如何使用此函數。

  1. 建立您要從中呼叫此函式的查詢。

  2. 在 [ 顯示資料表 ] 對話方塊中,選取您要排序的資料表,然後選取 [ 新增]

  3. 將您要的欄位拖曳至方格。

  4. 在第一個空白資料行的 [欄位] 資料列中,輸入 Expr1: StrToHex ([ SortField ]) 。 StrToHex 是您稍早建立的使用者定義函式。 StrToHex 是指之前建立的使用者定義函數,SortField 是欄位的名稱,該欄位包含區分大小寫的值。

  5. 在 [ 排序] 儲存格中,選取 [遞增 ] 或 [ 遞減]。 如果您選擇遞增順序,以大寫字母開頭的值會出現在以小寫字母開頭的值之前。 如果選擇遞增的順序,以大寫字母開頭的值便會出現在以小寫字母開頭的值前面,而套用遞減順序的排序則剛好相反。

  6. 切換至 [資料工作表檢視]。 Access 會顯示記錄,並以區分大小寫的順序排序。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應