- 締切済み
Accessでのグループ化で全角・半角を分けたい。
こんにちは。 Accessクエリのグループ化についてお伺いします。 グループする項目データが A(半角大文字) a(半角小文字) A(全角大文字) a(全角小文字) でも全て同じグループとなってしまします。 これを分ける方法を知りたいのですが、 ご存知の方宜しくお願い致します。 (OS:Windows2000 Ver:Office2000)
- みんなの回答 (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 *私は、全くクエリを利用しませんので的を外しているかも知れません。
- nicotinism
- ベストアンサー率70% (1019/1452)
?asc("A") 65 ?asc("a") 97 ?asc("A") -32160 ?asc("a") -32127 一文字だけでしたら・・ASC関数で文字コードで分けるとか・・ 但し全角・半角で値が大きく離れます。 複数文字・ひらがな・漢字なども混じるならば VBAで分類用の自作関数を作成してやる事になりそう・・・?
お礼
有難う御座います。 Oracleだと普通にできるのですが 残念です。
お礼
有難う御座います。 Oracleだと普通にできるのですが、 相当に面倒ですね。