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

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

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

You are not logged in.

Announcement

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


#1 2014-07-18 15:02:39

kouichi
Guest

対象レコードのみ、名前を付けて保存したい。

FMP13、WIN7

レコードを検索し、対象レコードのみを別ファイルとして保存したいのですが、
方法はありますでしょうか。


どうしても、検索した対象レコードのみを、CSVやPDFなどではなく
DBファイルとして保存しておきたいのです。


よろしくお願いいたします。

#2 2014-07-18 15:29:14

旅人
Member

Re: 対象レコードのみ、名前を付けて保存したい。

レイアウトもということなら名前を付けて保存でレコード無しにして
元ファイルから対象レコードをインポート

データ込みで別名保存して、対象外レコードを削除。

Offline

#3 2014-07-18 16:18:43

tim
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

レイアウトもということでなければ、単にエクスポートでFM形式(DBファイル)も選択できますが。
オブジェクトフィールドがある場合はこれでやりますね。

#4 2014-07-18 18:24:17

kouichi
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

旅人様、tim様

ご回答ありがとうございます。

やはりスクリプトで1クリックでとはいかないようですね。

#5 2014-07-18 18:26:30

Shin
Member

Re: 対象レコードのみ、名前を付けて保存したい。

スナップショットではダメなの?

Offline

#6 2014-07-19 10:08:46

からし
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

スクリプトにできるはずだけど、なぜか別名保存時に自動的に開く指定をしても開かない。
共有ファイルだと別名保存自体ができませんけどね。

#7 2014-07-22 11:59:19

yuki
Member

Re: 対象レコードのみ、名前を付けて保存したい。

横入り質問ですいません。
Shinさんの仰るスナップショットというのを試してみました。
保存の時「対象レコード」として、100レコードのうちの30レコードを.fpslでデスクトップに保存しました。
デスクトップのこのファイルを開けたところ、30レコードが保存時のまま表示されますが、
全レコード表示を選択するとまた100レコード表示されます。
ショートカットアイコンが作成されたの?という感じです。
.fpslファイルで変更したデータは元の.fp7ファイルに反映されます。
どこか間違っていますでしょうか。

Offline

#8 2014-07-22 12:27:25

tim
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

間違ってませんよ。データでなく検索やソート状態を保存するものです。
例えば、元ファイルで削除したら、30でなく20しか表示されなくなったりします。

#9 2014-07-22 15:32:48

Shin
Member

Re: 対象レコードのみ、名前を付けて保存したい。

スナップショットは、検索された状態を復帰させるための物です。
元質問の具体的な運用が分かりませんので、意図に合うかどうかはわかりません。

Offline

#10 2014-07-22 17:12:48

kouichi
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

shin様

スナップショットは、yuki様がおっしゃる通り、変更すると元データに反映されてしまうので駄目なのです。
完全に切り離したファイルにして、様々な加工をしたいのです。

#11 2014-07-22 17:35:18

Shin
Member

Re: 対象レコードのみ、名前を付けて保存したい。

元ファイルのレイアウトやスクリプトが不要な、全く独立したファイルならば、ファイルメーカー形式でエクスポートで可能です。これは、1クリックですね。
そのファイルが共有されている物ではないのでしたら、空のファイルを作り、インポートですが、これも1クリックで可能ですよ。

Offline

#12 2014-07-23 10:23:53

kouichi
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

shin様

レイアウトやスクリプトなどすべての情報が必要なので、難しそうですね。
でも空のファイルにインポートというヒントを頂いたので、やり方を考えたいと思います。

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

#13 2014-07-23 17:03:29

Shin
Member

Re: 対象レコードのみ、名前を付けて保存したい。

If [ Get ( レコード総数 ) ]
 変数を設定 [ $path; 値:Get ( ファイルパス ) ]
 変数を設定 [ $path_2; 値:Substitute ( Get ( ファイルパス ) ;[ ".fp7" ; "_2.fp7" ];[ ".fmp12" ; "_2.fmp12" ])  ]
 名前を付けて保存 [ 「$path_2」 ][ データなしのコピー ]
 スクリプト実行 [ 「複製スクリプト実行」ファイル: 「joy-h1866_2」; 引数: $path ]
Else
 変数を設定 [ $path; 値:Get ( スクリプト引数 ) ]
 レコードのインポート [ ソース: 「$path」; ターゲット: 「テーブル」; ⽅方法: 追加; 文字セット: 「シフト JIS」; フィールドデータのインポート順: ソースフィールド 1 のインポート テーブル::No ][ ダイアログなし ]
End If

の様なスクリプトで出来そうです。

サンプルは、デバッグの都合で、スクリプト実行をサブスクリプトで行っています。
https://dl.dropboxusercontent.com/u/926 … 66.fp7.zip

Last edited by Shin (2014-07-24 18:55:22)

Offline

#14 2014-07-24 13:15:44

kouichi
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

shin様

丁寧にありがとうございます。


>スクリプト実行 [ 「複製スクリプト実行」ファイル: 「joy-h1866_2」; 引数: $path ]

5行目の「スクリプト実行」ですが、別にスクリプトを作成するということですよね?
よろしければその内容も教えて頂けますでしょうか。
よろしくお願いいたします。

#15 2014-07-24 14:35:47

からし
Guest

Re: 対象レコードのみ、名前を付けて保存したい。

同じスクリプトです。
ファイル参照は変数にできないので、外部スクリプト実行だと、あらかじめ別名保存して作っておく必要がありますよね。
開くとき実行のスクリプトにすればその必要が無いと思ったんだけど、別名保存時に自動的に開けなかったという話。

#16 2014-07-24 18:48:12

Shin
Member

Re: 対象レコードのみ、名前を付けて保存したい。

しまった、FM13だった。3行目を

変数を設定 [ $path_2; 値:Substitute ( Get ( ファイルパス ) ; ".fmp12" ; "_2.fmp12" ) ]

へ修正。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 529.56 KiB (Peak: 550.47 KiB) ]