ガスの販売・工事をしているお客さんから、「コスモスという販売管理ソフトを使ってるけど、エクセルで使いたいデータがあるが、帳票の印刷しか対応してなくて困ってる。なんとかならないか。」という相談を受けました。販売元では、パッケージソフトのため、個別対応はしてくれないそうで、帳票のものをExcelに手打ちで入れるには、データ量が多すぎて、とても無理とのこと。
この手のパッケージソフトは、データベースも独自のものを使ってることが多く、手の出しようがないのですが、調べてみると、Cosmos-7は、MSDE2000というデータベースを使っていることが分かりました。
MSDEは、Microsoft社のSQLサーバ機能限定版のようなもので、無償で使用できるデータベースソフトです。
Microsoft Officeに含まれているACCESSなどのデータベースソフトから利用できるので、データの抽出なども比較的簡単にできます。
ACCESSからMSDEを使うには、MSDEのユーザIDとパスワードが必要です。Cosmos-7を導入したSE会社に聞いてみましたが、門前払いです。
しょうがないので、勝手にMSDEへユーザを追加して、使えるようにしてしまいました。管理者権限のユーザIDとパスワードも教えてもらえないので、SQLサーバなどではお手上げですが、MSDEの場合は、抜け穴があります。操作手順を簡単にメモしておきますので、MSDEを使いたい方は、参考にしてください。
Cosmos-7のパソコンから、コマンドプロンプトを起動します。
C:\>osql -E
ユーザID:cosmos、パスワード:passwordを作成
1> sp_addlogin 'cosmos','password','master'
2> go
1> sp_adduser 'cosmos'
2> go
1> use cosmos7
2> go
ユーザID:cosmosには、データベース名:cosmos7に全ての権限を与える
1> sp_grantdbaccess 'cosmos'
2> go
1> sp_addrolemember db_owner,'cosmos'
2> go
1> quit
上記操作で、ユーザID:cosmos、パスワード:passwordには、データベース名:cosmos7に全ての権限を与えるようにしました。
以下ACCESS2003から、cosmos7パソコンのMSDE2000に接続する例です。
1.新規作成をクリック

2.プロジェクト(新しいデータ)を選択

3.保存先を選んで、適当なアダプタ名で作成

4.「Microsoft SQL Server データベース ウィザード」は、即キャンセル

5.ファイル(F)メニューから、接続(T)を選択

6.「データリンク プロパティ」ダイアログが表示される。
サーバ名は、Cosmos-7パソコンのコンピュータ名か、IPアドレスを入力する。
ユーザ名とパスワードは、先ほど作成したものを入力。
「パスワードを保存する(S)」をチェック。
「サーバ上のデータベースを選択する(D)」のコンボボックスから「cosmos7」を選ぶ。
「接続のテスト(T)」をクリック。

7.「接続のテストに成功しました。」が出れば、OK。
駄目なときは、サーバ名のコンピュータ名にpingを投げてみて、応答があるか無いか確認。
Cosmos-7パソコンとACCESSのインストールしてあるパソコンのファイアウォール設定の確認などをする。

8.「ファイルに保存する前にパスワードは、暗号化できません。」は、
「パスワードの保存(S)」をクリックする。

9.テーブルの一覧が表示される。
あとは、クエリ(SQL)で必要なデータを抽出して、csv形式やExcel形式にエクスポートすれば、自由に加工や集計ができます。
たとえば、特定の属性をもった顧客の年間売上合計などは、「売上請求明細」テーブルと、「顧客マスタ」テーブルからクエリを作ってあげます。
このお客様の場合、ガス顧客毎の年間売上を集計したいとのことでしたので、簡単なフォームとVBAでデータを抽出して、csv形式でエクスポートするプログラムを作成しました。
システム構築料金は、6万円(15人時)でした。
