2006年07月09日

地図ソフトとの連携(AccessのHyperlink(4))

アルプスの地図ソフト(プロアトラスSV2)が更新された。

この地図ソフトは「顧客管理データベース」と連携させている。ユーザ登録してあるので、優先予約販売で購入してありDVD2枚組が送られてきた。

以前の記事では、Accessでは特にコーディングすることなくハイパーリンクで地図を表示させるように書いていたが、その後ノートPCでも使用するようにした時にプログラムのインストール先が変わるので、それへの対応をVBAで変更するようにしておいた。

(1)ハイパーリンクを直接クリックするのではなく、地図表示させるボタン「地図ボタン」を新設した。

(2)プロアトラスをインストールしているフォルダ名を「メニュー用フォーム」に埋め込み、そのフォルダ名をフォームのロード時に共有変数として保存する。
(3)「地図ボタン」をクリックすると、共有変数のプログラム・フォルダ位置と、ハイパーリンクとして埋め込まれた地図データの一部分をVBAで組み合わせて、プロアトラスに該当位置を表示させる。
(4)こうすることにより、プロアトラスのインストール先が変更されても、「メニュー用フォーム」に埋め込むフォルダ名を変更するだけでVBAのコーディングは何も変更することは無い。
(5)これでデスクトップ用の豊富にあるHDDでも、C:ドライブしかないノートPCでも同じ「顧客管理データベース」を導入し、同じように地図を表示できるようにしておいた。

今回発売された「プロアトラスSV2」をインストールすると、フォルダ名に必ず「PROATLASSV2」を必要とする。なければ勝手に付加する。上記のような対応をデータベース側でしていなくてハイパーリンクだけで地図を表示させているユーザは「プロアトラスSV」と「SV2」ではハイパーリンクに埋め込まれる内容が異なるので、正しく動作しないことになる。「ヘルプ」にはそのような内容は記述されていない。

今回は「プロアトラスSV」をアンインストールして、「プロアトラスSV2」をインストールした。当然インストール・フォルダ名は変更されたので「メニュー用フォーム」に埋め込んだフォルダ名を変更するだけで、過去に入れてあったデータも正しく表示された。

市販プログラムは、フォルダ名を強要するように作成して欲しくないなと思った。下位層のフォルダ名はプログラムの作り方により色々変更される場合があるだろうが、最初に起動されるプログラムが入っているフォルダはバージョンにより変更されない方が望ましいのではないだろうか。


https://www.ktservices3.com/

投稿者 owner : 2006年07月09日