大文字と小文字を区別した順序でレコードを並べ替える

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Microsoft Office Access 2007 では、レコードは大文字と小文字の区別を問わずに昇順または降順で並べ替えられます。ただし、数行の Visual Basic for Applications (VBA) コードを作成すると、テキストを ASCII 文字の値で並べ替えることができます。ASCII 値に基づいて並べ替えると、大文字と小文字が別のものと見なされ、大文字と小文字を区別した順序になります。

次の表は、Access での昇順が大文字と小文字を区別した並べ替え順序とどのように異なるかを示しています。

並べ替える前の順序

昇順

大文字小文字が区別書による 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" の前に "a" が現れ、"b" の前に "B" が現れています。このようになる理由は、テキスト値が、小文字または大文字を問わず "A" = "a"、"B" = "b" として評価されるためです。Access では、値の元の順序が考慮されます。"並べ替える前の順序" 列では、"a" の後に "A" があり、"B" の後に "b" があります。

大文字と小文字を区別した並べ替え操作が実行されると、テキスト値の代わりに ASCII 値が使用されます。たとえば、A = 65、a = 97、B = 66、b = 98 などのようになります。

VBA コードを作成する

  1. VBA モジュールを作成し、Declarations セクションに次の行がまだない場合は、それを入力します。

Option Explicit

  1. Visual Basic Editor でモジュールに次のプロシージャを入力します。

    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. [Sort] セルで、[昇順] または [降順] をクリックします。

    昇順を選択すると、小文字で始まる値の前に大文字で始まる値が表示されます。降順を選択すると、その逆に表示されます。

  7. データシート ビューに切り替えます。

    レコードは、大文字と小文字を区別した順序で並べ替えられて表示されます。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×