初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-03-12 17:31:52

taka
Guest

スクリプトでの検索について

いつもお世話になっています。
Win7 FMPro13使用してます。

テーブルA(レイアウトA)   リレーション     テーブルB(レイアウトB)
フィールドa(患者ID)        =        フィールドd(患者ID)
フィールドb(対応開始日)              フィールドe(対応日)
フィールドc(対応終了日)

上記のようにテーブル、フィールドを作成。

レイアウトAからレイアウトBに変更する際にスクリプトを使用してレイアウトBの

フィールドa かつ フィールドb から フィールドc まで

のレコードを検索したいと考えています。

どのようにスクリプトを組んだらいいのでしょうか?

わかりにくい書き方をしてしまって申し訳ないですが回答宜しくお願いします。

#2 2014-03-12 17:42:27

Traveller
Guest

Re: スクリプトでの検索について

その複合条件で別リレーションを作って関連レコード移動するボタンを作る?

#3 2014-03-13 08:41:59

taka
Guest

Re: スクリプトでの検索について

Traveller様
回答ありがとうございます。

他にやり方等ございますか?

#4 2014-03-13 08:54:10

tim
Guest

Re: スクリプトでの検索について

何で他のやり方が必要なの?

#5 2014-03-13 09:09:47

taka
Guest

Re: スクリプトでの検索について

tim様

ほかのやり方が必要なわけではなくて、他にやり方があるかどうかを聞いたんですが…
Traveller様の方法しかないならその方法で行いますし、それ以外にもあるならそれも検討してみたいというだけなのですが、いけなかったでしょうか?

#6 2014-03-13 09:25:58

Shin
Member

Re: スクリプトでの検索について

フィールドb(対応開始日) > フィールドe(対応日) を除外
フィールドc(対応終了日) < フィールドe(対応日) を除外
という検索する
リレーション条件だと、終了日が空白の時などの処理が面倒

Offline

#7 2014-03-13 09:35:10

taka
Guest

Re: スクリプトでの検索について

Shin様
回答ありがとうございます。

実際にスクリプトを組むとしたらどのように行えばいいのでしょうか?

#8 2014-03-13 10:16:33

tim
Guest

Re: スクリプトでの検索について

別にいけなくはないけど、一番簡単と思われる方法を提示されてるんで、それをやってみれば普通はそれで満足するはずだけど、と思っただけです。
何かその方法ではうまくいかない追加条件があったのかな、とか。

#9 2014-03-13 10:33:30

taka
Guest

Re: スクリプトでの検索について

tim様
お返事ありがとうございます。
正直なところ、まだ初心者で勉強不足なもので、リレーションで行うよりスクリプトで行ったほうが個人的にとっつきやすいのです。
あと、見解を広める意味でも様々なやり方を知りたいというものもあります。

お世話になっている身分で厚かましいとは思っていますが、これからもご教授よろしくお願いします。

#10 2014-03-13 11:33:29

Traveller
Guest

Re: スクリプトでの検索について

Shinさんのは難しいかも知れないので
bとcがグローバル日付ということでしたら

変数を設定 名前$ID    値 A::患者ID
レイアウト切り替え  Bに
検索モードに切り替え 一時停止しない
フィールド設定 B::d  を $IDに
フィールド設定 B::e  を A::b & " ... " & A::c
スクリプト一時停止
検索実行

#11 2014-03-13 11:48:16

taka
Guest

Re: スクリプトでの検索について

Traveller様
回答ありがとうございます。

bとcはグローバル日付にはしておりません。
その場合はどこを変更したらいいのでしょうか?

#12 2014-03-13 12:01:40

Traveller
Guest

Re: スクリプトでの検索について

変数を設定 名前$ID    値 A::患者ID
変数を設定 名前$期間 値 A::b & "..." & A::c
レイアウト切り替え  Bに
検索モードに切り替え 一時停止しない
フィールド設定 B::d  を $IDに
フィールド設定 B::e  を $期間に
スクリプト一時停止
検索実行

#13 2014-03-13 13:03:07

taka
Guest

Re: スクリプトでの検索について

Traveller様

無事に作成できました。
ありがとうございました。

#14 2014-03-13 14:50:57

Traveller
Guest

Re: スクリプトでの検索について

あっちにも質問してる・・・cが空白の時は
変数を設定 名前 $期間   値 A::b & "..." & Case ( IsEmpty (A::c ); Get ( 日付 ); A::c)

#15 2014-04-15 14:15:26

taka
Guest

Re: スクリプトでの検索について

以前の質問を掘り出して申し訳ありません。

#12のTraveller様の回答(スクリプトA)で目的とした検索はできるようになりました。
この検索方法を利用して新たにレコード作成のスクリプト(スクリプトB)を作成しようと思い、

変数を設定 名前$ID    値 A::患者ID
変数を設定 名前$期間 値 A::b & "..." & A::c
レイアウト切り替え  Bに
検索モードに切り替え 一時停止しない
フィールド設定 B::d  を $IDに
フィールド設定 B::e  を $期間に
スクリプト一時停止
検索実行
新規レコード
フィールド設定 B::d を$IDに

としたところこれはうまくいきました。

ところが、スクリプトBでレコードを作成した後にスクリプトAで検索をかけるとスクリプトBで作成したレコードが検索されなくなってしまいました。

どなたか原因と対処法等わかるかたあるでしょうか?

回答宜しくお願いします。

#16 2014-04-15 14:25:16

taka
Guest

Re: スクリプトでの検索について

お騒がせしてすいません。

自己解決しました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 568.2 KiB (Peak: 584.74 KiB) ]