みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMP13、WIN7
レコードを検索し、対象レコードのみを別ファイルとして保存したいのですが、
方法はありますでしょうか。
どうしても、検索した対象レコードのみを、CSVやPDFなどではなく
DBファイルとして保存しておきたいのです。
よろしくお願いいたします。
レイアウトもということなら名前を付けて保存でレコード無しにして
元ファイルから対象レコードをインポート
か
データ込みで別名保存して、対象外レコードを削除。
Offline
レイアウトもということでなければ、単にエクスポートでFM形式(DBファイル)も選択できますが。
オブジェクトフィールドがある場合はこれでやりますね。
旅人様、tim様
ご回答ありがとうございます。
やはりスクリプトで1クリックでとはいかないようですね。
スナップショットではダメなの?
Offline
スクリプトにできるはずだけど、なぜか別名保存時に自動的に開く指定をしても開かない。
共有ファイルだと別名保存自体ができませんけどね。
横入り質問ですいません。
Shinさんの仰るスナップショットというのを試してみました。
保存の時「対象レコード」として、100レコードのうちの30レコードを.fpslでデスクトップに保存しました。
デスクトップのこのファイルを開けたところ、30レコードが保存時のまま表示されますが、
全レコード表示を選択するとまた100レコード表示されます。
ショートカットアイコンが作成されたの?という感じです。
.fpslファイルで変更したデータは元の.fp7ファイルに反映されます。
どこか間違っていますでしょうか。
Offline
間違ってませんよ。データでなく検索やソート状態を保存するものです。
例えば、元ファイルで削除したら、30でなく20しか表示されなくなったりします。
スナップショットは、検索された状態を復帰させるための物です。
元質問の具体的な運用が分かりませんので、意図に合うかどうかはわかりません。
Offline
shin様
スナップショットは、yuki様がおっしゃる通り、変更すると元データに反映されてしまうので駄目なのです。
完全に切り離したファイルにして、様々な加工をしたいのです。
元ファイルのレイアウトやスクリプトが不要な、全く独立したファイルならば、ファイルメーカー形式でエクスポートで可能です。これは、1クリックですね。
そのファイルが共有されている物ではないのでしたら、空のファイルを作り、インポートですが、これも1クリックで可能ですよ。
Offline
shin様
レイアウトやスクリプトなどすべての情報が必要なので、難しそうですね。
でも空のファイルにインポートというヒントを頂いたので、やり方を考えたいと思います。
何度もありがとうございました。
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
shin様
丁寧にありがとうございます。
>スクリプト実行 [ 「複製スクリプト実行」ファイル: 「joy-h1866_2」; 引数: $path ]
5行目の「スクリプト実行」ですが、別にスクリプトを作成するということですよね?
よろしければその内容も教えて頂けますでしょうか。
よろしくお願いいたします。
同じスクリプトです。
ファイル参照は変数にできないので、外部スクリプト実行だと、あらかじめ別名保存して作っておく必要がありますよね。
開くとき実行のスクリプトにすればその必要が無いと思ったんだけど、別名保存時に自動的に開けなかったという話。
しまった、FM13だった。3行目を
変数を設定 [ $path_2; 値:Substitute ( Get ( ファイルパス ) ; ".fmp12" ; "_2.fmp12" ) ]
へ修正。
Offline
Pages: 1
[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 530.47 KiB (Peak: 551.38 KiB) ]