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

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

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

You are not logged in.

Announcement

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


#1 2022-06-19 15:50:43

印刷後フィールドへの入力禁止

FMS19とFMP19でWindows環境、ServerはMACMini(10.14.6)の構成です。
注文書を作りました。
この注文書を印刷したら、フィールドへの入力を禁止にして変更できないようにしたいのです。
印刷したら、チェックボックスにチェックマークをつけるようにして、このチェックマークをはずすと、またフィールドへの入力を可能にしたいです。
よろしくお願いいたします。

Offline

#2 2022-06-19 17:03:45

Shin
Member

Re: 印刷後フィールドへの入力禁止

セキュリティーの設定から、アクセス権セットの設定で、そのフラグがあるとレコードの編集不可にするのが一番簡単でしょう。

Last edited by Shin (2022-06-19 17:04:55)

Offline

#3 2022-06-19 18:06:14

Re: 印刷後フィールドへの入力禁止

アクセス権セットを切り替えるということですか?次のレコードにいったときに、印刷済みチェックをみてアクセス権を変えるということはできるのでしょうか?

Offline

#4 2022-06-19 20:52:16

マルズ
Guest

Re: 印刷後フィールドへの入力禁止

画面一杯の塗りつぶし無しの透明な図形を用意します。
その図形を最前面にしてボタン化し、単一ステップでカスタムダイアログ表示などで「ロック中」などにします。
「次の場合にオブジェクトを隠す」にチェックボックスにチェックが無いと隠すといったようにすると
チェックがあるときは図形の裏にあるフィールドはクリックできず、ダイアログで「ロック中」と出ます。

#5 2022-06-19 21:29:57

Re: 印刷後フィールドへの入力禁止

ありがとうございます。
透明なボタンにして、これを押すとしたのフィールドにアクセスできなくなるのはわかりました。
この操作を印刷済みフィールドの内容で切り替えるのはどうすればよいのでしょうか?
次の場合にオブジェクトを隠すというコマンドがどこにあるかわかりません。

Offline

#6 2022-06-19 21:33:51

マルズ
Guest

Re: 印刷後フィールドへの入力禁止

印刷をスクリプトで印刷するようにして、そのステップでチェックボックスにチェックするようにすればいいです。
レイアウト編集のデータの中にあります。

#7 2022-06-19 22:12:10

Re: 印刷後フィールドへの入力禁止

「次の場合にオブジェクトを隠す」がレイアウト編集の中にあることわかりました。印刷済みのフィールドには印刷時に印刷済をいれるようにしました。
印刷済=”印刷済”の条件をいれましたが、オブジェクトを隠すということがどう作動するのかがわかりません。
今は、透明の枠のところをクリックすればボタンとしてうごき、確かに下のフィールドにはアクセスできません。下のフィールドにアクセスしようとしてもボタンとして動いてしまいます。

Offline

#8 2022-06-20 07:00:23

himadanee
Guest

Re: 印刷後フィールドへの入力禁止

「アクセス権セットを切り替える」ではなく、ユーザのアクセス権ではレコードを条件付きで編集許可にするってことでは。

#9 2022-06-20 07:47:37

Re: 印刷後フィールドへの入力禁止

カスタムレコードアクセス権でフィールドへのアクセスは、フィールドごとに制限の設定はしました。ただ、条件式は、フィールドへのアクセスの欄ではできません。編集などのところではできるのですが、この設定をすると、フィールドがアクセス不可になってしまいました。

Offline

#10 2022-06-20 08:26:36

Moz
Member

Re: 印刷後フィールドへの入力禁止

印刷済にしたレコードのフィールドを編集できなくしたいのではないですか?
それならカスタムレコードアクセス権でレコードの「編集」の条件を計算式にすれば良いのでは?

あちらこちら手を出さずにアクセス権セットでやるか[次の場合にオブジェクトを隠す]でやるか決めたら良いのでは?
よく分かっていなくて言われたままに実装して、できたできないだのとやっているようでは身に付きませんよ。

[次の場合にオブジェクトを隠す]はその式を満たしたとき、オブジェクトが非表示になります。
透明なボタンでやるとわけが分からないのでまずは不透明度が50%くらいのボタンにするとわかりやすいと思います。
印刷済="印刷済" だと印刷済のときにボタンが非表示になっちゃいますね。

Offline

#11 2022-06-20 08:57:36

Shin
Member

Re: 印刷後フィールドへの入力禁止

透明なオブジェクトを使う方法も悪くはないのですが、それが被っているフィールドが多数あるばい、クリックした位置を検出して、その下のオブジェクトへ移動できなければ、使い勝手は極めて悪くなります。FIleMaker の基本機能ではクリックした位置を検出することができないので、この方法は最終的な方法と考えた方がいいでしょうね。

Offline

#12 2022-06-20 09:20:28

qb_dp
Member

Re: 印刷後フィールドへの入力禁止

透明なオブジェクトの場合は、TAB順を設定していると TAB でフィールドへ移動し編集可能状態になります。

透明なオブジェクトを使う は、簡易的な方法で
アクセス権 で設定するのが正攻法なカンジです。

Offline

#13 2022-06-20 09:21:31

チポ
Member

Re: 印刷後フィールドへの入力禁止

いずれの方法でも、
FMはプリンタドライバにデータを渡すまでが仕事で、
その先、実際に印刷されたかは分かりません。
ご注意を。

Offline

#14 2022-06-20 20:26:21

Re: 印刷後フィールドへの入力禁止

どうも、期待どおりにうごいてくれません。
完全アクセス権でファイルからセキュリティ詳細設定でアクセス権セットの新規アクセス権を作りました。レコードの欄をカスタムアクセス権このテーブルに対して編集だけを制限にして印刷済="印刷済”そのほかの項目は「はい」
レイアウト、値一覧、スクリプトのところはすべて変更可能。
その他のアクセス権はすべてチェックをいれました。
このアクセス権で入力が制限されたり、OKなのは、この印刷済のフィールドだけなのです。
レコード全部が制限されません。
なにをまちがっているのでしょうか?
よろしく。

期待する動きは、印刷済フィールドにチェックが入っていれば、印刷済フィールド以外が編集できなくなるという動きです。

Offline

#15 2022-06-20 20:55:11

Moz
Member

Re: 印刷後フィールドへの入力禁止

「印刷済」が "済" で変更できなくするなら 印刷済 = "印刷済" では真逆になりますよ。
(何を設定しているのか考えながら作業されることをおすすめします)

印刷済 ≠ "済" にすれば "済" でないレコードのフィールドは編集できると思いますが......
また、この状態だと "済" を外すこともできないので、外す必要があるなら何らかの手段を考える必要がありますね。

#13 でチポさんが書かれていますが、
実際印刷されたか否かは分からないのでプリンタ側でエラーで印刷されていなかったときに戻す必要があるかも知れないですし。

Offline

#16 2022-06-20 21:36:22

Re: 印刷後フィールドへの入力禁止

うまく動かないので、この条件式は印刷済=”印刷済”や印刷済≠”印刷済”に変えてどうなるかみています。
≠にするとアクセス権がありませんとなり、フィールド内容がみえません。印刷済のフィールドがチェックなしのときにチェックをつけることができますが、チェックがついたら編集できません。
なにか根本的に理解していないとおもうのですが、なにがなにやら。

Offline

#17 2022-06-20 22:18:38

Moz
Member

Re: 印刷後フィールドへの入力禁止

チェックボックスセットで指定している値一覧はどのようになっていますか?

チェックボックスでなく編集エリアにした状態の同じフィールドを用意して、
チェックボックスにチェックしたときにどのような値になっているか確認しましょう。

「編集」のカスタムアクセス権に指定している計算式が成立するとき編集は「できる」「できない」どっちか分かりますか?
闇雲に演算子を変えて意図通りになったからOKという感じでは「理解した」とは言えません。

Offline

#18 2022-06-21 08:08:27

Re: 印刷後フィールドへの入力禁止

ようやくできました。
できなかった理由は、このテーブルは納品書テーブルなのですが、そのフィールドは、別テーブルである納品詳細からリレーションを貼っていました。なのにカスタムアクセス権をこの納品書テーブルに指定してしまっていました。
今回は、印刷済フィールドは入力がいつでもできるわけですが、別テーブルがない場合、印刷済フィールドでオン、オフできるようにするには、この印刷済フィールドを別テーブルに作らなければならないわけですね。

Offline

#19 2022-06-21 09:01:04

himadanee
Guest

Re: 印刷後フィールドへの入力禁止

別テーブルにしなくても、スクリプトをフルアクセスで実行すれば何でも可能です。

#20 2022-06-21 19:49:12

Re: 印刷後フィールドへの入力禁止

それは、スクリプトで印刷済をはずすということですか?

Offline

#21 2022-06-21 20:18:39

himadanee
Guest

Re: 印刷後フィールドへの入力禁止

そうです。

#22 2022-06-21 20:42:35

Re: 印刷後フィールドへの入力禁止

ありがとうございました。すべて解決です。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 562.25 KiB (Peak: 582.79 KiB) ]