みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
ご説明ありがとうございました。
使い分けながら理解していこうと思います。
横から失礼します
特定のレコードに絞って、ポータルの集計を行うときは、フィールドタイプを集計にして行なっていたのですが、
今回の様にSum関数を利用するメリットや違いなどを教えてください。
シーラカンスさん
チポさん
>左の「入力値の自動化化」ではないですか?
まさにこの通りでした!
いつもありがとうございます。
Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)
ここは合ってたんですね汗
「記号を禁止したい記号を禁止した記号を禁止したい・・・」
とずっと思ってたらなぜかここに入力してしまいました・・・
チポさん
yayaさん
ご返信ありがとうございます。
そうですよね・・・Filterだと指定文字以外ダメってことですよね。。
いろいろすみません。
実は最初にSubstituteを試したんですが、エラーになってしまい混乱しておりました。

この部分にSubstituteで()を半角スペースに変換する様にしたのですが、
この場合ですと、何も入力できません。
Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)
どこが間違っているかご指摘いただけますでしょうか?
よろしくお願い致します。
いつもお世話になっております
FM14 Adv Mac です
フィールドの入力値制限を行い
記号や特殊文字が入力された場合、半角スペースに変換したい。
です。
https://fm-aid.com/bbs2/viewtopic.php?id=1406
こちらを拝見しまして、Filter 関数できるかと思い下記の様に作成しました。
Filter ( CustomerKeyword ; ()_#$%&=-~^¥|[{]}/?.>,<'! )
しかしながら、計算フィールドに記号を入力すると、記号に反応してしまいます。
\で回避できるかと思ったのですが、それもダメな様なので方法がわかりませんでした。
Filter ( CustomerKeyword ; \(\)_#$%&=-~^¥|[{]}/?.>,<'! )
特殊文字を半額スペースに変換する入力制限を行う場合はどの様にしたら良いでしょうか?
よろしくお願い致します。
オータル行を4行作るスクリプトでは無いような。(2行しか作れないはずですが)
それは置いておいて、上と同じ事を行うサンプルを。
https://www.dropbox.com/s/k05yg35a6agbo … 7.zip?dl=0
スクリプトを拝見しました。完全に理解することが出来ました。
複数の学びがあり感謝です!
fp7 のファイルを FileMaker のアイコンの上にドラッグ & ドロップすると fp7 から fmp12 に変換することができます。
ありがとうございます!
できる様になりました!
スクリプトをコピーしたいとのことですが、
MBS plug-in を入れると、コピーできるようになりますよ。
できる様になりました!
ありがとうございます!
それは置いておいて、上と同じ事を行うサンプルを。
https://www.dropbox.com/s/k05yg35a6agbo … 7.zip?dl=0
サンプルの作成ありがとうございます。
FM14だったので開くことが出来ませんでした。
FM14でも開く方法はありますでしょうか?
オータル行を4行作るスクリプトでは無いような。(2行しか作れないはずですが)
それは置いておいて、上と同じ事を行うサンプルを。
https://www.dropbox.com/s/k05yg35a6agbo … 7.zip?dl=0
すみません・・・
Loop
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "BBB" ]
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "CCC" ]
レコード/検索条件確定 [ ダイアログなし ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "DDD" ]
レコード/検索条件確定 [ ダイアログなし ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "EEE" ]
レコード/検索条件確定 [ ダイアログなし ]
スクリプトの一時停止/続行 [ 間隔 (秒) : .2 ]
レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
End Loop
Loop
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "BBB" ]
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールド設定 [ フィールド2; "CCC" ]
レコード/検索条件確定 [ ダイアログなし ]
スクリプトの一時停止/続行 [ 間隔 (秒) : .2 ]
レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
End Loop
それぞれ修正を加えまして、上記の通りで問題なく動作致しました。
ありがとうございました。
Shinさん
ご返信ありがとうございます
> レコード/検索条件確定 [ ダイアログなし ]
> レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
の間に、スクリプトを0.2秒程度停止させておくと改善するかもしれませんね。
なるほど!
デバッガだと普通に動きますので早速試してみます。
loop で回してポータルを設定していくより、フィールド1、フィールド2を全置換して、関連テーブル側で親テーブルをインポートして、キーフィールドを取得、目的のフィールドを全置換で設定、を2回行った方が早くて確実かと思います。
すみません。理解力が足りず・・・
ポータル行を4行新しく作るので、全置換だと、ポータル側のテーブルで新規にレコードを作成できないと思うのですが、間違っていますでしょうか?
シーラカンスさん
ご返信ありがとうございます
>このスクリプトは
>ポータルに2行追加して
>その後新しいレコードを追加して
>またポータルを2行
>ということですか?
はいそうです。
> レコード/検索条件確定 [ ダイアログなし ] <== なくてもいいように思います
> レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
> End Loop
以前作成したスクリプトをコピペで流用しているのですが、当時作成したときに確定を挟まないと、次のレコードに移動したときの処理でおかしくなったはずです。
> Loop
> ポータル内の行へ移動 [ 選択 ; 最後の ] <===
>. フィールドへ移動 [ フィールド1 ] <===
<===をつけた2行 入れ替えてみるのもいいかも・・・
なるほど。
やってみます
ありがとうございます。
チポさん
ご返信ありがとうございます。
>無限ループってどうなるのですか?
>書かれたステップでは無限になり様がなさそうですが。。
正確には無限ループっぽくなる。です。一行目でずっと動かなくなります。
>このポータルのリレーションは新規レコード作成の許可をしていますよね?
>Loopの中にスクリプト一時停止を入れてLoop1回ごとの状態を見てみたらいかがでしょう。
こうすると、なぜか普通に作成できてしまうのです・・・
> フィールド設定
>はそのフィールドが選択されていなくても実行できますから、
> フィールド移動
>は特に必要ないでしょう。
やはりそうなんですね。どっちでもできるのでどうかと思ってました。
最初のポータルに移動する分は必要で、途中にはさんであるのは(2行目以降を書くとき)は必要ない。ということでよろしかったでしょうか?
あと、すみません。
スクリプトをテキストにコピペする方法ってないんでしょうか?
質問するときにとても大変でして・・・
質問させていただいた書き方の前、つまり最初の段階では下記の様に書いており普通に作業ができました。
Loop
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールドへ移動 [ フィールド2 ]
フィールド設定 [ フィールド2; "BBB" ]
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "CCC" ]
フィールドへ移動 [ フィールド2 ]
フィールド設定 [ フィールド2; "DDD" ]
レコード/検索条件確定 [ ダイアログなし ]
レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
End Loop
(レコード/検索条件確定) は最後だけです。このスクリプトで6000行程度処理して全く問題なかったのですが、違う作業でスクリプトを流用した際になぜか正しく処理ができなくなりました。具体的には書き込む予定のフィールドに正しく書き込めない。です。
理由がわかりませんでしたが、修正の必要がありそうだったので、(レコード/検索条件確定) を間に挟んだところ無限ループする様になりました。
Mac FM14 Adv です。
いつもお世話になっております。
ポータルに連続で書き込むスクリプトステップの書き方についてですが、デバッガでステップインして確認すると問題ないのですが、通常で起動すると無限ループしてしまいます。スクリプトステップの間違っている部分を教えてください。
Loop
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "AAA" ]
フィールドへ移動 [ フィールド2 ]
フィールド設定 [ フィールド2; "BBB" ]
レコード/検索条件確定 [ ダイアログなし ]
ポータル内の行へ移動 [ 選択 ; 最後の ]
フィールドへ移動 [ フィールド1 ]
フィールド設定 [ フィールド1; "CCC" ]
フィールドへ移動 [ フィールド2 ]
フィールド設定 [ フィールド2; "DDD" ]
レコード/検索条件確定 [ ダイアログなし ]
レコード/検索条件/ページへ移動 [ 次の ; 最後まできたら終了 ]
End Loop
Shin様
なるほど。よくわかりました。
ありがとうございました。
Shin様
ありがとうございます。
なるほど。スクリプトステップに書き込まれた明細を作成するのではなく、前日のデータをコピーする事で、新しく変化していくことに対応するわけですね!
ありがとうございます。解決いたしました。
すみません。「ポータル内ではなんらかのソートをすること」
とありましがた、その理由が良くわかりませんでした。
よくある具体例などご教授いただけると助かります。
よろしくお願い致します。
チポ様
ありがとうございます。
>ポータルの新規行に入力する際、動的値一覧を使いたいが、リレーションが確立していないので使えない。
いいえ。リレーションは出来ており、動的一覧も機能しておりますが、毎回同じ入力になるので、その作業を省きたいです。
また、入力ミス、漏れがない様な補助機能として利用したい。ということでした。
A社はりんご、みかん。を毎回発注
B社会はりんごを毎回発注。
といった具合の場合に、A社の「みかん」の入力漏れを無くしたい。という具合です。
商品数が10種類程度、もしくは取引先が10社程度になると、オペレーターの作業ミスが懸念されます
MacOS FMP14Adv
いつもお世話になっております。
ポータルに入力する際に、入力値を補助する方法はありますか?
毎日A社に納品する納品書を作成するとして
A社に納品する商品がたまの変動しかなく
だいたい固定で商品A,商品B,商品Cだとします。
入力の際にオペレーターが商品の種類を
過不足なく入力するための補助機能が欲しいです。
(商品Cを入力するのを忘れた。ということがない様に)
定型文の登録とでもいうのでしょうか。。。
あらかじめリストを作成し、
スクリプトでポータル内にレコードを作成してから入力を開始してもらう
程度しか思いつきませんでした。
シャチさん。
丁寧なサンプルファイル、ありがとうございます!
あの後色々やって見まして、画像の通りではうまくはいきませんでした。
しかし、おかげさまでポータルに関してはだいぶ理解を深めることが出来ました。
仰る通り、販売明細をメインにするか、もう一個上の階層を作るかというところで試行錯誤しています。
今の感じですと、販売明細の一つ上に販売管理のテーブルを作成し、販売IDというユニークキーを追加すれば対応できるかな。という感じになりました。
実際にオペレーションするときのことも考えると、色々考えることがあるのですね。
本当は作って見たサンプルをあげて見てもらいたいところですが、まだ未完成部分が多く、かつなかなか時間も取れないため、ちょっとゆっくりめに頑張ってみようと思います。
いつもご回答いただき、本当にありがとうございます。
たびたびすみませぬ
画像のやつですが、日別明細を主役で日付を主キーにするつもりでしたが、そもそも破綻してたので、シャチさんのアドバイス通り、商品SKUを主キーにして販売明細をポータルで。日別明細は無しで作って見ます。
やっとなんとなくできそうな気がします。
こう、基本構造っていうのが理解できると早いんですが
一番ポイントですよね。
確かに特殊すぎる。
参考画面の3つの表の関係が全くわからない。
どれが元データなのか?
すみませぬ!
この場合、元データは驚きの日別明細です。
日別で収支を確認し、日付の絞り込みで月次を、SKUの絞り込みで単品別を。日付が主役なのです。
販売明細と価格明細の関連がちょっと理解できていないわたしです。
業務形態が特殊かもしれません。販売価格は前月までに決めてセールを実施しますので、商品の単価は販売先ごとに日別で管理しています。販売価格を事前決定で日別に管理する業務形態はあまりないと思います。
この部分は、日付、SKU、販売先ID、の3つでトリプルキーにして単価と値引き価格を引っ張ってきて処理しようと思います。
ファイルメーカー無事移行できたら、この部分のデータはエクセル管理法が楽なんですが、エクセルからデータ参照っていうのは出来るんでしょうか?
使ったことはありませんが、エクセルのメニューにはアクセスとの連携機能などがあるようだったので、ファイルメーカーにもあったら楽だなぁと思いました。ググりましたがわからず。。。
運用面のご心配ありがとうございます。
システムは私が作りますし、入力項目自体を減らせば、おそらく問題ないかと。
シャチさん
ご返信ありがとうございます。
>ポータルに入力するときに日付も入れることで解決できるのでは?
ちょっと情報不足でした。
値引きに関しては、当日決まるわけではなく、最低30日以上前に予算を決定します。リベートというのですが、販売個数に応じて値引き金額が決まります。100円のリベート設定で、1日に10個売れれば、その日は1000円の値引きとなります。これをオペレーターには入力させたくありませんし、30日以上前に決まったデータを目視で参照しながら入力するのもダメです。
よって
値引きテーブル or 価格テーブルで(この辺の名称はどっちでもいいんですが)
リベートを実施する日程が決まったときにその日程を入力しておくテーブルがあれば
売上データを入力するときに参照し、計算が可能なのでこういった方法かなと。
5日〜7日までセールを行うイメージ
https://www.evernote.com/l/AEemPdq5m4VH … 4rbsMV73TI
価格に関しても前月までに予算として販売価格を決定しますので、価格明細テーブルは前月までに翌月分を確定
日々の入力テーブルは日別明細に行い、他の明細はポータルで管理。
スプレッドシート的な思考なことも、転換が必要なこともわかっているつもりなのですが、かといっていきなり転換できるわけでもなく。。。なので鍛えていただけると助かります。
前段階で、予算やらイベントやらリベートやら、色々決めるので、それらを忘れず運用していくにはどうしたら良いかといった感じです。
[ Generated in 0.010 seconds, 6 queries executed - Memory usage: 734.13 KiB (Peak: 788.29 KiB) ]