みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Shinさん
Mozさん
チポさん
返信出来ておらず申し訳ございません。
本件解決出来ました。
また、今回作成していたシステムが紆余曲折ありながらもどうにか完成しました。
皆様のお陰です。
また、改修作業等でお世話になることがあるかもしれませんが、この場をお借りしてお礼をさせていただきます。
ありがとうございました。
himadaneeさん
チポさん
お世話になっております。
ご回答ありがとうございました。
今回チポさんの方法で対応させていただきました。
ありがとうございました。
チポさん
ご回答ありがとうございました。
Shinさんの以下のご回答で解決できました。
>それぞれの検索ボタンに、"氏名1"、"氏名2" ,"氏名3" というスクリプト引数を渡すように設定しておきます。
>最後のフィールド設定は、フィールドを名前で設定 でスクリプト引数を使って行います。
Shinさん
おっしゃる通りです・・・。
ただ、技術的な事はまた質問させていただいてしまうかもしれません。
お二人ともいつもありがとうございます。
チポさん
ご回答ありがとうございました。
動的値一覧で関連させ対応できました。
ありがとうございました。
チポさん
Shinさん
いつもありがとうございます。
Get ( 日付 ) + 1で対応できそうです。
ご回答ありがとうございました。
お世話になっております。
内容の件について質問させていただきます。
◆環境
FM18
Win10
◆内容
閉じるボタンの処理を作成しています。
Bレイアウト上に閉じるボタンを設置しています。
このBレイアウトはAレイアウト上に設置した「Bへ移動」ボタンで遷移したレイアウトです。
以下の動作を実装したいです。
・A⇒Bへ遷移した場合、閉じるボタンを押下した際、Aレイアウトへ戻る
・それ以外の方法でBへ遷移した場合、Cレイアウトへ移動
「Aから遷移した場合」の処理が分からずにいます。
お手数ですが、ご教授いただけますでしょうか。
チポさん
すみません・・・。
正しくは下記です。
変数を設定[$氏名1;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名1; $氏名1]
変数を設定[$氏名2;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名2; $氏名2]
変数を設定[$氏名3;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名2; $氏名3]
>> ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
>このウインドウは開いているのでしょうか?
>ウインドウを操作するより、単にレイアウトを切り替えた方が簡単では。
上記ウィンドウは開いています。
顧客からの要望でモーダルで検索レイアウトを起動してほしいと言われているのです・・・。
himadaneeさん
ご返信ありがとうございます。
すみません、書き方を間違えました。
システム日付を表示する計算値を下記の様に設定しています。
If ( IsEmpty ( Self ); Get ( 日付 ) ; Self )
試しに、下記としてみましたが、取得できませんでした。
If ( IsEmpty ( Self ); Get ( 日付 ) + 1; Self )
設定の仕方に誤りはないでしょうか。
誤りがないとすれば、他に原因があるようですが・・・。
チポさん
いつもお世話になっております。
返信に気づいておりませんでした。
>このスクリプトはできているのでしょう?
>これを三つ作ればいいことでは。
上記試しているのですが、うまくいっていません。
変数を設定[$個人名1;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名1; $個人名1]
変数を設定[$個人名2;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名2; $個人名2]
変数を設定[$個人名3;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名2; $個人名3]
上記スクリプトを設定していますが、氏名2,氏名3の検索ボタンから起動し、氏名を選択すると全画面閉じてしまいます。
上記スクリプトでは過不足ありますでしょうか。
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
現在、指示書レイアウト上に現場代理人フィールド(プルダウンリスト)を設置しています。
上記フィールドは従業員マスタを参照し、値一覧から全従業員名を取得しています。
この全従業員名を取得しているところを、該当の会社コード(例12345)で抽出した氏名のみリストから選択したいと考えております。
スクリプトトリガのOnObjectModifyで下記のスクリプトを設定していますが、抽出されないで全件表示されてしまいます。
検索モード切替[一時停止:オフ]
フィールド設定[T従業員::従業員名;T指示書;;現場代理人]
フィールド設定[T従業員::会社コード;現場代理人12345]
検索実行[]
何かいい方法、または根本的に間違っている等、ご教授いただけますでしょうか。
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
ドロップダウンカレンダを設置し、下記の様に空白の場合、システム日付を表示するように計算値に設定しています。
If ( IsEmpty ( Self ); Get ( 日付 ) + 1; Self )
これをシステム日付の翌日を初期表示するように変更したいのですが方法をご教授いただけますでしょうか。
お手数ですが、よろしくお願いいたします。
Shinさん
お世話になっております。
フィールドの構成は・・・
工事基礎というテーブルがあり、その中に設計者、現場代理人、安全専任者の氏名を表示させるフィールドがあります。
上記が工事の発注受注書にあたるレイアウトになります。
検索ボタンを押下し、起動するレイアウトは、M個人テーブルを参照し氏名を抽出します。
その氏名を工事基礎にある設計者、現場代理人、安全専任者に反映させたいです。
>工事基礎とありますので、工事の発注受注書ですか、M個人テーブルは従業員名簿、テーブル名テーブルは発注受注書で、氏名1〜3は担当者(設計、営業担当、現場監督など)ですか。
>M個人テーブルとテーブル名テーブルの関連はありますか(リレーションを張っていますか?)
上記でも触れていますが、おっしゃる通り工事の発注受注書です。
M個人テーブルは従業員名簿、テーブル名テーブルは工事基礎登録です。
氏名1~3は上記の私の記載通りです。
リレーションについては張っていません。
Shinさん
いつもお世話になっております。
フィールドを名前で設定 [テーブル名::氏名1; $氏名1 & $氏名2 & $氏名3]
の様な設定で合っていますでしょうか。
また、もともと設定していた変数はどのように設定するべきでしょうか。
>変数を設定[$個人名;値:M個人:氏名]
いつもお世話になっております。
下記の内容について質問させていただきます。
◆環境
FM18
Win10
◆内容
下記の様なフィールド、ボタンが存在します。
氏名1フィールド(テキスト) 検索ボタン
氏名2フィールド(テキスト) 検索ボタン
氏名3フィールド(テキスト) 検索ボタン
検索ボタンを押下すると、検索レイアウトが起動します。
検索レイアウトで氏名を検索し選択すると、氏名フィールドへ氏名が表示されます。
この3つの検索ボタンをそれぞれ押下した際、起動する検索レイアウトは同一のレイアウトです。
例えば、氏名2フィールドの横にある検索ボタンを押下し、氏名を選択した場合、氏名2フィールドに氏名を反映させるにはどうしたら良いでしょうか。
ひとつのフィールドへ反映させるスクリプトは下記の様に作成しています。
変数を設定[$個人名;値:M個人:氏名]
ウィンドウを閉じる[現在のウィンドウ]
ウィンドウを選択[名前:”工事基礎”; 現在のファイル]
フィールド設定[テーブル名::氏名1; $個人名]
知恵を貸していただけると幸いです。
よろしくお願いいたします。
Mozさん
いつもお世話になっております。
(本日連投申し訳ないです・・・。)
おっしゃる通り実装したら出来ました。
ようやく検索処理について理解できました。
ありがとうございました。
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
現在、氏名を検索する画面を作成しています。
氏名は氏名マスタテーブルが参照します。
もともと下記のスクリプトを実装していました。(検索ボタン押下時の処理)
下記の処理で全検索と検索窓の文字で検索が実装出来ていました。
【スクリプト処理】
if[IsEmpty(M氏名::検索窓)]
全レコード表示
else
クイック検索の実行[M氏名::検索窓]
end if
ですが、氏名マスタテーブルに在籍区分=1(在籍)、2(退職)があり、在籍区分=1のみを検索対象する必要があり、どの様にスクリプト作成したらよいか悩んでおります。
検索窓で文字を入力し、それが在籍区分=1の項目だった場合に抽出するにはどうしたら良いでしょうか。
どなたかご教授いただけると幸いです。
Mozさん
>この処理で「会社名」が書き換わっているのですからスクリプトの中で「人数」を空にすれば良いでしょう。
おっしゃる通りですね・・・。
ありがとうございました。会社名をセットするスクリプトの中にクリア処理も実装し、対応できました。
早々のご回答ありがとうございました。
Mozさん
会社名フィールド以外のフィールドで試したところ、クリア処理走りました。
会社名フィールドですが、フィールド選択時に別の検索用レイアウトを起動する設定にしています。
その検索用レイアウト上で会社名を選択すると、会社名フィールドに名称が入るように作成しています。
恐らく↑が悪さしていると思われますが、この処理を残したまま、クリア処理を実装することは可能でしょうか。
Mozさん
いつもお世話になっております。
>[OnObjectModify]で[フィールド設定]が正しいフィールドを指定できているなら値は空欄になりますよ。
>他に何か処理をしていませんか?
起票時に記載した処理のみです・・・。
>反応なしというのは見た目上変わらないだけなのか、スクリプトデバッガで見てもトリガが発火していないのかどちらでしょうか?
OnObjectEnterの処理が走った後、OnObjectEnterの処理は実行されませんでした。
>なお、値が元のままでも消えますけど構わないのでしょうか?
>(例:「あいうえお」→誤って消して再度「あいうえお」と入れても消えます)
はい。その場合でもクリアされて構いません。
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
会社名フィールド(テキスト)の値を変更した際、同レイアウト上に存在する人数フィールド(ドロップダウンリスト)の値をクリアしたいです。
当初、スクリプトトリガのOnObjectModifyをチェック(会社名フィールドへ設定)し、スクリプトは下記を設定することで対応できるかと思いましたが、うまくいきません。
(反応なし)
消去[選択; T指示書::人数]
フィールド設定[T指示書::人数; ""]
また、会社名フィールドへは、OnObjectEnterも既に別処理で使用しています。
どの様にしたら、実装出来るでしょうか。
連日質問させていただくばかりで申し訳ないですが、どなたかご教授いただけますでしょうか。
DDさん
ご回答ありがとうございました。
よく考えればわかる事でしたね・・・。教えてくださりありがとうございます。
助かりました。
いつもお世話になっております。
下記の内容の件で質問させていただきます。
◆環境
FM18
Win10
◆内容
日付フィールドへ、初期表示時はシステム日付を表示するように設定しています。(計算値の設定)
もし、ユーザが日付をシステム日付(つまり今日日付)より以前に変更した場合、エラーメッセージを表示したいと考えております。
if [テーブル名::日付フィールド<〇〇]
カスタムダイアログを表示
else if [テーブル名::日付フィールド>〇〇]
現在のスクリプト終了
end if
上記の様なスクリプトを作成しようとしていますが、〇〇の部分にシステム日付を表す処理を、どの様に設定したら良いか分からずにいます。
お手数ですが、どなたか方法をご教授いただけますでしょうか。
Mozさん
>検索条件の入力に使用するフィールドがマスタのフィールドである必要は無いのではありませんか?
仰る通りです・・・。
おかげさまで対応できました。
大変助かりました。
Mozさん
いつもありがとうございます。
>初歩的かどうか判断するのは質問者さんではないのでわざわざ書かなくてもいいですよ。
>簡単に見えて案外難しいこともあります(今回のは簡単そうですが)
そうですね・・・。失礼いたしました。
以後注意いたします。
ご回答ありがとうございました。
まさにサンプルの動作です。
作成してくださりありがとうございました。
ただ、今回、ドロップダウンリストの「区間」とリストの「区間」は同一のフィールドを設定(マスタを参照)しています。
サンプルを流用させていただき、ドロップダウンリストのスクリプト設定を行ってみましたが、上記が関連しているからなのか、ドロップダウンリストの中身が選択できなくなりました。
何か修正が必要でしょうか?
後だしになってしまい申し訳ないです・・・。
いつもお世話になっております。
掲題の件で質問させていただきます。
◆環境
FM18
Win10
◆質問内容
ドロップダウンリストで項目を選択した際、選択した項目のレコードのみ抽出する方法をご教授いただきたいです。
現在、検索レイアウト(リスト形式)を作成しています。
「区間」というドロップダウンリストの中に「東京」「静岡」「神奈川」といった項目が登録されています。
いずれかの項目を選択した際に、選択した項目のレコードのみ抽出できるように実装したいと考えております。
例えば・・・東京を選択した場合
番号 日付 区間
1 2020/12/02 東京
2 2020/12/01 神奈川
3 2020/12/02 静岡
4 2020/12/02 東京
番号1、4のレコードのみを表示したいです。(表示は検索レイアウト上)
設定、もしくはスクリプトで可能でしょうか。
初歩的な質問ですが、どなたかご教授いただけますでしょうか。
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 663.93 KiB (Peak: 701.47 KiB) ]