• ベストアンサー

アクセスクエリで英数字のみ半角にすることは可能?

アクセスクエリで英数字のみ半角にすることはできますか?カタカナは全角のままにしたいです。 「アアアAAA111」 のデータがあり、更新クエリで UPDATE テーブル1 SET [テーブル1].[フィールド1] = StrConv([テーブル1]![フィールド1],8); をすると 「アアアAAA111」 になってしまいます。 「アアアAAA111」 にするにはどうすればいいでしょう? カタカナ+英字+数字になってるわけではなくランダムです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

こんなユーザー定義関数を標準モジュールに作成して 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); としてあげれば?

GCTSRCGAOGP
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

UPDATE テーブル1 SET [テーブル1].[フィールド1] = myConv2([テーブル1]![フィールド1],8); じゃなくて UPDATE テーブル1 SET [テーブル1].[フィールド1] = myConv2([テーブル1]![フィールド1]); ですね。。。

GCTSRCGAOGP
質問者

お礼

ありがとうございます。

関連するQ&A

専門家に質問してみよう