SecondaryUse開発日記

データベース参照ツールを開発しています。そのツールの開発、利用方法秘話などなどの紹介

データベース参照ツール、SecondaryUse(二次利用)

SecondaryUseとは任意のデータをデータベースからSQLで取得し表示します
SQLをサーバに保存すれば、利用者全員で共有が出来ます。またローカルファイルとして登録すれば端末ごとに任意のSQLを実行することも可能です

表示したデータはエクセルへのエクスポートも簡単にできますし、ワードへの差し込み印刷も可能です

エクセルへのエクスポートでは自動でグラフ表示も可能です

CSVXMLへの出力も可能です

 

SecondaryUseはデータの二次利用を簡単に実現します

 f:id:syskobo:20190422155018j:plain

本来DBBrowserはエディタ上に入力したSQLを実行しデータを表示していましたが、誰でも簡単にデータ抽出出来るようにSQLを外部に保存し実行できるようにしたのがSecondaryUseです

DBBrowser同様、サーバとの通信はSOAPを利用していますので、ORACLEなどはClientのインストールが不要です。

さらに、SSL/TLSプロトコル(https)を使用してインターネット経由でもデータベースとの接続が可能です。

また、ODBCでの接続も出来るのでローカルネットワーク環境ではサーバなしでも利用できます

syskobo.hatenablog.com

http://syskobo.html.xdomain.jp/SecondaryUse_simple_manual.pdf

 

SimpleUse は SecondaryUseと同じですがランチャー起動のアプリを外したバージョンです

MedicalUseSimpleUse に 医療機能を追加したバージョンになります

現在は SecondaryUse としては公開していませんので、MedicalUseSimpleUse を使用してください

実行SQLの参照について

抽出内容を他人に説明するのにSQLを見て貰った方が早い場合があります

そのため、実行したSQLを抽出するようにしました

 

ショートカットメニューの「SQLコマンド取得」のクリックでSQLクリップボードに貼り付けします

f:id:syskobo:20210427154153p:plain

その後メモ帳に貼り付ければ実行したSQLを確認できます

f:id:syskobo:20210427154228p:plain

 

DrugSearchでQRコード印字

QRコードの印字を出来る様にしたので、実践的な使い方を試してみました

DrugSearchは薬剤データを取り込み、マスタ登録用紙を簡単に作成する想定で作成しましたので、登録薬剤のQRコードを印字するようにしました

f:id:syskobo:20210310165751p:plain

 

一覧のショートカットメニューから登録用紙を印刷します

余談ですが実践的に使うのであれば、設定で一括即印字も可能です

f:id:syskobo:20210310170300p:plain

 

QRコードの内容は出来る範囲で自在に設定可能です

サンプルでは、SQLに以下の項目を追加しEXCELシートのQR_CODE1を置換しています

なので、項目はある程度、応用が可能です

a.告示名称 || char(13, 10) || d.一般名処方の標準的な記載 || char(13, 10) || a.製造会社 || char(13, 10) || a.販売会社 || char(13, 10) || a.JANコード || char(13, 10) || ifnull(c.販売包装単位コード,'14987' ) QR_CODE1 

 

 f:id:syskobo:20210310165701p:plain

上記画像を拡大しQRコードスマホで撮影するか、以下の画像を撮影して内容を確認できます

 f:id:syskobo:20210310174134p:plain

 

薬品管理のプログラムがQRコードに対応していれば、QRコードを読み込むだけで登録が出来るかもしれません

 

詳しくは以下よりダウンロードし試してください

Version 4.21.3.1からQRコードを印字するようにしました

www.vector.co.jp

 

 

Excelの置換処理

SecondaryUseの印刷でExcelを使うとき、文字列の置換を行いますがVersionによって動作が異なるようです

 Office2010,Office2013では、<<置換文字1>><<置換文字2>> を同じセルに定義しても置換処理は出来たのですが、Office2016,Office2019ではこれが出来ません

 Office2016,Office2019では、1つのセルに1つの置換文字の定義れあれば大丈夫ですが使い勝手が悪くなりました

 私が無知だけかもしれませんが。 docs.microsoft.com

Excel.Range myCell = range.Find(loldValue,
After,
LookIn,
LookAt,
SearchOrder,
SearchDirection,
MatchCase,
MatchByte,
SearchFormat);

if (myCell != null){
bool bReplace = range.Replace(
loldValue,
lnewValue,
LookAt,
SearchOrder,
MatchCase,
MatchByte,
SearchFormat,
ReplaceFormat
);

if (bReplace){
string cellsValue = myCell.Value.ToString();
myCell.Value = cellsValue.Replace(loldValue.ToString(), lnewValue.ToString());
}}

そこで、range.Replaceに失敗したら文字列でReplaceを行うようにしました

Version 4.21.2.15以降対応いたします

QRコードの差し込み印刷

Excelの帳票印刷でQRコードを利用できるようにしました

Microsoft BarCode Control16.0を使ったとき、漢字などQRコード化が出来なかったので

作成しました

 

f:id:syskobo:20210108161731p:plain

 

1)印刷パラメータデータの登録

f:id:syskobo:20210108162231p:plain

 

2)Excelのセルにパラメータ文字を入力

f:id:syskobo:20210108162409p:plain

 

セルのサイズに合わせてQRコードを貼り付けます

オートカルク機能

オートカルクとはExcelにおいて、セルに計算式を入力せずに、セルに入力されたデータ(文字や数値など)の集計・計算結果を確認することができる機能とのことで、「合計」、「平均」、「データの個数」、「数値の個数」、「最大値」、「最小値」を求めることができる様です

 

その機能をSecondaryUseに追加しました

行選択のときは選択行数を表示

f:id:syskobo:20201023091203p:plain

 

セル選択のときは、「平均」、「データの個数」、「数値の個数」を表示します

f:id:syskobo:20201023091229p:plain

 

今まではExcelに貼り付けて計算していましたが、その手間が省け、簡単な動作確認に役立ちそうです