みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
回答ありがとうございました。
Ceiling ( GetSummary ( 早朝出勤時間集計 ; 給与月 )*2 )/2
にしたらできました。
チポさん回答ありがとうございます。
4.25だとしたら…
4.25*2=8.5
8.5を整数にすると9
9/2=4.5
たしかにでますがfilemakerの関数を使うと…
Round (早朝出勤時間集計*2 ; 0 )とすると9とでず57.0と表示されてしまいます。
早朝出勤時間集計=4.25
Round関数の使い方が間違えているのかもしれませんね。
また調べてみます。
いつもお世話になっております。
win10 fmpro14です。
例えば…時間ででた集計値で4.25~4.50とでた数値を4.50にしたいのですが分かりますか?
4.00だったら4.00のまま
0.5毎に切り上げたいのです。
宜しくお願いします。
回答ありがとうございました。
顧客ごとではなく日付ごとで出したかったので(確かに表示の仕方が[2018/10/31-2018/10/31]でおかしいですが)チポさんの提案でいきたいと思います。
Shinさんも、いつも回答ありがとうございます。
いつもお世話になっております。
win7・pro14です。
請求書を再発行する際、検索モードで[締日(フィールド)の値一覧(ドロップダウンリスト)]で選択して行っています。
その日付が古い日順なのを最新の日付が先頭にきた順(降順)で表示したいのですが、できますか?
よろしくお願いします。
チポさん、回答ありがとうございました。
KanaZenkaku ( Substitute ( KanaHankaku(Furigana ( 振込先名 ; 2 ) );
[Char(65438) ; Char(12443)] ;
[Char(65439) ; Char(12444)] ) )
で思うようにできました。
また何かありましたらよろしくお願いします。
いつもお世話になっております。
現在、銀行の振込依頼書のお受取人のカタカナの欄のフィールドには、
「Furigana ( 振込先名 ; 2 )」関数を使って振込先名が漢字で入力されると振り仮名が入るようになっています。
濁点・半濁点も一文字(1マス)として扱わないといけないようなのですが、できるでしょうか?
例えば
「トピック」だと「トヒ○(半濁点)ック」
「ユーザー」だと「ユーサ"(濁点)ー」となるように一文字として表記したいです。
よろしくお願いします。
Mozさん、Shinさん回答ありがとうございました。
Mozさんのサンプルのように作成したら思い通りにできました。
サンプルがあるとありがたいです。
Shinさんの再帰式も前回勉強したので、すんなりと頭に入ってきました。
また何かありましたらよろしくお願いします。
いつもお世話になっております。
銀行の振込依頼書の種別の欄に「銀行/信金/農協/信組/信連/その他」と表記されています。
普通にラジオボタンで作ってしまうと、[●銀行 ○信金…]というように●でチェックがされてしまい文字列は透過にできましたが、この文字列のおかげで種別と種別の間ができてしまいまい位置合わせが上手くできないです。
理想は…
[銀行/信金/農協/信組/信連/その他]の値一覧からドロップダウンリスト選択してフィールドに入力します。
その種別が表記されてある任意の位置で「○」のみが表示されると良いのですが、できるでしょうか?
よろしくお願いします。
win7,pro14
> カテゴリテーブル
そのカテゴリ名が複数あるような商品名はありませんか?ないです。
そのテーブルに、商品名をリスト表示することは可能でしょうか?
明細テーブルからインポートで可能かと思います。
商品名は基本系に少し品番等が加わって、同一商品名になるのはまれです。元のテーブルで、カテゴリ名のフィールドがあれば集計は簡単です。
明細テーブルにカテゴリーフィールドを作るってことですね。
できます。
与えられた商品名から新たな商品名を作ることになると思います。
今思いついたのが、規則性のテーブルを作っておくってことでしょうか。
例えば、以下のようなカテゴリーテーブルを作ります。
カテゴリー
リンゴベース
ミカンウェート
A
AAC
BBB
と、レコードを作成し、
商品名にリンゴベースの文字列がでてきたら、リンゴベースという名前に書き換えて数量を足す、
商品名にみかんウェートの文字列がでてきたら、みかんウェートという名前に書き換えて数量を足す感じになるでしょうか。
違ったらすみません。
ポチさん回答ありがとうございました。
数字に限らず、カタカナでも同文字が続けば
0004リンゴベース 10
0005リンゴベース 10
HM2A0005-KO リンゴベース 20
という商品名、納入数があるとしたら、
リンゴベース 40
という新たな商品名を作りたいです。
すみません。
以前質問した内容に回答がなかったので、質問を書き換えて投稿しました。
トピックが削除できれば良かったのですが…。
宜しくお願い致します。
いつもお世話になっております。
環境はwin7,pro14です。
得意先別売上数量表を作成したいと思っています。
例えば
商品名 納品数
004A 20
005A 30
AAC001 60
AAC005 20
BBB003 10
とあったとします。
これを…
商品名 納品数
A 50
AAC 80
BBB 10
と、重複する文字列ごとに集計を出したいのですができるでしょうか。
宜しくお願いします。
ポチ様回答ありがとうございまいた。
Replace関数
が無い参考書!!そんな粗悪がはびこっているのですかね。。
http://www.filemaker.com/help/14/fmp/ja … tml#423136
関数のヘルプです。全ての関数の解説が有ります。
変な日本語も有りますが、
ただ見ているだけでもどんなことができるのか分かってきますよ。
すみません、INDEX(索引)に記載がなかったので、特殊な関数だと思い込んでしまいつい投稿してしまいました。
「そんな粗悪がはびこっているのですかね。。」っと言われ、気になって、関数・スクリプトステップ一覧のページを調べたら、ありました。
以後は索引以外のところでも確認をして投稿したいと思います。
Shin様回答ありがとうございました。
Hiro様の計算式よりも簡潔に作られていて驚きました。
ちょっと違う関数を使って、
Let ([
$a=合計額;
$c=24;
$n=Length($a);
$b=TextSize(Char(32); $c);
$f=
"Case($n=1; $a;
Let([
$a=Replace ( $a ; $n ; 0 ; $b );
$n=$n-1
]; Evaluate($f))
)"
];
Evaluate($f)
)
Replace関数で文字サイズを変更(置換)&文字間を空ける作業をするのですね。
私の持っている参考書では、Replace関数が載っていませんでした。
初心者、中級者では、そんなに活用されない関数なのかなと思いました。
未知の関数が知れてとっても勉強になりました。
Hiro様回答ありがとうございました。
繰り返しをする時は、case関数や、Evaluate関数を使うことは分かっていたのですが、使い方がわかっていなかった為、活かすことができませんでした。
しかし、上記の自分の考えた計算式と照らし合わせることによって、やっと解読することができました。
本事例は、Evaluate再帰式の趣旨に則しませんが、
あくまで、ループ式の勉強としてなら、
その式例は、(合計額の文字数$kは変動可能、自動取得)Let ([
$a=合計額;
$n=0;
$c=24;
$k=Length($a);
$b=TextSize(Char(32); $c);
$r="";
$f=
"Case($n=$k; $r;
Let([
$n=$n+1;
$r=$r & Middle($a; $n; 1)&$b
]; Evaluate($f))
)"
];
Evaluate($f)
)
文字数が変動することも十分ありえます。
Char(32); がスペースのことだと初めて知りました。
wader様回答ありがとうございます。
昨日一日Let関数を考えた結果、
Let ([
a = 合計額;
n=1;
c=24;
k=9;
b=TextSize ( GetAsText ( " " ); c)];
Middle ( a ; n ; 1 )&b&
Middle ( a ; n+1; 1 )&b&
Middle ( a ; n+2 ; 1 )&b&
Middle ( a ; n+3 ; 1 )&b&
Middle ( a ; n+4 ; 1 )&b&
Middle ( a ; n+5 ; 1 )&b&
Middle ( a ; n+6 ; 1 )&b&
Middle ( a ; n+7 ; 1 )&b&
Middle ( a ; n+8 ; 1 )&b
)
これが私的に限界かなと感じました。
middleの繰り返しの部分をloop処理にして一行にまとめたかったです。
Shin様回答ありがとうございます。
繰り返しフィールドはすぐできそうなので、
今はLet関数を勉強してます。
middleの関数をどう組み込んでやっていけばいいのか悩んでいます。
タブストップ 調べてやってみます。
時間がかかりそうですが、希望のものができるように仕上げていきたいと思います。
Hiro様回答ありがとうございました。
再帰式の理解ができないうちは、このやり方が良いかもしれませんね。
早期実用に向けて頑張りたいと思います。
いつもお世話になっております。
環境はwin7,pro14です。
keimaさんの計算式をアレンジしたいと思います。
https://fm-aid.com/bbs2/viewtopic.php?id=1519
これは、ハガキで7文字なのですが、9文字分の枠に合わせた文字間隔を設定したいのです。
$no=7;を$no=9;に変えたり、
$PSz1=19; /* 数字の間隔 ( スペースのサイズ ) */
$PSz2=24; /* ハイフン部分の間隔 */
を同じ値にしたり、試行錯誤をしてみたのですが、どうしても9文字を表示しようとすると、間隔が開かずに表示されてしまいます。
どうしたらできますか。
よろしくお願いいたします。
7つの数字の文字の間にサイズ指定のスペースを入れた計算式ひとつで済ませる案
フォントはOCRB、文字サイズは12p 。
FMでは文字サイズは整数しか使えないので
各文字の間は半角スペース19p、ハイフン部分は24p にした。
もっと細かく調整したければ、2文字目と3文字目の間のサイズをCase文のところで調整するとか。Let([
$PN=Filter ( RomanHankaku ( 郵便番号 ) ; "0123456789" );
$no=7;
$PSp=" " ;
$PSz1=19; /* 数字の間隔 ( スペースのサイズ ) */
$PSz2=24; /* ハイフン部分の間隔 */
$result="";
$f="Case(
$no < 1;TextFont ( $result ; \"OCRB\" ) ;
Let([$result=Middle ($PN;$no;1) & Case($no=3;TextSize ($PSp ; $PSz2 );TextSize ($PSp ;$PSz1)) & $result;
$no=$no-1
];Evaluate($f))
)"
];
Evaluate($f)
)
ポチ様回答ありがとうございました。
コピー先の絞り込みができていなかったので、できなかったようです。
関連レコードへ移動の仕組みがよくわからなかったので、
以下のスクリプトを作成し、解決できました。
レイアウト切り替え[「納品詳細テーブル」(納品詳細テーブル)]
ブラウズモードに切り替え[]
全レコードを表示
レコード/検索条件/ページ移動[最初の]
複数レコードを対象外に[ダイヤログなし;Get対象レコード数)-1]
コピー[選択;納品詳細テーブル::納品日]
レイアウト切り替え[「受入出庫テーブル」(受入出庫テーブル)]
検索モードに切り替え[]
貼り付け[選択::スタイルなし;納品詳細テーブル::納品日]
レコード/検索条件確定[]
検索実行[]
いつもお世話になったおります。
環境は、win7 pro14です。
直近(最終のレコード)の納品日を別テーブルのフィールドに入力して検索させるスクリプトを教えて下さい。
以下のように自分でも考えてみたのですができませんでした。
コピー[納品詳細テーブル::納品日]
レイアウト切り替え[「受入出庫テーブル」(受入出庫テーブル)]
検索モード切り替え[]
貼り付け[選択;受入出庫テーブル::納品日]
レコード/検索条件確定[]
検索実行[]
検索実行の時にエラーがでます。
「指定された検索条件は有効ではありません。次の作業に進む前に有効な検索条件を入力してください。」
よろしくお願いいたします。
さすがShinさん!
まさに理想どおりの出来栄えです。
レイアウトをアレンジするだけで実務に使えそうです。
ありがとうございました。
いつもお世話になっております。
環境は、win7、pro14です。
材料を仕入れた順に加工し納品をすることになりました。
例えば、
4/30の日付で、材料200個とあるとします。
5/2に50個を納品すると、4/30の材料は150個になります。
その後
5/8の日付で、材料200個が加わります。
5/15に200個を納品すると、4/30の材料は0になり、5/8の材料は150個残ります。
これを、納品書の備考欄に受入日と何個使ったのかを記入しないとなのです。
例)2017/5/15の納品書の備考欄に「200個(2017/4/30→150個(残0個)、2017/5/8→50個(残150個))」と記入する。
このようなことをやりたいのですができますか。
よろしくお願いします。
[ Generated in 0.007 seconds, 6 queries executed - Memory usage: 658.2 KiB (Peak: 696.6 KiB) ]