| Access Tips by pPoy |
| Module | 文字列をASCIIコードに変換する関数 《大文字・小文字・半角・全角を区別》 (Ac97,Ac2000,Ac2002) |
Access では、文字列の大文字・小文字・半角・全角の区別はありません。 つまり、 「SAKURA」 と 「sakura」 と 「SAKURA」 と 「sakura」は、全て同じ文字列とみなされます。 また、「さくら」 と 全角の 「サクラ」 と 半角の 「サクラ」 も全て同じとみなされます。 これでは少し困ります。これらの文字列を区別する必要も多々あります。 そんなときの為に、文字列を ASCIIコードに変換する関数を作りました。 文字列をそのまま比較すると区別は出来ませんが、文字コードでは区別できるからです。 以下のコードを標準モジュールに貼り付けてください。 |
|
|---|---|---|---|
Function strASC(ByVal myString) As String
'文字列をASCIIコードに変換する関数(半角英数用)
'2004/12/29 pPoy
Dim strData As String
Dim i As Long
If IsNull(myString) Then Exit Function
strData = ""
For i = 1 To Len(myString)
strData = strData & Asc(Mid(myString, i, 1))
Next i
strASC = strData
End Function
| |||
|
≪使いかた≫ クエリなどで直接 Access 標準の関数と同様に、 strASC([名称])のように指定します。 勿論コード内でも使用できます。
| |||
|
文字をASCIIコードに変換した結果は、全角文字の場合結構長くなります。 マイナスも発生する為ちょっと見にくいです。 以下は、文字列を文字コード (16進数) に変換する関数です。 文字列に全角が含まれる場合にお勧めです。 |
Function strHEX(ByVal myString) As String
'文字列のASCIIコードを16進数に変換する関数 (全角もOK)
'2004/12/29 pPoy
Dim strData As String
Dim i As Long
If IsNull(myString) Then Exit Function
strData = ""
For i = 1 To Len(myString)
strData = strData & Hex(Asc(Mid(myString, i, 1)))
Next i
strHEX = strData
End Function
|
≪結果≫
|
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2004