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

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

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

You are not logged in.

Announcement

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


#1 初心者のFileMaker pro Q&A » Apple Event エラー: データが他のユーザ、スクリプトまたはトランザクションによって使用されている(-10011) » 2017-10-05 18:12:51

yup
Replies: 1

アップルスクリプトにて以下の操作を行いたいのですがうまくいきません。

-アップルスクリプトにて文字列を取得する。
-その文字列をファイルメーカーのグローバルフィールドにコピーする。
-先のグローバルフィールドの値を検索キーとして検索を行うFMスクリプトを実行する。(通常ヒットするのは一件)
-対象レコードのフィールドの値を取得する。

検索を行ったあと、対象レコードのフィールドの値を取得しようとするタイミングでタイトルの"Apple Event エラー: データが他のユーザ、スクリプトまたはトランザクションによって使用されている(-10011)"が発生してしまいます。

www.filemaker.com/help/12/fmp/jp/html/create_script.13.20.html
を参考にしましたがさっぱり原因がわかりません。

なにかご教授いただければと思います。

#2 Re: 初心者のFileMaker pro Q&A » テキストの検索がヒットしない » 2017-10-05 18:01:27

yup

いろいろ確認に時間がかかりました。

リンクのスレッドを参考に見てみたのですが、どうやらNULL文字ではなく、濁点、半濁点付きの文字のコードに違いがありました。

HFS+だとNFDになるということで、例えば"で"は"で"となります。

ありがとうございました。

#3 Re: 初心者のFileMaker pro Q&A » テキストの検索がヒットしない » 2017-09-14 08:36:02

yup

今ここに実際の文字列を貼付けてみようと思ったのですがその際にわかったことがあります。

-一旦このメッセージ欄にペーストしたものを再度コピーしたもので検索するとヒットする。
-同様に、テキストエディット経由、グローバルフィールド経由で試してみたがヒットしない。

やはりコード的な何かが影響しているのでしょうか。

#4 Re: 初心者のFileMaker pro Q&A » テキストの検索がヒットしない » 2017-09-14 08:13:16

yup

ヒットしないのにはいろいろなケースがあったのですが整理しました。

検索演算子にからんでいたものもあるのですが、以下のケースがどうしてもわかりません。macの仕様、文字コードなどなのかもしれません。

-Safariにてwebアーカイブを保存する。この際、"書き出し名"をコピーし、FMの"ファイル名"フィールドにペーストしレコードを作る。
-Finder上でwebアーカイブファイルを選択、ファイル名をコピーし、その値でFM上で検索を行った場合ヒットしない。クイック検索はヒットする。
-FM上で"ファイル名"フィールドをコピーし、その値で検索した場合はヒットする。
-文字数、空白など目で見た限りは、双方とも同じ文字列に見える。

一例として、このサイトでwebアーカイブを作成した場合上記の症状が確認できます。
http://www.yabakeisuppon.com/youshoku.html

使用環境は
mac OSX 10.9.5
safari 7.0.6
Filemaker Pro 13.0v3
です。

#5 初心者のFileMaker pro Q&A » テキストの検索がヒットしない » 2017-09-12 21:56:51

yup
Replies: 5

色々環境によるところもあるかとは思いますがとりあえず簡潔に書きます。

ファイルを保存する際に手でファイル名をコピーし、FMの"ファイル名"フィールドにペーストして管理しています。

今回、ファイルの方からそれに該当するレコードを検索したいのですが、ファイル名をコピーしてDBの"ファイル名"フィールドで検索してもヒットしない場合があります。
そのフィールドの値をコピーしてそのまま検索してもヒットせず、==や""を使用してもうまくいきません。
クイック検索ではヒットします。

根本的なことなのでしょうが何が原因でしょうか。

#6 Re: 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-20 01:06:30

yup

今回のケースでは、同一レイアウト内にグローバルフィールドを配置した場合はレコードがmodifyされてしまい、別レイアウト(別テーブル)にグローバルフィールドを配置した場合はトリガースクリプトがループしてしまう、というジレンマがありました。
理解が深まりました。ありがとうございます。

#7 Re: 初心者のFileMaker pro Q&A » 複数条件の検索。空欄の場合の変数 » 2017-08-18 20:18:20

yup

いろいろなやり方、仕様も整理でき、目的の挙動も得られました。ありがとうございます。

#8 Re: 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-18 00:31:45

yup

バグなのか仕様なのかわかりませんが、参照不可になるのは空になった場合で、直接他の画像をペーストした場合でもそのまま元の画像が変数に残っています。

オブジェクトフィールドに関してはスクリプトなどは使いませんので、フィールド選択して、delteキーで画像を消すか、他の画像をペーストするか、が考えられる操作方法です。
ペーストした場合は変数にそのまま画像が残るのでよしとします。
キーで画像を消した場合の処理として、もう一つオブジェクトフィールドを作り、OnObjectKeystrokeトリガでもともとのオブジェクトフィールドから新しいオブジェクトフィールドに画像をコピーし、その新しいオブジェクトフィールドの画像を変数に設定するという方法を考えました。

それか単純に外部参照にするかですね。

#9 Re: 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-17 03:01:44

yup
wader wrote:

フィールド値がなくなると変数も参照不可能になります。(参照のみ、でない場合)

クリップボードのようなものではなく、リンクのようなものということですか。
いったんある画像を「変数を設定」して、その後その画像を削除、その後に他のフィールドに「フィールド設定」しても無事元の画像が入りました。

参照のみ、でない場合、とはどういう意味でしょうか。

#10 Re: 初心者のFileMaker pro Q&A » 複数条件の検索。空欄の場合の変数 » 2017-08-17 01:22:30

yup

書き方が悪かったですが、検索キーは最初にいくつか設定するもので、運用中に検索フィールドが増えていくという意味ではありませんでした。今回は3つくらいなのですが、他で同様の物を作ったときに、キーが多くなったら条件分けがややこしくなっていくなと。
冗長化を防ぐにはSQLなんですね。SQLの知識は全くありませんので今後勉強します。

空白をつける方法、なるほど望み通りの挙動です。
ただ、仕様として検索条件におけるスペースの扱いが気になってしまいます。無視される、ということでしょうか。

#11 Re: 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-16 20:15:43

yup

オブジェクト変数にできました!

http://filemaker-jp.custhelp.com/app/an … -における変数の活用
こちらにはっきりと
>変数に画像やファイルを保存することはできません。画像やファイルを保存する必要がある場合は、(グローバル設定の)オブジェクトフィールドの使用を検討してください。
とありましたので試してもみませんでした。。。

Base64Encode関数を使う方法も、もしこの記述通りオブジェクトがそのまま変数に設定できないのだとしたら有効そうですね。

必要はなくなったのですが、引数に Get(スクリプト名) を設定する方法、参考になりました。スクリプトの過程でレコードを読み込んだときにはこの引数が空ではなくなり。。。という理屈ですね。

ありがとうございました、これをもって本当に解決とさせていただきます。

#12 Re: 初心者のFileMaker pro Q&A » 複数条件の検索。空欄の場合の変数 » 2017-08-16 18:51:17

yup

Hiro様
検索対象のレコードのフィールドが空欄の可能性もありますので空欄が除外だと今回のケースにはちょっとそぐわないかもしれません。

qb_dp様
まさにその通りの症状です。バグだったのですね。そのような情報はどこでキャッチアップできるのでしょうか。

検索キーとなるフィールドが多くなることを考えると、「検索モードに切り替え」で複数条件をifあるいはcaseでやるよりも、「対象レコードを絞り込み」で1フィールドずつ順にやっていくほうが冗長ではなくなるのでしょうか。

#13 初心者のFileMaker pro Q&A » 複数条件の検索。空欄の場合の変数 » 2017-08-16 12:49:14

yup
Replies: 13

複数条件で検索するため、
・検索条件となるいくつかのフィールドの値をグローバル変数格納し、「検索モードに切り替え」で「条件」を各変数を設定し抽出します。
この時、検索条件となるフィールドが空欄の場合、その条件はなし、つまり全てのレコードがヒットするようにしたいのですが実際は$$xxxxとなってしまい一件も引っかからなくなります。
ifで値が空欄の場合はその条件を加えない、という方法ならできると思いますが何かスマートじゃないかんじがします。

このような場合どうするのが定石でしょうか。

#14 Re: 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-16 11:23:29

yup

実際には2回レイアウトの出入りがあったのですが、回答を参考に変数でいけました。ありがとうございます。

この掲示板新参でルールがよくわかっていないのですが
-そもそもの目的が、
-レコードの修正ログをとる。
-その際にOnRecord修正前の値を格納する。
-変数を使えない画像等のオブジェクトをどう格納するか。
-ということでした。
-今回は別レイアウトのグローバルフィールドにコピーペースとするという方法を使ったのですが他にいい方法はありますでしょうか。
このような場合別のトピックをたてた方がいいですか?

#15 初心者のFileMaker pro Q&A » OnRecordLoadトリガでループ » 2017-08-15 20:57:23

yup
Replies: 13

途中にレイアウトが切り替わるステップが含まれるスクリプトをOnRecordLoadで設定したところループしてしまいます。
ブラウザモードのみでの設定なので、いったん検索モードにして元のレイアウトに戻る、というのも試したのですが、検索モードからブラウザモードに戻る時点でトリガが発動してしまうみたいです。
検索モード=特定のレコードでない、ところからブラウザモード=特定のレコードに入る、ということで発動してしまうという仕様なのでしょうか。
なにかループを回避できるアイデアありましたら知恵をお願いします。

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 6 queries executed - Memory usage: 598.48 KiB (Peak: 619.88 KiB) ]