Access2000でAccess97のテーブルを利用する方法
Access97からAccess2000へのコンバージョンを行っています。様々な問題が発生しているのですが、解消困難な問題があり質問させて頂きます。
まず、背景・環境など長くなりますが、説明します。
自社で開発したプログラムの97→2000への移行を行っていますが、予算とマシンスペックの問題で、ユーザーのOS(95、98、2000、XP)、Office(97、2000)共に混在する状況となります。また、一人のユーザーが複数の事業所で仕事をしており、使用するマシンも一定ではなく、一台のマシンを複数のユーザーが使用します。
問題となっているプログラムは、プログラム本体とデータ部分がそれぞれ別のmdbファイルとして構成されており、本体からテーブルのリンクでデータ用mdbを利用しています。
また、ワークグループを利用しパスワードによるアクセス管理を行っています。
データ部分は、他のプログラムでも利用しており、そのプログラムも97版と2000版が混在しています。
そのため、データmdbは97で利用したいと思っています。
ところが、2000のプログラムでDlookup関数を使用し、97データの取得結果が正しくありません。途中で切れたり、余計な文字が後ろについてしまいます。リンクテーブルを選択クエリにしても同じでした。
例
(正)東京三菱銀行→(誤)東京三菱銀行??○!!
(正)123456→(誤)1234
Dlookup("フィールド名" & "","リンクテーブル名")
という風に文字列の後に空文字を加えると正しく表示されます。
ただ、すべてのDlookup関数を調べ処理を追加するには数も多く、今後の保守に問題が残ります。
また、データを2000に変換すると問題が発生しません。しかし、互換のため、97形式でデータmdbを作成することも考えたのですが、設定したワークグループセキュリティが解除されることも判明しています。
解決方法か関連情報をお持ちの方、ご教授お願いします。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
それは、、、辛いかもしれませんが、作り直しましょう・・・・
ご存知かとは思いますが、SQL文には規格があります。
バージョンが変わっても、そちらの方が安心して使用できるかと思いますが、、、
「がんばってください」としか言いようがないのが残念です。。。
この回答へのお礼
なかなか思い通りにはいかないですね。プログラム群の開発に2億ほどかかったものですが、すでにAccess2000対応の保守調査だけで4~500万は使っています。
1年半後にシステム更新する予定で、オラクルベースのシステム開発がスタートしています。こちらは10億くらいかけて大手ベンダーでの開発なので、OSやソフトの更新にさほど心配はしていません。
新システム稼動までのつなぎの為の保守なので、なんとか数人の自社スタッフで解決しようとしていたのですが・・・
No.1ベストアンサー10pt
DLookUpはAccessのライブラリの関数です。バージョンの違うDBに、バージョンの違う同名のAccess関数を使用するのはどうかと、、、
SQL文で問い合わせても一緒ですか?
可能であれば、ADOを利用することをお勧めします。
この回答への補足
回答ありがとうございます。
周りにも聞いてみましたが、同じ問題を抱えている人がいました。
その人がマイクロソフトに問い合わせたところ、Access2000からAccess97のデータにDlookup関数は使用できない(サポート外)そうです。
40個ほどのプログラムファイルがあり、Dlookup関数も数百箇所で使用しています。
ActiveXもクライアントの設定・保守が面倒そうで・・・
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











