読者です 読者をやめる 読者になる 読者になる

B-Teck!

お仕事からゲームまで幅広く

【VBA/Access】Option Compareステートメント

Accessでは、Option Compareステートメントによって文字列の比較方法が決定される。
モジュールを作成した際には自動でDatabaseモードが付加されるが、
この記述を削除し、何も書かなかった場合の既定値はBinaryモードとして定義されている。

モード 概要
Binary バイナリで比較する。
大文字小文字、半角全角、ひらがなカタカナが区別される
Text OSの設定にもとづいて比較する。
大文字小文字、半角全角、ひらがなカタカナを区別しない
Database DBの設定にもとづいて比較する。

Databaseのときにどうなっているのかよくわからなかったけど、OSの設定に準じてるような挙動らしいので、
Textの場合はOS依存、Databaseの場合はAccessが作られたOS(が設定された自分自身?)という基準で比較してそう。
日本のOSで作る限りはText≒Databaseみたいなもんなのかな。

文字列比較の関数使用時に必要があれば、vbBinaryCompare,vbTextCompare,vbDatabaseCompareのような定数を用いて
比較関数のモードを変えることができるので厳密に比較する必要がある箇所以外はどのモードでもあまり問題なさそう。