Accessでの五十音順

この資料は図書検索業務で通常意識されている「清音検索」にはあてはまりません。
汎用機、オフコン類からダウンサイジングを計ろうとした場合、汎用機系のマシンとの並び順が変わってしまう現象についての説明になっています。

Accessで顧客管理ソフトを作ったぜ。ソートがラクだから、顧客コード順だろうがあいうえお順だろうが自由自在さ。
ふりがなの項目を作って、ただOrder Byって書けばいいんだからやめらんないね。
...ちょっと待ってください。本当に、思ったとおりに並んでいますか?

 

Access の Help にはこういう記述があります。(トピックの検索で 並べ替え-規則 で検索)


ひらがなやカタカナは、五十音順に並べ替えられます。
英字はアルファベット順に並べ替えられます。大文字と小文字は同じものとして扱われます。
数字は数の小さい順に並べ替えられます。
英数字、記号の半角と全角は、同じものとして扱われます。
それ以外の漢字、記号、ギリシャ文字、ロシア文字などは、シフト JIS コード順に並べ替えられます。

また、五十音順による並べ替えは、次の規則に従います。

長音 (ー) は、前の音節の母音と見なされます。たとえば、"データベース" は、"デエタベエス" として扱われます。
"々" は、前の文字と同じに文字と見なされます。たとえば、"佐々木" は、"佐佐木" として扱われます。
清音や濁音は、清音、濁音、半濁音の順序で並べ替えられます。
ひらがな、全角カタカナ、半角カタカナは、すべて同じものとして扱われます。
(Access97 Help より抜粋)


さらに、サポート技術情報にはこんな資料も。
まーそうゆう仕様ですからしょーがないですけど、「データベース」と「デエタベエス」、「佐々木」と「佐佐木」は区別して並べ替えて欲しいです。同じじゃないんですから。(-_-#)←汎用機あがりの意見

逆に、この仕様でなければ困るという業務もあります。図書のデータベース業界(と呼ぶのが適当かどうかは不明)では、ずーっと昔から「清音検索」といった意味合いの検索方法がとられていて、「ハハ」とキーワードを入力し検索した場合、「ババ」も「パパ」も「ハハ」も全部検索されなければダメ、という仕様です。
もちろん並び順についても同様です。広辞苑での「50音順」の定義も、このとおりそれで正しい、と記述されています。
(なぼは実際にその業務に携わったことがないので今まで知りませんでした^_^;;勉強不足・・ ご助言を頂いたrikiya's様、ありがとうございます)


でも、こういう人も多いでしょう。「汎用機・オフコンから Access に乗せかえることになったんだから、今までと同じ並び順でなくっちゃ客は納得しないよぉ!!!」

「新規データベースの並び順」を「欧米標準」に設定して作成した MDB では、きっちりとコード順に並べてくれます。このコードが Unicode なのかなんなのかはちょっと定かではないんですが、明らかに並び順が違っています。ただヘルプなどにはそうゆう記述がぜんぜんないですし、Micr○soft のサイトにもぜんぜん載ってないのでちょっと不安なのですが、こういうオプションがあるんだから別にこう使ったってかまわないぜ!というチャレンジャーな方はやってみてはどうでしょう?(^_^;)
ただーし、残念ながら、Access 2000 からは「欧米標準」がなくなってしまいましたー。かわりに「全般」てのがあるんですが、これが「欧米標準」と同じ動作になるのかどうか確認がとれてません。誰かためしにやってみてください。(他力本願)

あ、ちなみに、英字と数字が混在した項目で昇順に並び替えると数字が上に来ますけど、これを英字が上に来るようにはできません。たしか、なぼが使ってたオフコンは数字のほうが大きかったんだよね。(^_^;)


Oracleでは、NLS_SORTパラメータでバイナリソートや各国語による言語ソートなど、ソート規則の切り替えをすることもできます。
(SQL Server にも「照合順序」という考え方があり、切り替えもできるらしいです)

OracleリンクテーブルをAccess上で開いてフィルタでソートしたとすると、Oracleでの指定どおり並ぶようです。同じテーブルをインポートしてソートした時と結果が違っていますから。(^_^;;;)(注:Access97 で確認)
これも困る人多いんじゃないかな~?(^_^;;)

欲を言えば、 Access にもどっちか選べるような機能があればいいんですけどねー。
...ま、Oracle と比べちゃいけないですね...

トラックバック(0)

トラックバックURL: http://www.naboki.net/movabletype/mt-tb.cgi/24

地獄への階段

フォームでのデータチェック

「地獄」シリーズ一番人気コンテンツ。

排他制御の罠

あんまりこだわってもしょうがないと思うんだ、Accessだし。

ネットワークでの使用

今どきネットワークで使わないほうが珍しいんだけども、言いたいことはそーじゃないのよ。

テーブルデータの並び順

データベースに不慣れな人はしょうがない。しょうがないから黙って読め。

浮動小数点の「特性」

当サイトの評判を著しく落とすコンテンツ(笑)アンケート結果は「9」か「1」のどっちかです。

バージョンアップの恐怖

ライフサイクル って知ってる?

Accessでの五十音順

昔はよくあった問題だけど、今はこういうケース少ないよな多分。

2001年問題?!

もういい加減要らないかなぁと思いつつ...

MSDN クラウド 技術解説コミック新登場 クラウド ガール - 窓と雲と碧い空 -