過去の桐井戸端BBS (桐ver.9)
27611 フォーム表示中、表引きから得た値でレコードすべてを置換したい。 松崎坊 2004/09/09-14:28
お世話になります。

フォームから表引きで値を更新するときには、そのセルだけが更新されますが、表引きから更新されたその値で、
表にある項目のレコードすべてを置換したいのです…

更新された値を変数に格納しておいて、それで項目を置換すればよいのだと思うのですが、
変数がよく分からず、書き方がよく分かりません。

教えていただけるとうれしいです。
27613 Re:フォーム表示中、表引きから得た値でレコードすべてを置換したい。 宮城 2004/09/09-16:46
記事番号27611へのコメント
松崎坊さん、こんにちは。

表操作でやってはいけないんですか? その語句をコピーしといて、
その項目で置換すればできちゃいますけど。

27614 本当に全レコード同じ値に置換するのですか 佐田 守弘 2004/09/09-19:28
記事番号27611へのコメント
松崎坊さん
 >表引きから更新されたその値で、表にある項目のレコードすべてを置換した
 >いのです…
の意味ですが、本当に全レコードを同じ値(表引きした値)に置換するのですか?
全レコード同じ値であるなら、その項目はなくても構わない事になりますが。
(単に定数として扱えばよいので)

佐田守弘(KS-00119)
27616 Re:本当に全レコード同じ値に置換するのですか 松崎坊 2004/09/09-20:58
記事番号27614へのコメント
佐田さん、宮城さんお返事ありがとうございます。

そうなんです。結局項目名を変更することと同じになるんです。

状況は…
多数の患者さんにある病気に効く薬(全ての患者に1種類)を登録しているのですが
今流行のジェネリック(安価な同種同効品)に切り替えることが度々発生するのです。
その項目は”その病気に効く薬”って項目なので他に項目を追加したくないんです。

さらに、毎日その表ファイルから記録用別ファイルに全レコードを書き出しているため、
いつの時点で同種同効品が切り替わったをあとで調べることが出来るようにしたいのです。

宮城さんの仰るとおり表で、置換すれば簡単なのですが
多数のパソコンおんちな人に操作をさせるので、フォームの”…”ボタンで置換させたいのです。

フォームのイベントでの記述が今一よく解りません。
お助けを〜(;_;)

27619 Re:本当に全レコード同じ値に置換するのですか 悲しげ 2004/09/09-21:47
記事番号27616へのコメント
どもっ、松崎坊さん

>多数の患者さんにある病気に効く薬(全ての患者に1種類)を登録しているのですが
>今流行のジェネリック(安価な同種同効品)に切り替えることが度々発生するので
>す。その項目は”その病気に効く薬”って項目なので他に項目を追加したくないん
>です。
>さらに、毎日その表ファイルから記録用別ファイルに全レコードを書き出している
>ため、いつの時点で同種同効品が切り替わったをあとで調べることが出来るように
>したいのです。

え〜、私(悲しげ薬局)はそのスジの人間です。(^^;)
が、上記の文章の意味するところが、実はさっぱり理解できません。(^^;)
多分、やろうとしていることはとても簡単なことのような予感がしないでもないのですが・・・・。

27621 Re:本当はどうしたいのですか? 今どうなってるのですか? 宮城 2004/09/09-22:16
記事番号27616へのコメント
>状況は…
>多数の患者さんにある病気に効く薬(全ての患者に1種類)を登録しているのですが
>今流行のジェネリック(安価な同種同効品)に切り替えることが度々発生するので
>す。その項目は”その病気に効く薬”って項目なので他に項目を追加したくないん
>です。

あんれまあ。佐田さんの疑問、見事に Bingo!じゃあないですか。
これって今まで、「A」という薬が効くってなってた患者さんのデータを「イ」に書き換えたいってことじゃないのですか?
「B」でも「C」でも何でもかまわずに「イ」に書き換えていいんですか?

そうしろとお書きになっていたからそう書いたんですが、まずは「絞込み」がいるんじゃないですか?

(ひょっとすると薬別に表が分かれていてそれでもいのかもしれませんが、ここまでのアナウンスではどうにも判断できかねます。
この世界では『そんなこと岩魚食ったってわかるだろう(IME2002の秀逸な誤変換に感嘆して放置)』ってのは通じませんよ。)

今どうなってるのか、どうしたいのか、よ〜く考えてさらにお書き込みください。

>多数のパソコンおんちな人に操作をさせるので、フォームの”…”ボタンで置換さ
>せたいのです。

# 私ならひたすらコマンドボタンクリックするだけという路線とるところです
# が。なんで「…」ボタンがでてくるの?

27624 Re:本当に全レコード同じ値に置換するのですか 松崎坊 2004/09/09-22:49
記事番号27619へのコメント
皆さま、とにかく大変恐縮です。↓↓↓


作業用TBL(基本ファイルで色々な項目が日々変更される)
--------------------------------
    | 薬  |
--------------------------------
松さん| P …|←表引きファイルから-------------
桐さん| P  |           薬品名
鶴さん| P  |          -------------
                     D←選ぶ
                     E  
                   -------------
ふつう結果は
--------------------------------
  | 薬  | 日 | 
--------------------------------
松さん| D  | 3 | 
桐さん| P  | 3 |
鶴さん| P  | 3 |
         

やりたいことは、一瞬にして(実際はフォームで行いたい)
--------------------------------
  | 薬  | 日 |
--------------------------------
松さん| D  | 3 |
桐さん| D  | 3 |
鶴さん| D  | 3 |
         

記録用TBL
(毎日、記録用ファイルに基本ファイルからレコードを追加で書き出すので)
--------------------------------
  | 薬  | 日 |
--------------------------------
松さん| P  | 1 |
桐さん| P  | 1 |
鶴さん| P  | 1 |
松さん| P  | 2 |
桐さん| P  | 2 |
鶴さん| P  | 2 |
松さん| D  | 3 |
桐さん| D  | 3 |
鶴さん| D  | 3 |

あぁ3日に薬はDに変更になったんだなって感じですけど・・・


一生懸命記述したつもりですが、
なにか、とてもいけない事をしているような気分になってきました。
ご機嫌を損ねているようでしたら、本当にすみません。

27625 Re:本当に全レコード同じ値に置換するのですか 悲しげ 2004/09/09-23:10
記事番号27624へのコメント
>皆さま、とにかく大変恐縮です。↓↓↓
(中略)
>なにか、とてもいけない事をしているような気分になってきました。
>ご機嫌を損ねているようでしたら、本当にすみません。

恐縮がったり、いけないこととかご機嫌を損ねる云々と云うことは全くないので、その辺りは気にしなくてもいいのですけどね。
それはそうなのですが、書かれているようなことが実際にあり得るのか、何のためにそのようなことをするのかが、
私としてはとても不思議で、何ともコメントし難いものが・・・・。(?_?)

つまりきっと何かやりたいことがあって、それを挙げられた方法で
試みようとしているのでしょうけど、元々のやりたいことはもっと
別な方法で実現できるような予感が・・・・。

27627 まだ良く分りません 佐田 守弘 2004/09/09-23:19
記事番号27616へのコメント
松崎坊さん
まだ良く理解できていません。
●再度の確認事項
まず
 >そうなんです。結局項目名を変更することと同じになるんです。
え!。項目名を変更する事と同じとは。この意味が良く分りませんが。
表の項目名を変更するという事は、大げさに言えば、戸籍に書いてある名前を変更する様な事なのですが。

次に、私が書いた
 >本当に全レコードを同じ値(表引きした値)に置換するのですか?
に対する説明が書かれていませんが、前後の話の筋から考えると、
私があるいはと思った表の全てのレコードの意味ではなくて、
絞り込んだ状態での特定の複数のレコードの意味の様ですね。

つまり、[その病気に効く薬]という項目があって、ここに最初は、「葛根湯」
「アスピリン」、「ペニシリン」・・・と記載されているとします。
この状態で表に記載されている全データについて「葛根湯」に書き換えてしまうという意味ではなく、
「アスピリン」だけを「葛根湯」に書き換えるという意味ですね。

であるなら置換の前に対象レコードを絞り込む操作が必要です。

●置換を行うボタン
 >多数のパソコンおんちな人に操作をさせるので、フォームの”…”ボタンで
 >置換させたいのです。
「フォームの”…”」というのは無いので、何かと考えてみたのですが、
表引きなどのリストを開くボタンの意味の事でしょうか。

言い換えると、1レコードについて表引きで値を指定したら、前レコードについて置換したいと言う意味と理解して宜しいでしょうか。

もしそうであれば、ちょっと面倒ではありますが不可能ではありません。
[その病気に効く薬]のソース値更新イベントで、書き換えられた項目値を一度適当な変数に代入してから、
その値で置換を行います。

ただし、単純に行うと大変なことになります。置換を行えば、ソース値が更新されますから、
そこでまたイベントが発生し、これが無限に繰り返されてしまいます。
何か適当なフラグを使い、置換前にフラグを反転して、置換操作は1回だけで
終らせる様な工夫が必要かと思います。
あるいはタイマである時間だけ置換の無効にするとか。
(多分、タイミングを含めた微妙な調整が必要になりそうです。)
その様な事を考えると、コマンドボタンを押して置換を実行させる方が正しいでしょうね。
宮城さんの方法に一票です。

●本当にこの様な操作をさせてよいかの心配
 >多数のパソコンおんちな人に操作をさせるので、フォームの”…”ボタンで置換さ
 >せたいのです。
と書かれている点が何か心配です。簡単な操作で大きな操作が行えるという事は、
ミスオペレーションの危険も内在しています。
無免許の人にレーシングカーを運転させる様な気がしないでもありません。

佐田守弘(KS-00119)
27628 Re:本当に全レコード同じ値に置換するのですか 宮城 2004/09/09-23:30
記事番号27625へのコメント
>>ご機嫌を損ねているようでしたら、本当にすみません。

別に私もこのぐらいでへそ曲げるタマではありませんが、やっぱり
全レコード一律に書き換えてはいけないのではありませんか?

27630 Re:まだ良く分りません 松崎坊 2004/09/10-11:26
記事番号27627へのコメント
みなさん。本当にありがとうございます。
昨日はよく眠れませんでした(^^;

> >そうなんです。結局項目名を変更することと同じになるんです。
>え!。項目名を変更する事と同じとは。この意味が良く分りませんが。
>表の項目名を変更するという事は、大げさに言えば、戸籍に書いてある
>名前を変更する様な事なのですが。
それに近いです。
苗字、名前なら変更がないだろうと思っていたら結婚、離婚を繰り返したり、
会社名なら変更がないだとうと思っていたら合併、吸収を繰り返したり…
ただし、変更する時に表引きリストが参照するのですが。

>つまり、[その病気に効く薬]という項目があって、ここに最初は、「葛根湯」
>「アスピリン」、「ペニシリン」・・・と記載されているとします。
>この状態で表に記載されている全データについて「葛根湯」に書き換えてしまう
>という意味ではなく、「アスピリン」だけを「葛根湯」に書き換えるという意味
>ですね。
項目名「その病気に効く薬」→「注射器」に例えて、データーにはメーカー名が
入っているとします。
うちの施設では注射器のメーカーは1社に統一と決まっているので
常に全てのレコード(メーカー名)を変更(置換)することになります。
従って、絞込みの操作は行っていません。
即ち、全てのレコードを置換したいです。

>●置換を行うボタン
> >多数のパソコンおんちな人に操作をさせるので、フォームの”…”ボタンで
> >置換させたいのです。
>「フォームの”…”」というのは無いので、何かと考えてみたのですが、
>表引きなどのリストを開くボタンの意味の事でしょうか。
書き方がまずくてすみません。その通りです。

>言い換えると、1レコードについて表引きで値を指定したら、前レコードについて
>置換したいと言う意味と理解して宜しいでしょうか。
”前”って”全”ですよね。その通りです。伝わって嬉しいです。

>もしそうであれば、ちょっと面倒ではありますが不可能ではありません。
>[その病気に効く薬]のソース値更新イベントで、書き換えられた項目値を一度
>適当な変数に代入してから、その値で置換を行います。
まさにこれがしたかったのです。構文がよく解りませんが…(^^;

>その様な事を考えると、コマンドボタンを押して置換を実行させる方が正しい
>でしょうね。宮城さんの方法に一票です。
コマンドボタンを押したときに、表引きリストが参照できるのですか(?_?)

>●本当にこの様な操作をさせてよいかの心配…
みなさんにご指導いただいて、私も心配になってきました。(--;
「変更のときは教えてね」ってことで自分で操作したほうが良いのかもしれません。
もう一度よく考えて見ます。

重ねて、ありがとうございました。


27631 Re:まだ良く分りません bonito 2004/09/10-12:09
記事番号27630へのコメント
1.病名と薬品名は1対1(表引きされる側のtbl...マスタ)
2.患者と病名も1対1?(表引きする側のtbl...入力用)
っで2のtblに[日]の項目があるらしいがこの意味する
ところと入力方法及び患者と病名をどこでリンクさせているか等...
イマイチよく判らないながらも...

単に最新マスタの薬品名が欲しいなら表引き関数を使えば良いのでは...
#表引き([病名],=,"薬品マスタ.tbl",[病名],[薬品名])

う〜む、駄目かなぁ〜



27636 Re:まだ良く分りません 宮城 2004/09/10-15:35
記事番号27630へのコメント
ジェネ薬の話が今度は注射器になって、

>うちの施設では注射器のメーカーは1社に統一と決まっているので
>常に全てのレコード(メーカー名)を変更(置換)することになります。

う〜ん、品目ごとに表があるのですか? (@_@;)

でも、1社と決まってないものも当然有りそうだし・・・。(?_?)

自分なら、こういう場合、注射器についてはメーカーは入力しないことにして、

[品目] [メーカー]
注射器 ○×△□

といった別表構えるでしょうね。(データがホントにどうなっててどのように使われてるかよくわからないので、
なんともいえませんが。)

27639 Re:まだ良く分りません 悲しげ 2004/09/10-17:53
記事番号27636へのコメント
私は次のようなことではないかと想像を逞しくしていました。

先発・後発に限らず、この度、院内採用薬を、同種同効品のA薬から
B薬に変更することとなった。ついては、これまでA薬を使っていた
患者に対しては、次回の処方からは、単なる「Do」(前回に同じ)ではなく、
A薬が有った場合には必ずそれをB薬に振り替えて処理させたい。

・・・のような話だとすると、なるほど色々やり方を考えることもできそうな気がするのですが、
どうもお話を聞けば聞くほど、判らなさの度合いが増すばかりのような・・・・。(?_?)

27640 Re:まだ良く分りません しぼうかん 2004/09/10-18:13
記事番号27630へのコメント
松崎坊さん、こんばんは.

その筋の人間でないので外している可能性大だと思いますが、
もし自分が作るならその項目を入力する為の別のフォーム&表を作ります。

現在入力しているフォーム(仮に患者カルテ.wfmとする)とは別に
以下の様な"何とかに効く薬.wfm"(編集表=何とかに効く薬.tbl)を作り、

病名|効く薬|注意点
ああ|A−1|"B−2"と併用はダメ
いい|B−2|
うう|A−1|"B−2"と併用はダメ
ええ|C−3|

患者カルテ.wfm(編集表=患者カルテ.tbl)の[効く薬]の項目に

#表引き([病名],=,"何とかに効く薬.tbl",[病名],[効く薬])

と書いて置いて一番の薬が変更したい時にはコマンドボタンで"何とかに
一番の薬.wfm"をフォーム呼び出しコマンドで呼び出し[効く薬]を入力する、
という方法ではどうでしょうか?

27643 Re:まだ良く分りません 松崎坊 2004/09/10-20:18
記事番号27636へのコメント
宮城さん、こんにちは

>自分なら、こういう場合、注射器についてはメーカーは入力しないこと
>にして、
>
>[品目] [メーカー]
>注射器 ○×△□
>
>といった別表構えるでしょうね

これは元表の注射器項目に#表引きを設定するという意味でしょうか?
過去に一度やってみたことがあったと思います。
これだと別表のメーカー名を変更したあと、元表の項目データを更新するには
ひと作業いりそうな気がするのですが…
メーカー名を変更した時点で更新させたいのです。

生意気言ってすみません。
27644 Re:まだ良く分りません 宮城 2004/09/10-22:57
記事番号27643へのコメント
>これは元表の注射器項目に#表引きを設定するという意味でしょうか?

い〜え、なんにも入れませんと書いたはずですし、なんの設定もしま
せん。個別アイテム単位の表にメーカーデータが入っていなければ個別アイテム単位のメーカー設定ではないとみなし、
「注射器」という品目とメーカーの対応を記述した別表からメーカー名を引くようにします。
実に明快なルールでしょ?

KEVでもCMDでもほんの数行の記述にすぎません。項目計算式だけでも記述できそうな。

27645 Re:まだ良く分りません 宮城 2004/09/10-23:08
記事番号27644へのコメント
あっと、もちろん、アイテムとメーカーを記述した表の項目計算式に記述したりはしませんよ。
それを読みにいく表のほうにです。

自明のこととは思いますが、老爺心ながら。

27649 ありがとうございました。 松崎坊 2004/09/11-11:54
記事番号27631へのコメント
みなさん本当にありがとうございました。

教えていただいた、いろいろな手段があるようなので試してみます。


戻る