• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA初心者です。宜しくお願いします。)

VBA初心者が医薬品データを管理する方法とは?

このQ&Aのポイント
  • 薬局で医薬品データと患者使用量を管理するために、VBA初心者が考えている方法について教えてください。
  • 具体的には、医薬品名や来局期間を指定して必要なデータを抽出する方法や、新しいデータの警告を行う方法についてのアイデアを求めています。
  • 具体例を交えて、VBA初心者がどのように組み立てれば良いのかについて詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

質問のようなことをやる必要性を、読者・回答者に示さずに、考えさせコードを教えろというのは、考える方にとって馬鹿らしい。特殊業界については回答者も慣行や必要性は説明してもらわないと判らないものだ。 ーー 期間を指定して検索すれば、その期間以外のデータは出てこないのは当たり前。 期間の指定がまずくて、最近の投薬等を見過ごすと思うなら、 ・期間中の該当結果 ・それ以後の現在までなどの該当をだして、注意喚起してはどうです。 >具体的なVBAの組み方が分かりません それ以前の設計の問題でしょう。薬などの生命にかかわる事項の処理のシステムつくりを>VBA初心者です、がやって良いのだろうか。餅は餅屋にまかせ、プロに頼むべきだ。 エクセルは共用(他の人に使ってもらうのも含め)は適当ではないとおもう。何も手を打たないと、データ丸見え、変更自由、複写自由、バックアップも不完全と言った脆弱な面がある。 ーー 【案1】と【案2】を考える意味がわかりません。 期間条件に合ったものの抽出はそもそも何のためにするのですか。 >医薬品名称と患者IDが同一で、来局日が複数ある場合、来局日が古い行にフラグを付ける 目的は。

その他の回答 (5)

回答No.5

はじめまして、通るすがるともうします。 上記要件についてなのですが、今現在マスター化しているデータ量は 5000件ということなのですがこのデータ量は今現在のものであって 今後増えていくことがありえると考えてよいのでしょうか? もし、そうならどの程度の容量で見積もっているのでしょうか? というのは、現在お使いのexcelのバージョンにより最大約6万5千件 が限度(office XP以前だと)ということを意識しておいたほうが よいと思います。また、検索用データベースに対して加工を行うとそれ相応 の資源(メモリ)が必要となり、処理を組み込み後運用に耐えられない結果 を生み出す可能性もでてくるかと思います。 そのような結果となるまえに今から、専用のデータベースとそれに対応した 開発言語などを使用して必要なツールを構築したほうがよいと思います が如何でしょうか? 開発環境としては以下のような組み合わせがあるかと思います。  postgress + ,net(vb、c#、j#など)  oracle+.net(同上)  など データ抽出方式も上記データベースを使用することにより代四世代言語 (SQL)が利用でき生産効率も上がるかと思います。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

#3です。 訂正があります。 E2に =IF(COUNTIF(D:D,D2)=COUNTIF(D$1:D2,D2),1,0) と入力し、列D全体にコピペ。 ↓ E2に =IF(COUNTIF(D:D,D2)=COUNTIF(D$1:D2,D2),1,0) と入力し、列E全体にコピペ。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

4/1~4/30の間に来局する患者一覧を抽出したなら、5/1以降のデータは抽出されないのは当たり前ですよね。 なぜ警告が必要なのでしょうか? ところで、現時点で、抽出はどのようにしているのでしょうか? VBAですか? 【案1】なら、VBAを使わずとも実現できますよ。 たとえば、列Dと列Eを作業列にして、 D2に =A2&B2 と入力し、列D全体にコピペ。 E2に =IF(COUNTIF(D:D,D2)=COUNTIF(D$1:D2,D2),1,0) と入力し、列D全体にコピペ。 そうすると、列Eは、医薬品名称と患者IDが同一なもののうち、最後のものだけ1、最後ではないものは0、になります。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

先ず、データベースはデータの蓄積に意味があるので、 案1にあるように削除してはマズイでしょう。 そこで、「警告」なんですが、不明点があります。 警告する単位は何でしょう? (1)医薬品名称 (2)患者ID (3)医薬品名称と患者ID 蓄積を考えると、Excelではなく、Accessを使った ほうが大量にデータを蓄えられると思います。 Accessが無ければ、フリーのDBとしてPostgresや MySQLもあります。 簡単なのはPostgresです。GUIも付いています。 勿論、操作はExcelで実行します。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

ある日以降のデータが抽出されない場合、警告を出して再検索するくらいなら、最初から○月○日以降のデータを全て表示すれば良いのではないでしょうか… 【案1】と【案2】もフラグをつけたり削除したりして何の意味があるのか不明ですが…

関連するQ&A