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

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

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

You are not logged in.

Announcement

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


#1 2017-10-15 11:05:42

nic
Member

オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

FM11 win7です。

jpgフィールド1とjpgフィールド2に画像が挿入してあり
通常フィールド2からフィールド1へドラック アンド ドロップすると上書きされますが、
この操作にて画像を入れ替えたいのです。

何か良い案があればよろしくお願いします。

Offline

#2 2017-10-15 13:31:04

Shin
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

別のフィールドに退避させておき、上書き、退避させたものを上書き、でしょう。
スクリプトで行うのでしたら、変数が使えます。

Offline

#3 2017-10-15 15:28:18

wader
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

FM11だし(最近のバージョンでも)ドロップではスクリプトトリガがほとんど使えないので、いちいちドラッグしないで入れ替えのボタンを用意しておいたらどうかな?フィールド自体をボタンにするとか。。。

Offline

#4 2017-10-15 23:58:32

nic
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

Shin様、wader様
お返事ありがとうございます。

Shin様がおっしゃる通り別フィールドにて一旦置いて持ってくる方法を使っていまして、というか
画像フィールドが10個くらいありまして、あっちこっちに持っていき入れ替えています。
それ以外に操作する手順が減ればと思いまして質問させていただきました。
質問が説明不足ですいませんでした。

wader様のドロップからのスクリプトトリガなどがあればと思っていました。
今の所なさそうですね。
入れ替えのボタンを用意の案ですが、
質問の時書けばよかったのですが2つのみのフィールドならば良いですが、
それ以上となると使えなくなるような気がします。

Offline

#5 2017-10-16 00:19:57

Shin
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

データそのものを入れ替えるより、データをおいているフィールドのを間接的に表示させる、という方法を取った方が良いかもしれませんよ。

Offline

#6 2017-10-16 09:00:43

nic
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

Shin様、
お返事ありがとうございます。

データをおいているフィールドのを間接的に表示させる

とは、各画像フィールドに対しダミーフィールド作り重ねるとういことでしょうか?

Offline

#7 2017-10-16 09:30:44

Shin
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

画像データは別のテーブルに置いておき、ID をつけておきます。表示させるテーブルにそのI D を設定し、画像を表示させる、という事です。

Offline

#8 2017-10-17 00:07:59

nic
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

Shin様、
お返事ありがとうございます。

わからなくて申し訳ないのですがIDをつけるとはどういうことでしょうか?
別テーブルを作るとしてそのIDと今あるテーブルに作るIDをリレーションで結んで
表示させるということでしょうか?

Offline

#9 2017-10-17 09:17:10

チポ
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

画像フィールド数だけボタンを作り、
そのボタンを二つ押すと対応するフィールドの画像を入れ替える方法を。


各ボタンに対応するフィールド名を完全修飾でスクリプトパラメータに設定しておきます。

スクリプトの考え方
1回目のボタンで、対応するフィールド名をグローバル変数に設定し、
2回目のボタンで、画像を入れ替える
1回目と2回目の判定はグローバル変数の値の有無で見ます。

  If[ IsEmpty ( $$グローバル変数 ) ]
    変数を設定[$$グローバル変数 ; Get( スクリプト引数 ) ]
  Else
    変数を設定 [$jpg ; GetField ( Get ( スクリプト引数 ) ) ]
    フィールドを名前で設定 [ Get ( スクリプト引数 ) ; GetField ( $$グローバル変数 ) ]
    フィールドを名前で設定 [ $$グローバル変数 ; $jpg ) ]
    変数を設定[$$グローバル変数 ; "" ]
  End If


ボタンにしましたが、
状況が許せば、フィールドをボタンにするとか、
スクリプトトリガにすることもできますね。

Offline

#10 2017-10-17 09:37:59

チポ
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

ああ、書き落としました。

ボタンを1回押して、レコード移動し、またボタンを押す。
これではメチャメチャになってしまいますね。

OnRecordLoad
で、グローバル変数をリセット
など考えた方がいいかもですね。

Offline

#11 2017-10-17 10:37:19

Shin
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

昔の話を思い出したのですが、ライジングサンさんが発表されている仕組みを使えば、少しの改良でそのまま実現できるはずですが。
https://risingsun-system.biz/drag-and-d … filemaker/
非常によくできていますが、理解するのにかなりの知識が必要でしょう。

Offline

#12 2017-10-17 22:30:22

nic
Member

Re: オブジェクトフィールド間のドラッグ&ドロップ時に画像を入れ替えたい。

チポ様、Shin様
お返事ありがとうございます。

チポ様の案ですが、画像フィールドの下に画像挿入ボタンと拡大ボタンがあり、
さらにボタンが増えると押し間違えが出てきそうなのでむずかしいかなと思います。

Shin様 ライジングサンさんのyoutubeで解説がありましたので、勉強させていただきます。
ドラッグ&ドロップで操作が希望ですので今回の要件にあっているように思います。
後は、ドラッグ&ドロップしたときに再ソートされるのを入れ替えたようにみせるよう
したいと思います。このせんで行きたいと思います。ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 526.62 KiB (Peak: 547.52 KiB) ]