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

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

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

You are not logged in.

Announcement

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


#1 2015-08-08 17:46:37

harami
Guest

オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

FileMakerPro13Advanced MacOS10.9.5で利用しています。

オブジェクトフィールドに画像をドラック アンド ドロップする際、
すでに画像が挿入されていた場合は、ダイアログを出したいのですがうまく行きません。

スクリプトトリガでなんとかしようとしたのですが、リスト表示時
アクティブでないレコードにドラック アンド ドロップしても、挿入したレコードがアクティブならないので
うまく行きません。

どなたか、良い案があればお教え下さい。
お願いいたします。

#2 2015-08-09 07:39:17

wader
Member

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

そのフィールドは編集不可にしておいて、フィールドが空の時だけ表示する複製を重ねておけばいいのでは。

Offline

#3 2015-08-09 13:15:29

旅人
Member

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

リレーション可能なら
画像のオブジェクトフィールドをリレーション先の別テーブルに置いて
元テーブルには関連フィールドとして配置。
カスタムアクセス権で別テーブルのオブジェクトフィールドを制限にして
式をIsEmpty(別テーブル::画像フィールド)にするとか。

Offline

#4 2015-08-09 13:30:08

harami
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

早速の返信ありがとうございます。

「次の場合にオブジェクトと隠す」で計算式を
GetAsBoolean ( オブジェクトフィールド )  =  1

としましたら、考えていた動きでできました。
ありがとうございます。

しかし、クライアント端末でFileMakerPro12があります。
12では、「次の場合にオブジェクトと隠す」機能がないので
FMP12でもなんとか出来る方法はないでしょうか?

#5 2015-08-10 19:44:45

harami
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

旅人様

返信ありがとうございます。
前回書き込み時は旅人様の書き込みに気づいていませんでした。
申し訳ありません。

カスタムアクセス権にする案ですが、カスタムアクセス権というものをまったく設定したことがありません。
教えて頂きたいのですが、
「画像のオブジェクトフィールドをリレーション先の別テーブルに置いて」
とのことですが、独立した別ファイルの別テーブルにすると言うことでしょうか?
同一ファイル内の別テーブルでは可能でしょうか?

また、アクセス可能かどうかの判定をIsEmpty関数で行った場合、
一度挿入した画像を削除する場合はどうすれば良いのでしょうか?

カスタムアクセスに関してはまったくの素人なので申し訳ありません。

#6 2015-08-11 08:53:12

旅人
Member

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

同じファイルの別テーブルです。
画像の削除はスクリプトでできます。

Offline

#7 2015-08-11 11:44:22

harami
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

旅人様

返信ありがとうございます。
カスタムアクセス権に関して勉強してトライしてみます。
分からない事があればまた、質問させて頂きます。
宜しくお願いします。

#8 2015-08-11 12:01:48

Layouter
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

harami wrote:

12では、「次の場合にオブジェクトと隠す」機能がないので
FMP12でもなんとか出来る方法はないでしょうか?

Case ( IsEmpty(オブジェクトフィールド) ; Get ( レコードID ) )
の計算フィールドで自己リレーションして、関連フィールドを使う。

#9 2015-08-11 13:40:14

旅人
Member

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

アクセス権の方の簡単なサンプル

http://pupld.net/28/150811/hs02bok940/index.cgi
ドラグ画像.fmp12

アカウント「A」パスワード無しで自動で開きます。
完全アクセスはAdmin パスワード無しです。
(Winはshift、Macはoptionキー押したままファイルを開く)
完全アクセス権で開かないとセキュリティ項目は見ることできません。

アクセス権はカスタムアクセス権の「レコード」の「編集」で別テーブルの
画像フィールドを制限しているだけです。

【難あり】画像ドラグ時に「使用したアクセス権ではこの操作......」が出ますが
これを出なくする方法は分かりませんでした(゚o゚)

Last edited by 旅人 (2015-08-11 13:48:48)

Offline

#10 2015-08-11 14:57:57

scripter
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

>挿入したレコードがアクティブならない
グローバル計算フィールドを作る
Evaluate ( "Get(レコード番号)" ; オブジェクト )
ドロップされた行のレコードがわかる。
しかし(FM12で)Modifyのトリガしか発生しないので元には戻せない。

ドロップさせるためのグローバルフィールドを重ねておいて、その行が空だったら実際のフィールドに移動、とかで
ダイアログ表示と上書き禁止が両方できるかな?

#11 2015-08-20 10:38:13

harami
Guest

Re: オブジェクトフィールドへのドラッグ&ドロップ時に上書きを防ぎたい。

その後の書き込みに気づいていませんでした。
すみませn。

Layouter様
ためしてみましたら、自己リレーションでFMP12でも上書きは防げました。
有り難うございます。

旅人様
わざわざサンプルファイルをつくって頂き有り難うございます。
思っていたより、簡単にカスタムアクセス権は設定できることが分かりました。
ただ、素人がアクセス権をいじるのはちょっと怖い気がします。

scripter様
計算式でドロップされたレコード番号がわかり、Mdfyのトリガは動きました。


もうすこし、試行錯誤してみます。
有り難うございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.032 seconds, 7 queries executed - Memory usage: 524.63 KiB (Peak: 529.53 KiB) ]