• 締切済み

Accessでのグループ化で全角・半角を分けたい。

こんにちは。 Accessクエリのグループ化についてお伺いします。 グループする項目データが A(半角大文字) a(半角小文字) A(全角大文字) a(全角小文字) でも全て同じグループとなってしまします。 これを分ける方法を知りたいのですが、 ご存知の方宜しくお願い致します。 (OS:Windows2000 Ver:Office2000)

みんなの回答

noname#22222
noname#22222
回答No.2

途中までですが・・・。 ID      データ 1      全角文字 2      HANKAKU 3      hankaku 4      ZENKAKU 5      zenkaku 6      HANKAKUNANODA 7      hankakunanoda というテーブルがあるとします。 これを、0、1、2、3 の4つのタイプ情報を付加して表示すると次のようです。 タイプ ID データ 2      1      全角文字 0      2      HANKAKU 1      3      hankaku 2      4      ZENKAKU 3      5      zenkaku 0      6      HANKAKUNANODA 1      7      hankakunanoda SELECT IsType([データ]) AS タイプ, * FROM テーブル1; Public Function IsType(ByVal strText As String) As Integer   IsType = Abs(Len(strText) <> LenB(StrConv(strText, vbFromUnicode))) * 2 + _          Abs(StrComp(UCase(strText), strText, vbBinaryCompare)) End Function 先ずは、0、1、2、3 の決め方と思います。 質問者の意向に沿って IsType関数を修正して下さい。 これで、例えば、次のようにタイプカウントを求めることも可能になると思います。 タイプ タイプカウント 0      2 1      2 2      2 3      1 *私は、全くクエリを利用しませんので的を外しているかも知れません。

i_september
質問者

お礼

有難う御座います。 Oracleだと普通にできるのですが、 相当に面倒ですね。

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

?asc("A") 65 ?asc("a") 97 ?asc("A") -32160 ?asc("a") -32127 一文字だけでしたら・・ASC関数で文字コードで分けるとか・・ 但し全角・半角で値が大きく離れます。 複数文字・ひらがな・漢字なども混じるならば VBAで分類用の自作関数を作成してやる事になりそう・・・?

i_september
質問者

お礼

有難う御座います。 Oracleだと普通にできるのですが 残念です。

関連するQ&A