Home 
クエリここでは、先頭の文字のみと文字列全体の2種類を掲載しています。
VBAで大文字と小文字を識別させるには、Option Compare Binaryを宣言します。
クエリで判定するので、VBAはFunctionプロシージャを作成し、判定結果を返すようにします。
先頭の文字が大文字か小文字か判定するには、LEFT関数で左から1文字取得し、それがUCASE関数で大文字にした文字と同じかどうかで判定します。
同じならば(大文字ならば)TRUEを、違う場合(小文字ならば)FALSEを返します。
文字列全体が大文字か小文字か判定するには、MID関数で1文字ずつ取り出し、UCASE関数で比較し判定します。
For分で文字列の長さをループし、全ての文字が大文字ならばTRUEを、小文字ならばFALSEを返します。
関連する「Accessクエリ:先頭文字を大文字に変換する・StrConv関数の使い方」を掲載していますので参考にしてください。
商品コードフィールドには、大文字と小文字が色々混じったデータが入力されています。

先頭文字を判定し、結果を返すVBAです。

Option Compare Binary
Function Mymoji(s1 As String) As Boolean
    Dim i As Long
    
    If Left(s1, 1) = UCase(Left(s1, 1)) Then
        Mymoji = True
    Else
        Mymoji = False
    End If
End Function
VBAを使用したクエリを作成します。
式1: Mymoji([商品コード])フィールドでVBAを呼び出しています。
抽出条件をTRUEにし先頭が大文字のみ抽出します。

クエリの実行結果です。
先頭が大文字のみ表示されています。

小文字のみ表示するには、抽出条件をFALSEに変更します。

クエリの実行結果です。
先頭が小文字のみ表示されています。

文字全体を判定するVBAです。

Option Compare Binary
Function Mymoji(s1 As String) As Boolean
    Dim i As Long
    
    Mymoji = True
    
    For i = 1 To Len(s1)
        If (Not Mid(s1, i, 1) Like "[0-9]") And Mid(s1, i, 1) <> "-" Then
            If Mid(s1, i, 1) = LCase(Mid(s1, i, 1)) Then
                Mymoji = False
                Exit For
            End If
        End If
    Next
End Function
VBAで判定するクエリです。
内容は上と同じです。

クエリの実行結果です。
商品コード全部が大文字のレコードのみ表示されています。

Home 
クエリ