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

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

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

You are not logged in.

Announcement

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


#1 Re: 初心者のFileMaker pro Q&A » レコード検索のスクリプト » 2017-08-04 18:27:37

tomato様ありがとうございます!

tomato wrote:

コピーや貼付は使ったことないので、わかりませんが

1:コピーを、変数でA共通IDを取得 に変更
2:貼り付けをフィールド設定:値:変数 に変更

でも起こりますか?

変数は、一度使ってみたきりなので自信がないのですが、

・コピー[選択;テーブルA::共通ID]
⇒変数を設定[$共通ID;値:テーブルA::共通ID]

・貼り付け[選択;テーブルB::共通ID]  (2か所)
⇒フィールド設定[テーブルB::共通ID;$共通ID]

に変更してみたところ、
Loopでも問題なくスクリプトが完了しました。
スクリプトが完了するまで1分半ほどかかってしまったのですが、
頻繁に使うスクリプトではないので、良しとしようと思います。

このようなスクリプトをあと2、3個使用する必要があるので、
全てで試してみたいと思います。

もしまた不具合が出てきてしまいましたら、また質問させてください。

#2 初心者のFileMaker pro Q&A » レコード検索のスクリプト » 2017-08-04 16:16:37

FM11使用
Replies: 3

File Maker Pro 11を使用している者です。
レコード検索のスクリプトをLoopで作成する必要があるのですが、途中で止まってしまい、困っています。
長くなりますが、よろしくお願いいたします。


下記のように、複数のテーブルで共通IDを設定・互いにリレーションし、
それぞれのテーブルに必要な情報を上位のテーブルからルックアップできるファイルを作成しています。

【DBテーブル】共通ID・氏名・住所・電話番号
【テーブルA】共通ID・氏名・住所・履歴
【テーブルB】共通ID・氏名・電話番号・出欠

【DBテーブル】―【テーブルA】―【テーブルB】でリレーションされています。

この状態で下記のスクリプトを作動させると、
最後のレコードまできていないのに、スクリプトのLoopが終了してしまいます。
(Loopを外しても作動しない時がありました。)
”スクリプト一時停止”を挿入して調べたところ、
Loopが終了してしまうのは、下記の←※のタイミングでした。

ーーーーーーー
レコード/検索条件/ページへ移動[最初の]
Loop
コピー[選択;テーブルA::共通ID]
レイアウト切り替え[テーブルB]
検索モードに切り替え[]
貼り付け[選択;テーブルB::共通ID]  ←※
エラー処理[オン]
検索実行[]
If[Get(対象レコード数)=0]
  新規レコード/検索条件
  貼り付け[選択;テーブルB::共通ID]  ←※
Else
  フィールドの再ルックアップ[ダイアログなし;テーブルB::共通ID]
End If
レイアウト切り替え[テーブルA]
レコード/検索条件/ページへ移動[次の;最後まできたら終了]
End Loop
ーーーーーーー

どうも”貼り付け”が上手くいっていないようなのですが、
考えられる原因や、より良い方法を教えていただけると大変助かります。

どうぞよろしくお願いいたします。

#3 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-23 14:44:57

チポ様


原因がわかりました!

「フィールドA」にあたる部分が、「テーブル名::フィールドA」になっていたのが原因でした。
”フィールドへ移動”の指示のときに、上記の表示になっていたので、同じ表記だから~と考えてテーブル名から入力していました。。。

時間がかかりましたが、ようやくスクリプトを完成させることができました。
皆さまお助けいただき本当にありがとうございました!

#4 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-23 11:42:13

scripter様


ありがとうございます。

>レコード/検索条件/ページへ移動[最初の]
>Loop
>>フィールドへ移動[選択/再生;フィールドA]
>>Loop
>>>フィールド設定[TextColor ( Get ( アクティブフィールド内容 ) ; RGB ( 0 ; 0 ; 0 ))]
>>>次のフィールドへ移動
>>>Exit Loop If [Get ( アクティブフィールド名 ) = "フィールドA"]
>>End Loop
>>【ログを消すスクリプト実行】
>>レコード/検索条件/ページへ移動[次の;最後まできたら終了]
>End Loop


こういうことですね!
こちらでやってみたのですが、フィールドAに戻ってもやはりLoopから抜けられません(T T)

ログを残していて、それを見る限りフィールドAには戻っており、後はLoopを抜けるだけなのですが。。。

#5 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-23 10:55:21

投稿が遅くなりました。
チポ様ありがとうございます。

「Get(アクティブフィールド名)」を使用して、あれから何度か試してみたのですが、
どうしてもLoopから抜けることができません、、、

下記でおかしなところがありますでしょうか?
>レコード/検索条件/ページへ移動[最初の]
>Loop
>>フィールドへ移動[選択/再生;フィールドA]
>>Loop
>>>フィールド設定[TextColor ( Get ( アクティブフィールド内容 ) ; RGB ( 0 ; 0 ; 0 ))]
>>>次のフィールドへ移動
>>>Exit Loop If [Get ( アクティブフィールド名 ) = フィールドA]
>>End Loop
>>【ログを消すスクリプト実行】
>>レコード/検索条件/ページへ移動[次の;最後まできたら終了]
>End Loop

何度もすみません。
よろしくお願いいたします。

#6 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-19 17:12:28

チポ様
皆様

お返事遅くなりました。
チポ様、Shin様、ご助言ありがとうございます。
最終的に以下のスクリプトで組むことができました。


>レコード/検索条件/ページへ移動[最初の]
>Loop
>>フィールドへ移動[選択/再生;フィールドA]
>>変数を設定[$変更前;値:フィールドA]
>>Loop
>>>フィールド設定[TextColor ( Get ( アクティブフィールド内容 ) ; RGB ( 0 ; 0 ; 0 ))]
>>>次のフィールドへ移動
>>>Exit Loop If [Get ( アクティブフィールド内容 ) = $変更前]
>>End Loop
>>【ログを消すスクリプト実行】
>>レコード/検索条件/ページへ移動[次の;最後まできたら終了]
>End Loop


「最初のフィールドに戻ったらLoopを抜ける」設定方法がわからず、覚えたての変数を使用してみました。
(たぶん同じ値を入れることはないと思うので、、、)

このスクリプトができたことで、かなり使い勝手のよいシステムになりそうです。
また行き詰ってしまったら質問させてください。

ありがとうございました!

#7 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-18 19:40:44

チポ様
皆さま

Loopを抜けるために、目立たない場所に捨てフィールド(”完”)を作成して、
下記で作動するようになりました。
(ログも表示しているので、ついでに消すスクリプトを挿入しました。)

レコード/検索条件/ページへ移動[最初の]
Loop
  フィールドへ移動[選択/再生; フィールドA]
  Loop
   計算結果を挿入[選択; TextColor ( Get ( アクティブフィールド内容 ) ; RGB ( 0 ; 0 ; 0 ))]
   次のフィールドへ移動
  Exit Loop If [Get ( アクティブフィールド内容 ) = "完"]
  End Loop
  【ログを消すスクリプト実行】
  レコード/検索条件/ページへ移動[次の;最後まできたら終了]
End Loop

いかがでしょうか。。。

#8 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-18 18:15:40

チポ wrote:

それらのフィールド全てにタブ順を振っておいて、
Loopでフィールド一つずつ黒くしていくのはいかがでしょう


チポ様

ありがとうございます。
やはりLoopは候補にあがりますよね。。。

今ざっと数えたところ、80フィールド×50レコードくらいあったのですが、
ひとまずLoopでできるか試してみます。

#9 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-18 17:20:32

scripter様

scripter wrote:

CSVなどにエクスポートして、上書きでインポートすればクリアされます。

ありがとうございます。

試みてみたのですが、MacとWindowsの両方で共有しているからか、文字化けしてしまいました。
ウムラウトなども混ざっているので、できればエクスポートすることなく文字色を変更できたらと思っております。

#10 Re: 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-18 16:08:46

Shinさま

ありがとうございます。
設定の解除という選択肢があるのですね。

設定は、試行錯誤の末、下記で進めています。

●スクリプトトリガOnObjectEnter
変数を設定[$$入力前 ; Get ( アクティブフィールド内容 )]

●スクリプトトリガOnObjectExit
変数を設定[$変更後 ; 値:Get ( アクティブフィールド内容 )]
If [$$入力前 = $変更後]
  現在のスクリプト終了[]
Else
  計算結果を挿入[選択;TextColor ( Get ( アクティブフィールド内容 ) ; RGB ( 255 ; 0 ; 0 ) )]
End If

これを、対象フィールドすべてに一つ一つあてがっています。


よろしくお願いいたします。

#11 初心者のFileMaker pro Q&A » 複数フィールドの文字色の一括変更 » 2016-08-18 14:31:06

FM11使用
Replies: 17

初めて投稿します。

複数フィールドの入力値の文字色を、一括で変更することはできますでしょうか。
File Maker Pro 11を使用している初心者です。

情報の変更箇所がわかるように、変数などを使って入力値に変更のあったフィールド内の文字色が赤くなるように設定しています(変更なしは黒)。
特定の人物が情報を印刷後、全ての入力値の文字を黒色に戻したいのですが、例えば、ボタン操作で一括変更できるのでしょうか。

かなりの数のフィールド、レコードを対象にしたいため、簡単にできる方法があれば、、と思っております。

どうぞよろしくお願いいたします。

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 6 queries executed - Memory usage: 630.13 KiB (Peak: 651.11 KiB) ]