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

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

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

You are not logged in.

Announcement

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


#1 2014-08-07 12:01:27

taka
Guest

フィールドへの入力の制限

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

使用状況F 使用場所Fを作成しました。
使用状況Fが「使用可能」の時のみ使用場所Fに入力が可能になるようにしたいのですがどのようにすればいいでしょうか。

宜しくお願いします。

#2 2014-08-07 12:26:50

Moz
Member

Re: フィールドへの入力の制限

思いついた3つ。

1.計算値の自動入力に
Case ( 使用状況F = "使用可能" ; Self )
[フィールドに既存の値が存在する場合は置き換えない]-「オフ」

・「使用可能」以外では入力しても確定時(カーソルが抜けると)空欄になります。

2.使用場所Fの[OnObjectKeystroke]トリガに以下のスクリプト
If [テーブル名::使用状況F="使用可能"]
現在のスクリプト終了[結果: True]
Else
現在のスクリプト終了[結果: False]
End If

・「使用可能」以外ではキーを押しても反応がありません。

3.使用場所Fを以下の設定で2つ重ねて表示
[インスペクタ]-[データ]-[フィールド入力]-「ブラウズモード」-「オフ」
[インスペクタ]-[データ]-[フィールド入力]-「ブラウズモード」-「オン」
後者の[次の場合にオブジェクトを隠す]に テーブル名::使用状況F <> "使用可能" と設定

・「使用可能」の場合のみカーソルが入ります。

Offline

#3 2014-08-07 12:32:41

チポ
Member

Re: フィールドへの入力の制限

前スレの続きですよね。

履歴テーブルはやめたのでしょうか?

履歴テーブルならば、
使用可能のみ新規レコード作成可
それ以外は不可にすればいいのですが。

Offline

#4 2014-08-07 12:33:18

Moz
Member

Re: フィールドへの入力の制限

あ、こちらは続き物だったのですね。失礼しました><

Offline

#5 2014-08-07 13:09:48

taka
Guest

Re: フィールドへの入力の制限

Moz様 チポ様
回答ありがとうございます。

チポ様
履歴テーブルを作成したのですが、少しうまくいかなかったので

マスタID=マスタ2ID
マスタ分類≠マスタ2分類

と自己リレーションし
使用状況確認F(計算)
Case(マスタ::使用場所="" and マスタ2::使用場所="" ;  "使用可能" ;
    マスタ::使用場所≠"" and マスタ2::使用場所="" ; "使用中"  ;
        "使用不可")

とすることにしました。
色々と教えてくださったのに申し訳ありませんが、いろいろと参考にさせていただいてます。

Moz様
ありがとうございます。
やってみます。

#6 2014-08-07 13:53:50

taka
Guest

Re: フィールドへの入力の制限

連投申し訳ありません。

Moz様に教えていただいた1と2を行ってみたのですが、うまくいきません。
1は使用可能な状態でも空欄になってしまいます。
2は通常通り入力できてしまいます。

#5に書いた内容が何かしら影響しているのでしょうか?

宜しくお願いします。

#7 2014-08-07 14:40:13

旅人
Member

Re: フィールドへの入力の制限

前スレ分かりませんけど、一番簡単なのは
使用場所FにEnterトリガを設定して、スクリプトを
If [使用状況F≠"使用可能"]
  フィールドヘ移動[]----指定しない
End If
とする。(トリガの弊害?あり)

Offline

#8 2014-08-07 16:03:30

チポ
Member

Re: フィールドへの入力の制限

回答ではありませんが、

Case(マスタ::使用場所="" and マスタ2::使用場所="" ;  "使用可能" ;
    マスタ::使用場所≠"" and マスタ2::使用場所="" ; "使用中"  ;
        "使用不可")

マスタ2::使用場所
これはリレーションの照合1番のレコードの値を返します。
他の関連レコードを見ないからダメでしょう。

Offline

#9 2014-08-07 16:07:29

Moz
Member

Re: フィールドへの入力の制限

#5に書いた内容が何かしら影響しているのでしょうか?

その通りでしょうね。2は動くと思いますが、、、。

旅人さんの提案が分かりやすくていいと思います。

#5 のままではチポさん指摘している部分に加えて、
間違えて何か入力してしまった場合も入力できなくなるのでは?

Offline

#10 2014-08-14 09:20:45

taka
Guest

Re: フィールドへの入力の制限

皆様回答ありがとうございます。
返答遅くなってしまい申し訳ありません。

皆様のおっしゃる通りでうまく動きませんでしたので

Case(
使用場所= "" and List (マスタ2::使用場所) = "" ; "使用可能"
使用場所≠ "" and マスタ2::使用場所 = "" ; "使用中" ; "使用不可" )

としました。
一応これで問題なく動いています。

入力制限の方は旅人様に教えていただいた方法でできました。
ありがとうございます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 517.72 KiB (Peak: 522.26 KiB) ]