カスタムダイアログを表示
カスタムテキストとラベルを使用するカスタムメッセージダイアログボックスを表示します。
オプション
[一般] オプション
- [タイトル:] では、カスタムダイアログボックスのタイトルを指定します。テキストを入力するか、または [指定...] をクリックして計算式からダイアログボックスのタイトルを作成することができます。
- [メッセージ:] では、ダイアログボックスのメッセージを指定します。テキストを入力するか、または [指定...] をクリックして計算式からメッセージテキストを作成することができます。
- [デフォルトボタン:]、[ボタン 2:]、および [ボタン 3:] では、カスタムダイアログボックスに表示するボタンの数と、これらのボタンのラベルを指定します。ボタンのラベルを指定しなかった場合、このボタンはカスタムダイアログボックスに表示されません。ボタンのタイトルを 1 つも指定しない場合は、[OK] ボタンのみがダイアログボックスの右下隅に表示されます。計算式に基づいたボタンのラベルを作成するには、[指定...] をクリックして計算式を指定します。
- [データを確定] チェックボックスを使用すると、各ボタンの動作に基づいてダイアログボックスからターゲットフィールドまたは変数に入力データを渡すことができます。フィールドがターゲットになったときにレイアウト上にアクティブなフィールドがない場合はデータが確定されます。フィールドがアクティブな場合は、レコードが確定したときにデータも確定します。ボタンのチェックボックスが無効な状態でユーザが入力フィールドにデータを入力した場合、ユーザがボタンをクリックしてもレコードに対してデータが確定されないか、またはデータが変数に格納されません。
[入力フィールド] オプション
- [入力フィールド <n> を表示:] で、入力フィールドをアクティブにします。
- [指定...] では、入力のターゲットフィールドまたは変数を選択します。
- [パスワード文字 (*) を使用] を選択すると、入力時や、データベースからの表示の際にテキストがマスクされます。このオプションを使用すると、カスタムダイアログボックスに入力されるデータは表示されなくなりますが、実際のデータはデータベースに保存されており変更されません。
- [ラベル:] を使用して、ラベル (ユーザに対してこの入力を識別するテキスト) を指定します。テキストを入力するか、または計算式からラベルを作成することができます。
互換性
製品 | サポート |
FileMaker Pro | はい |
FileMaker Go | はい |
FileMaker WebDirect | はい |
FileMaker Server | いいえ |
FileMaker Cloud | いいえ |
FileMaker Data API | いいえ |
カスタム Web 公開 | いいえ |
起点バージョン
6.0 以前のバージョン
説明
[[カスタムダイアログを表示] のオプション] ダイアログボックスでは、ダイアログボックスのタイトル、メッセージのテキスト、およびボタンを設定できます。また、入力や表示に使用するフィールドまたは変数を最大で 3 つ指定することができます。カスタムダイアログボックスが表示されている間、スクリプトの実行は停止されます。入力に使用するフィールドには、テキスト、数字、日付、時刻、タイムスタンプ、またはオブジェクトのタイプを使用することができます。入力に使用する変数は、テキストとして値を格納します。また、カスタムダイアログボックスでは、カスタムボタンタイトルの付いた最大 3 つのボタンを使用することもできます。
ユーザプロセスがどのボタンを押したかを判断するには Get (最終メッセージ選択) 関数を使用します。
- 「1」- 最初のボタン (デフォルトでは [OK] ボタン) がクリックされた場合
- 「2」- 2 番目のボタン (デフォルトでは [キャンセル] ボタン) がクリックされた場合
- 「3」- 3 番目のボタンがクリックされた場合
メモ
- 入力フィールドに入力された値がターゲットフィールドのタイプに一致しない場合、入力値の制限のエラーメッセージが表示されます。このダイアログボックスを閉じるには、入力値の制限のエラーを解決する必要があります。入力値の制限の設定を参照してください。
- 指定したターゲットフィールドは、現在のレイアウト上に存在する必要はありません。[フィールド設定] スクリプトステップと同様に、[カスタムダイアログを表示] スクリプトステップの入力フィールドはレイアウトとは無関係です。
- 計算フィールドや集計フィールドにデータを挿入することはできません。
- [カスタムダイアログを表示] はフィールド入力オプションを無視します。フィールドへの入力の許可と禁止を参照してください。
- [カスタムダイアログを表示] スクリプトステップを使用してデータを入力する場合、設定されている可能性があるアクセス権の条件によって制限されます。(すべてのユーザに対してスクリプトを有効にするには、スクリプトパネルで現在のスクリプトを右クリックして、[完全アクセス権を付与] を選択します。)
- Windows では、カスタムダイアログボックスのボタンを操作するキーボードショートカットを作成することができます。ボタンラベルの末尾に、アンパサンド (&) に続けてショートカットキーとして使用する英数字を入力して半角カッコで囲みます。たとえば、「完了」という名前のボタンに対して「D」というキーボードショートカット (Alt+D) を作成するには、「完了(&D)」と入力します。
- すでに使用されているデータベースに対するボタンのデータの確定ステータスを変更する前に、そのボタンでユーザが現在期待している動作と、その動作を変更することによってデータベースに確定された (または確定されなかった) データの有効性にどのような影響があるかを考慮してください。
- より複雑なカスタムダイアログボックスを開発するには、[新規ウインドウ] スクリプトステップを使用することができます。
例 1
検索を実行します。レコードが見つからなかった場合は、カスタムダイアログボックスを表示します。
検索実行 [記憶する]
If [Get (対象レコード数) = 0]
カスタムダイアログを表示 ["レコードが見つかりません。"]
End If
例 2
新しいレコードを作成してユーザに情報の入力を求めるメッセージを表示し、「顧客詳細」レイアウトに切り替えます。最初のボタンは [キャンセル] なので、ユーザがカスタムダイアログボックスで Enter キー (Windows) または return キー (macOS) を押してレコードを誤って作成することはありません。
ウインドウの固定
新規レコード/検索条件
カスタムダイアログを表示 ["新規顧客"; "次のフィールドに情報を入力してください。"; 顧客::会社; 顧客::名前; 顧客::市区町村]
If [Get (最終メッセージ選択) = 1]
レコード/検索条件削除 [ダイアログあり: オフ]
Else
レイアウト切り替え [「顧客詳細」]
End If
例 3
検索モードに切り替えてユーザに検索条件を入力するように求めるメッセージを表示し、検索を実行します。検索で返されるレコードがない場合、検索を再度実行するかどうかを尋ねるメッセージを表示し、スクリプトを再度実行するか、すべてのスクリプトを停止します。
スクリプト: 検索
検索モードに切り替え [一時停止: オフ]
カスタムダイアログを表示 ["ID、名前、または市区町村で顧客を検索します。"; 顧客::ID; 顧客::名前; 顧客::市区町村]
If [Get (最終メッセージ選択) = 1]
検索実行 [ ]
If [Get (対象レコード数) = 0]
カスタムダイアログを表示 ["レコードが見つかりません。検索を再度実行しますか?"]
If [Get (最終メッセージ選択) = 1]
# このスクリプトをサブスクリプトとして呼び出します。
スクリプト実行 [指定: 一覧から ;「検索」; 引数:]
Else
全レコードを表示
# すべてのスクリプトおよびサブスクリプトを停止します。
全スクリプト終了
End If
End If
Else If [Get (最終メッセージ選択) = 2]
ブラウズモードに切り替え [一時停止: オフ]
End If