タイトル : Re^6: VB6アプリでwin11にすると実行時エラー3078 投稿日 : 2024/10/02(Wed) 20:16 投稿者 : 魔界の仮面弁士
> ソース内の変更は自信がありませんがこのへんがmdbを見ているのかなとおもいます まずは、プログラムから読み取っている「mdb ファイル」を Microsoft Access で開いてみてください。 そのファイルは、Access 2002-2003 形式でしょうか。それとも Access 2000 形式でしょうか。 Access のバージョンにもよりますが、タイトルバーに形式が表示されると思います。 (Access 97 以下の形式の mdb の場合、最近のバージョンの Access だと開けない可能性があります) また、そのファイルの照合順序(並び順序)が何になっているかも確認してみてください。 プログラムからであれば、『MsgBox DB.CollatingOrder』で確認できると思います。 戻り値は数字で表示されると思いますが、その値から 1041 なら「日本語 - レガシー」dbSortJapanese 66577 なら「日本語 Unicode - レガシー」 1033 なら「一般 - レガシー」dbSortGeneral などといったことが分かります。 https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/database-collatingorder-property-dao 照合順序に関する話題は過去にもありましたが、既にすべてリンク切れのようです。無念。 https://hanatyan.sakura.ne.jp/logbbs1/wforum.cgi?mode=allread&no=7611&page=0 https://hanatyan.sakura.ne.jp/logbbs/wforum.cgi?mode=allread&no=9899&page=0 Access から開くことができるのであれば、そもそも「納品データ」というテーブル(もしくは選択クエリー)が 存在しているかを確認してみてください。カタカナの全角半角の違いを区別する環境と 区別しない環境があるようなので、本当に全角カナであるのかも注意が必要です。 もしも Access を使わずに、プログラムから名前を列挙する場合には Dim t As TableDef For Each t In DB.TableDefs Debug.Print "[" & t.Name & "]" Next とか Dim q As QueryDef For Each q In DB.QueryDefs Debug.Print "[" & q.Name & "]Type=" & q.Type Next などのコードで確認できるかと思います。 |