重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!goo新規会員登録

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を作成することも考えたのですが、設定したワークグループセキュリティが解除されることも判明しています。
解決方法か関連情報をお持ちの方、ご教授お願いします。

A 回答 (2件)

DLookUpはAccessのライブラリの関数です。

バージョンの違うDBに、バージョンの違う同名のAccess関数を使用するのはどうかと、、、

SQL文で問い合わせても一緒ですか?

可能であれば、ADOを利用することをお勧めします。

この回答への補足

回答ありがとうございます。

周りにも聞いてみましたが、同じ問題を抱えている人がいました。
その人がマイクロソフトに問い合わせたところ、Access2000からAccess97のデータにDlookup関数は使用できない(サポート外)そうです。

40個ほどのプログラムファイルがあり、Dlookup関数も数百箇所で使用しています。
ActiveXもクライアントの設定・保守が面倒そうで・・・

補足日時:2002/12/04 14:25
    • good
    • 0

それは、、、辛いかもしれませんが、作り直しましょう・・・・



ご存知かとは思いますが、SQL文には規格があります。
バージョンが変わっても、そちらの方が安心して使用できるかと思いますが、、、

「がんばってください」としか言いようがないのが残念です。。。
    • good
    • 0
この回答へのお礼

なかなか思い通りにはいかないですね。プログラム群の開発に2億ほどかかったものですが、すでにAccess2000対応の保守調査だけで4~500万は使っています。
1年半後にシステム更新する予定で、オラクルベースのシステム開発がスタートしています。こちらは10億くらいかけて大手ベンダーでの開発なので、OSやソフトの更新にさほど心配はしていません。
新システム稼動までのつなぎの為の保守なので、なんとか数人の自社スタッフで解決しようとしていたのですが・・・

お礼日時:2002/12/05 08:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す