プロが教える店舗&オフィスのセキュリティ対策術

アクセスクエリで英数字のみ半角にすることはできますか?カタカナは全角のままにしたいです。

「アアアAAA111」
のデータがあり、更新クエリで
UPDATE テーブル1 SET [テーブル1].[フィールド1] = StrConv([テーブル1]![フィールド1],8);
をすると
「アアアAAA111」
になってしまいます。

「アアアAAA111」
にするにはどうすればいいでしょう?

カタカナ+英字+数字になってるわけではなくランダムです。

A 回答 (2件)

こんなユーザー定義関数を標準モジュールに作成して


Function myConv2(sStr As Variant) As String
Dim i As Integer
Dim p As String

For i = 1 To Len(Nz(sStr, ""))
p = Mid(sStr, i, 1)
If p Like "[0-9A-Za-z]" Then
myConv2 = myConv2 & StrConv(p, vbNarrow)
Else
myConv2 = myConv2 & p
End If
Next
End Function

クエリでは
UPDATE テーブル1 SET [テーブル1].[フィールド1] = myConv2([テーブル1]![フィールド1],8);
としてあげれば?
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2013/03/31 23:09

UPDATE テーブル1 SET [テーブル1].[フィールド1] = myConv2([テーブル1]![フィールド1],8);


じゃなくて
UPDATE テーブル1 SET [テーブル1].[フィールド1] = myConv2([テーブル1]![フィールド1]);
ですね。。。
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2013/03/31 23:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A