みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
qb_dpさまのアドバイスをもとにAppleScriptを改変したらやりたいことが実現できました。
windowsでも動かす必要が今後あるかもしれないのでファイルのフォルダの一括インポートもまた勉強しておきたいと思います。
みなさんありがとうございました。
補足ですが、作業フォルダに含まれるファイルの形式はPDFやJPG、エクセルなど様々です。
himadaneeさま
ありがとうございます。
フォルダのインポートでオブジェクトフィールドにファイルを保存するということでしょうか?
MacのFinderでファイルを開く場合もありますので、開く時のファイルパスとして利用するファイル名だけをFileMakerに取り込みたいのですが、そのようにできますか?
いつもお世話になっております。
年度/得意先名/伝票番号というディレクトリで作業フォルダを構成し実務に当たっています。
FileMakerには伝票番号ごとにレコードがあり、年度、得意先名、伝票番号のフィールドがあります。
そのフィールド内容を;区切りで並べて、FileMakerからApple Scriptで作業フォルダを作成したり開いたりできるようにしています。
作業完了後、フォルダ内のファイル名を保存しておいて、次からは作業フォルダを開かなくてもFileMakerからいきなりファイルを開けるようにしています。
方法(スクリプトの中身)としては、以下のような感じです。
1. 作業フォルダ内のファイル名をApple Scriptでクリップボードにコピー
2. FileMaker内の仮置きフィールドに貼り付け
3. 1行ずつファイルテーブルの子レコードを作る
この現在の仕組みですと、作業者が他の作業でクリップボードに保存していた文字列が更新されてしまっていることに気づかず、ファイル名をペーストしてしまうという問題がときどき起こります。
クリップボードを使わずにFileMakerへのファイル名の取り込み行う方法はないでしょうか。
よろしくお願いします。
みなさんありがとうございます。
#5でうまくいきました。
いつもお世話になっております。
以下のようなリストから0の行を取り除くにはどのようにすれば良いでしょうか。
0
10
2
3
0
4
0
↓
10
2
3
4
めちゃ普通ですが、桁数がいつも12桁なら、これでどうでしょうか。
Left ( 送り状番号 ; 4 ) & "-" & Middle ( 送り状番号 ; 5 ; 4 ) & "-" & Right ( 送り状番号 ; 4 )
お二人とも、情報・アドバイスありがとうございます。
フィールド内容のエクスポートをしたところ、wmfでした。
Get( 日付 ) という関数があります。
オブジェクトフィールド入っている画像の見え方が、デバイスによって異なっている場合があります。
画像の貼り付けはWindowsから行なっています。
PowerPoint上に貼り付けてある画像をctrl+Cでコピーし、FileMakerのオブジェクトフィールドを選択してctrl+Vでペーストします。
Windowsでは正しく表示されるのですが、MacやiPadでは左上の一部分だけ拡大・トリミングされたように表示されてしまいます。(同時に確認しました。)
Macからオブジェクトフィールド内の画像をマウスで掴んでデスクトップなどに持ってくると、FileMaker上で見えている通り、左上部分だけの画像が取り出されます。
Windowsの「Shift」+「Windows」+「S」でスクリーンショットをクリップボードにコピーし、同じフィールドへペーストしたときは、Macでも正しく表示できるので、
コピーする元のデータ、コピーの方法によって変化するようです。
オブジェクトフィールドのインスペクタでの設定は、次の用途の最適化は「イメージ」、書式は「枠に合わせてイメージを拡大/縮小」が選択されています。
画像の性質によらず正しく表示する方法はないでしょうか。
原因に関する情報だけでも結構です。よろしくお願いします。
数字をぜんぶ改行にして、連続した改行を1つに変換、つまり数字の塊が改行ひとつになる、ということは2番目の値がほしい文字列…パーフェクトアンサーをありがとうございます。
数字&txtA&数字&txtBとなっているところのtxtAを取得したいです。
どのように計算すればよいでしょうか。
例:
22 あいうえお愛餓お100ABC柿区毛 → あいうえお愛餓お
23 かきくけ500ABCこかき → かきくけ
24 差仕酢ABC1.5せそ → 差仕酢ABC
再計算されてるってことはフィールド設定ならトリガスクリプトが動いているわけだから、変数に入らないのは変ですよね。変数名を打ち間違えてるとか^^;;
データビューアで確認してますか?
すみません、「結果に出てきません」というのは、変数には出ているけど、編集履歴フィールドの中身という結果には出てこないという意味でした。
データビューアで変数が正しく設定されていることは確認できていました。
読み返してみましたが、
スクリプトはファイルをまたいではいませんよね。
一つのレイアウトのみで完結していますよね。
スクリプトはファイルをまたいでいませんが、フィールドの計算値はまたいでいた、ということです。
みなさん返信がおそくなりもうしわけありません。
レイアウト用のファイルではうまくいかなかったことを元テーブルのファイルで試してみたところ、うまく動作することが確認できました。
ということは、やはりデータベース管理のフィールドの入力値の自動化の計算値の中(「の」が多くてすみません)にグルーバル変数が使われている場合に、他のファイルで再計算のきっかけとなるアクションが起きたとしても計算値内のグローバル変数(今回の場合は$$Before)はないものとして扱われてしまうということかなと思います。
グローバル変数はファイル内だけで有効ということを考えれば不思議なことではないですね。
フィールドの入力値自動化でフィールド内容を設定するのではなく、同内容のフィールド設定をするスクリプトにして、履歴を取りたいフィールドのexitにも新たにスクリプトトリガを仕掛けるという、普通のやり方にしたらうまくいきました。
ありがとうございました。
グローバル変数の代わりに、フィールドを一つ作ってしまって、そこに編集前の値を入れるようにしてみます。
これだとフィールドに入るだけで再計算が行われてしまいました…むずかしい…
$$Before は、対象フィールドでOnObjectEnter で設定しているようです。
すみません、そこは書いておくべきでした。動画を確認していただいたようで、補足ありがとうございます。
グローバル変数の設定というたった1行以外にはスクリプトを使わずにできるところがいいと思ってこの方法を試しています。
グローバル変数の代わりに、フィールドを一つ作ってしまって、そこに編集前の値を入れるようにしてみます。
「OnWindowTransaction」はもし今後アップデートすることがあれば試したいと思います。
ありがとうございました。
https://www.youtube.com/watch?v=BPwbhyPhanQ&t=5s
この動画を参考に、いくつかのフィールドの編集履歴を残したいと思っていますが、分離型のためか、うまくいきません。
編集履歴フィールドの入力値の自動化の計算値は以下のようになっています。
Let (
[
// これらのフィールドの変更により再評価させるためのもの
%トリガ = [履歴を残したいフィールド名いろいろ]
] ;
// 記録する内容
Get ( ホストのタイムスタンプ ) & "|" &
Get ( アカウント名 ) & "|" &
Get ( アクティブフィールド名 ) & "|" &
$$Before & " → " &
Get ( アクティブフィールド内容 )&
Case ( not IsEmpty ( Self ) ; ¶ ) &
Self
)
質問1: 計算値の中に$$Beforeというグローバル変数が使われているのですが、この部分が結果に出てきません。
別ファイルのレイアウトで操作している場合は、計算値内のグローバル変数は効かないのでしょうか?
質問2: スクリプトによってフィールド内容が変更されたときはグローバル変数の設定が行われず、もちろんアクティブフィールドもありませんので、うまくいきません。
これはどのように対処すればよいでしょうか。すべて履歴に残せればそれに越したことはないのですが、もし複雑になりそうなら、とりあえず手入力の履歴だけとれるようになっていればOKです。
よろしくお願いします。
デフォルトのメールAppがChromeになってしまってました。
切り替えたら直りました!ありがとうございました。
himadaneeさま
使用しているのはMacの「メール」です。
しかし、mailto:のリンクを押すとChromeでGmailのログイン画面が開きました。
最近個人的にログインしたそうで、それによってターゲットにするメールソフトが切り変わってしまったのでしょうか…
Shinさま
FileMakerのファイルは共有されています。
他のデバイスでは問題なく動作しているので、共有しているファイルの損傷はないと思われます。
使用していた本人は、直前に異常な動きがあったような記憶はとくにないとのことです。が、
・デスクトップにアイコンが多い
・常に焦っていて1回のクリックでいいところを3回くらい押す ダブルクリックは5回くらいクリックしている
というタイプの方です。
いつもお世話になっております。
FMPA17をMacOS HighSierraで利用している一人のユーザーが「メールを作成」のステップを含むスクリプトを実行すると、
「必要なファイルのいくつかが壊れているか、インストールされていません。インストーラを実行して、この問題を修正してください。」のエラーが出てしまいます。
FileMakerアプリケーションの再インストールを行いましたが、解決しませんでした。
問題がおきているのはひとつのMacだけです。
どのような原因が考えられるでしょうか?
他にどのような方法を試せばよいでしょうか?
よろしくお願いします。
Shinさま
今後はファイルの最適化を行うようにしてみます。
お二人ともご回答ありがとうございました。
himadaneeさま
すみません、フィールドの複製という表現は正確ではありませんでした。
役割がほぼ重なって存在してしまっているAテーブルとBテーブルを統合する目的で行いました。
同じ意味のフィールドがありましたので、そのフィールドでリレーションをつないで
Loop
フィールド設定 Bのオブジェクトフィールド : Aのオブジェクトフィールド
次のレコードへ移動
end Loop
というようなスクリプトで行いました。
最初は10レコードずつ、あとは1000レコードずつ様子をみながら行いました。
いつもお世話になっております。
先日、朝に業務を開始したところ、FileMakerServer17でホストしているすべてのファイル(約20ファイル)でオブジェクトフィールドにオブジェクトを挿入できないという不具合が発生しました。
手動でドロップ、スクリプトどちらにおいてもオブジェクトを挿入しようとするとFMがフリーズしました。
また、GetContainerAttributeのcontentもうまく取得できていないようでした。
レコードの表示やテキストフィールドの編集などは問題ありませんでした。
すでに前日までに保存されているオブジェクトフィールドの中身は表示できていました。
50人くらいがWindows、Mac、iPadなどさまざまなデバイスで利用していますが、確認した全員が同じような状態でした。
これらの問題は、FMSのMacを再起動したところ回復しました。
FMSはmacOS Sierraでストレージ500GB中約250GB使用中です。
再発防止をしたいのですが、なにが原因で発生したトラブルだったのかがつかめていません。
どのような原因が考えられるでしょうか?
原因になりそうな直前の作業:
・前々日にあるテーブルのオブジェクトフィールド を別のテーブルのオブジェクトフィールド に複製しました。(約10000レコード)
・あるファイルのテーブル、テーブルオカレンスを削除しました。(約100レコード)
[ Generated in 0.010 seconds, 6 queries executed - Memory usage: 719.04 KiB (Peak: 756.82 KiB) ]