VB6でADOを使ってAccess2000のmdbにデータを保存するプログラムを作成しいくつかのパソコンで快適に動作していたのですが、あるパソコンで実行しようとすると、タイトルに[ADODC1]と書かれてエラー内容として、[Selected Collating sequence not supported by the operation system]メッセージが記述されたダイアログボックスが表示されADOが使用できません。
エラーの出たパソコンの環境は
OS : Windows XP professonal Version 2002 SP2
Access : Access2000(9.0.3821 SR-1)
もしかしたらADOの使用にあたってAccessがないと駄目とか、Accessのバージョンであるバージョンでないと動かないとかいうことがあるのでしょうか?
そのエラーが出るときは、そのmdbファイルの照合順序を確認してみてください。
Access で作成した mdb であれば、Access [オプション]の全般タブにある
『新規データベースの並び順序』、OLE DB 経由で作成された mdb であれば、
『Locale Identifier』のダイナミックプロパティが、それにあたります。
Locale Identifier が 1033 である場合(これは、OLE DB の規定値です)、
mdb の並び順序が、欧米標準(英語、仏語、独語、葡語、伊語、西語)のものに
なっている事を意味します。(Access では「全般」の並び順序と表現されます)
# どの環境でも動作しますが、日本語データは意図した順に並ばない可能性があります。
Locale Identifier が 1041 もしくは 66577 である場合、mdb の並び順序は
日本語のものです。なお、日本語版 Access の規定値は、1041 です。
日本語環境下においては、本来は、これが指定されているべきでしょう。
# ただし海外版OS(≠マルチランゲージ版)では動作しない可能性があります。
もし、1033 でも 1041 でも無いのであれば、正しい照合順序を指定して
mdb を再作成(or 最適化)すべきでしょう。
> もしかしたらADOの使用にあたってAccessがないと駄目とか、
Access は不要ですが、適切なバージョンの MDAC が必要です。
また、照合順序が 66577 の mdb は、古い環境では認識されない事があります。
| ツイート |
|