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

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

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

You are not logged in.

Announcement

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


#1 2020-09-01 21:21:49

Kiho
Guest

印刷のスクリプトについて

よろしくお願いいたします。
体操教室の成績表を印刷したいです。

【内容】
•年に4回テストがあります。
•クラスは5つあります。
•毎回テスト後に、生徒1人につき1枚の成績表を配布します。(←これをスムーズに印刷したいです)
•成績表はA4縦に、最大4つ並びます。

  1月は第1回目のテストのため1つのみ表示。

  4月は2回目のテストにつき(1月と4月)の2回分表示。

   7月は3回目のテストにつき(1月と4月と7月)の3回分表示。
 
  11月は4回目のテストにつき(1月と4月と7月)の4回分表示。

━━━━━━━━━━━━━━━━
(例)
  タイトルヘッダー 
   氏名   クラス

  ボディ
   開催月  テスト結果
   ※最大4つ縦に入ります※
━━━━━━━━━━━━━━━━
という感じです。

現在は、初心者クラスに在籍の10名分を印刷したい場合、
1人ずつ、生徒の名前で検索をして印刷をしています。

※1人につき成績が1つしかない時、
次の生徒のレコード(成績結果)が表示されてしまう為、
1人ずつ毎回検索をしてから印刷をしています。

生徒が増えて、印刷に大変手間がかかる為、
ボタン1つで、対象者全員分を印刷したいのですが可能でしょうか?
どのようにスクリプトを組めば良いかが分からず困っております。

大変厚かましいお願いですがご教授いただけませんでしょうか。
どうぞよろしくお願いいたします。

#2 2020-09-02 08:47:37

Shin
Member

Re: 印刷のスクリプトについて

一人1回のテストごとに、1レコードを作るようにします。
今の印刷用のレイアウトをリスト表示にして、ボディーは1回分を印刷するようにします。タイトルヘッダを、氏名をキーとする小計パートに変更して、出現ごとに改ページの設定にします。
このレイアウトで、全ての印刷対象に対して氏名でソートすると、生徒ごとの成績表の形になり、印刷すれば、一人1枚で印刷できます。

Offline

#3 2020-09-02 08:48:26

チポ
Member

Re: 印刷のスクリプトについて

生徒をソート対象とする小計パートを配置し、改ページ指定。
これで生徒でソートすると小計パートごとに改ページされます。

Offline

#4 2020-09-02 17:17:17

Kiho
Guest

Re: 印刷のスクリプトについて

Shin様
大変分かりやすい説明をありがとうございました!
無事、理想通りに印刷が出来ました。
ご親切に感謝申し上げます。

チポ様もアドバイスいただきありがとうございます。
こちらは親切な方が多いですね。
初心者には、本当にありがたいです。

#5 2020-09-04 17:03:11

Kiho
Guest

Re: 印刷のスクリプトについて

先日は、アドバイスをいただきありがとうございました。
また、行きづまってます。
よろしくお願いいたします。

1人1回のテストが1レコードです。

下記の計算は可能ですか?

ここ3年間の第2回テストの合格を出す。

例)A子さん
2020年第2回テスト(4月実施テスト)100点
2019年第2回テスト(4月実施テスト)70点
2018年第2回テスト(4月実施テスト)50点

合計230点と出したいです。

#6 2020-09-04 18:17:05

Shin
Member

Re: 印刷のスクリプトについて

集計とリレーションを組み合わせるといいでしょう。サンプルです。
https://www.dropbox.com/s/7uzv5kgjfnxcz … 2.zip?dl=0

Last edited by Shin (2020-09-08 10:04:14)

Offline

#7 2020-09-05 10:42:02

Kiho
Guest

Re: 印刷のスクリプトについて

Shin様

お世話になります!
サンプルまで作っていただきありがとうございます!!
確認後、改めてお返事させてください。

取り急ぎ御礼まで。

#8 2020-09-06 16:53:51

Kiho
Guest

Re: 印刷のスクリプトについて

Shin様

サンプル拝見いたしました。
お忙しい中、ご親切にして下さり、誠にありがとうございます。

お恥ずかしいですが、
仕組みを理解するのに四苦八苦しております。


•生徒マスタのg_Yとg_Y3のグローバルフィールドについて

成績管理とリレーションされ、
データは「2020」と「2018 2019 2020」が入っていますが
この2つのフィールドは、どのような役割をするのでしょうか?

テーブル成績1のフィールドには
2020年の4回分のテスト結果が表示され、

テーブル成績3のフィールドには
ここ3ヶ年の月別テスト合計が表示されています。

すごいです…!私がやりたかったことが、
きちんとなされていて感動しました!!

ただ、仕組みが理解できておりません。
この辺りを教えていただけませんでしょうか?

また、成績テーブルに、この結果を表示する場合は、
ただ単に、s_成績_フィールドを成績テーブルに移動させるだけで良いでしょうか?
よろしくお願いいたします。

#9 2020-09-07 08:38:16

Shin
Member

Re: 印刷のスクリプトについて

g_Yとg_Y3のグローバルフィールドは、リレーション先を特定するためのデータを保存しています。そこに設定されている年のレコード(複数可能)が参照されることになります。あとは、単なる繰り返しフィールドの集計だけです。

成績テーブルとはどんなテーブルですか?必要ですか。
単なる氏名点数の一覧表でしたら、今のテーブルで集計レイアウトを作るだけで同じものが表示できます。

Last edited by Shin (2020-09-07 13:54:36)

Offline

#10 2020-09-07 19:06:38

Kiho
Guest

Re: 印刷のスクリプトについて

Shin 様

こんばんは!いつも丁寧に教えていただきまして
ありがとうございます!

成績テーブルは氏名と点数を入れているだけです。
こちらのテーブルのみで実行できますでしょうか?

それとも作成頂いたようなリレーションが必要ですか?
どうぞよろしくお願いいたします。

#11 2020-09-08 08:49:02

Shin
Member

Re: 印刷のスクリプトについて

過去3年と今年を同時に集計するのは難しいので、リレーションは必要でしょうね。

ただ、過去3年の成績一覧と、3年分の合計を表示、という型式でしたらリレーションは必要ありません。
https://www.dropbox.com/s/7uzv5kgjfnxcz … 2.zip?dl=0

Last edited by Shin (2020-09-08 10:03:59)

Offline

#12 2020-09-09 15:41:57

Kiho
Guest

Re: 印刷のスクリプトについて

Shin様

サンプルまで作って下さりありがとうございます!
教えて頂いた内容で実際にやってみようと思います。
神対応に感謝です‼︎ありがとうございました。

#13 2020-09-18 19:48:34

Kiho
Guest

Re: 印刷のスクリプトについて

再び、こちらで失礼します。
よろしくお願いいたします。

テストの成績を【1人1レコード】作成しています。
リスト形式の一行レイアウトです。

生徒1人ずつ点数を入力する時、
次の生徒の点数フィールドをマウスでクリックしてから
点数を入力していますが、生徒数が多い為、大変手間です。

マウスでクリック⇨点数入力⇨マウスでクリック⇨点数入力

簡単に次の生徒の点数フィールドに
移動できる方法はありますでしょうか?


同じレコード内でしたら、
タブ順設定で簡単に移動出来るのですが

レコードをまたいで移動する際、
簡単に移動出来る方法があれば教えて頂けませんでしょうか?

どうぞよろしくお願いいたします。

#14 2020-09-19 00:56:55

mic
Member

Re: 印刷のスクリプトについて

CTRL+↑、CTRL+↓ でレコード移動できる気がします。

Offline

#15 2020-09-19 08:50:08

Shin
Member

Re: 印刷のスクリプトについて

トリガーを使って、次のレコードへ移動、目的のフィールドへ移動、すればいいでしょう。
トリガーも色々ありますが、OnObjectKeystroke でスクリプトを起動し、Get (トリガキー入力) を使ってタブを検出すれば、思っているようになります。
loop のスクリプトでダイアログをだしていく、という方法もいいかもしれませんよ。

Last edited by Shin (2020-09-19 11:47:10)

Offline

#16 2020-09-19 18:02:19

Kiho
Guest

Re: 印刷のスクリプトについて

mic様
アドバイスをいただきましてありがとうございます!
確かにCTRL↓で移動できますね!!感謝です。
できれば、EnterやRETURNキーで次のレコードに移りたいと
希望がありまして、模索しております。。。


Shin様
いつもご教示いただき本当にありがとうございます。
私の勉強不足は承知の上で、恐れながら再度教えて頂ければと思います。

点数フィールドにOnObjectKeystroke でトリガ設定を行う。
その際のスクリプトは「次のレコードへ移動」とする。

これだけでは思うようになりませんでした。

Shin様のおっしゃる
「Get (トリガキー入力) を使ってタブを検出」について
もう少し詳しく教えて頂いてもよろしいでしょうか。

申し訳ございません。
どうぞよろしくお願いいたします。

#17 2020-09-19 18:22:34

Kiho
Guest

Re: 印刷のスクリプトについて

すみません、補足です。


点数フィールドには、下記のスクリプトを書きました。

If [ Get ( トリガキー入力 ) = ¶]
     レコード/検索条件/ページへ移動[ 次の;最後まで来たら終了オフ]
Endif

   End If

#18 2020-09-19 18:23:49

Kiho
Guest

Re: 印刷のスクリプトについて

【再送】
すみません、補足です。

点数フィールドには、下記のスクリプトを書きました。

If [ Get ( トリガキー入力 ) = ¶]
     レコード/検索条件/ページへ移動[ 次の;最後まで来たら終了:オフ]
Endif

#19 2020-09-20 08:41:15

Shin
Member

Re: 印刷のスクリプトについて

ヘルプにあるように、文字コードで処理したほうがいいのでは。
また、トリガーで起動するスクリプトは、最後に スクリプト結果を0に指定して 現在のスクリプトを終了 を入れないと、何もしないように見えて本来の動作に戻ってしまいます。
それと、¶ はreturnです。enterは拾えませんよ。

Last edited by Shin (2020-09-20 08:57:50)

Offline

#20 2020-09-21 17:53:56

Kiho
Guest

Re: 印刷のスクリプトについて

Shin様

アドバイスありがとうございます。
苦戦しましたが、なんとか下記で思うように動いてくれました。
いつもアドバイスをありがとうございます!!!


If[Code ( Get ( トリガーキー入力 ) ) = 10]
レコード/検索条件/ページへ移動[ 次の;最後まで来たら終了:オフ]
現在のスクリプト終了[結果:0]
Endif

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 562.88 KiB (Peak: 583.79 KiB) ]