みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMServer13
FMPAdvanced13
macOS10.10です
テーブルが20ほどあるデータベースを社内で運用しています。
今までサーバーで開いているファイルを修正していました。
『データの修正、機能の追加はファイルのクローンの方で行って、データをインポートして公開するのがファイル破損のリスクが低い』と聞いてから、そのようにしようと思うのですが、テーブルのインポートが煩雑で困っています。
スクリプトステップを使って
レイアウトを切り替え[ファイルを挿入するためのテーブルA]
ファイルを挿入[参照で A::フィールド1]
変数を設定[$元ファイルのパス;GetAsText(フィールド1)]
#
レイアウトの切り替え[レイアウト1]
レコードのインポート[ダイアログなし;$元ファイルのパス]
レイアウトの切り替え[レイアウト2]
レコードのインポート[ダイアログなし;[$元ファイルのパス]
レイアウトの切り替え[レイアウト3]
レコードのインポート[ダイアログなし[$元ファイルのパス]
…
としたのですが、2つめ以降のテーブルがうまく切り替わってインポートされません。
テーブルが多いので、自動でテーブルが切り替わるうまい方法はありませんでしょうか。
ファイルの修正の度にこの作業が伴うと思うとなかなか作業が進みません…
よろしくお願いします。
建前上はそうなんでしょうけど、よほど稼働率の低いシステムでなければ実際は無理でしょう。
弄くり回したクローン(試行錯誤の結果ファイル)を再度ホストして
稼働ファイルからレコードをインポートして利用するならリスクはあまり変わりませんよ。
クローンを弄った結果の上澄み(不要に作成したテーブル・フィールド・スクリプト等を含まない)を
弄る前のクローンに移植した方がよいでしょう(あくまで建前上ですが)
サードパーティ製のソリューションに目的に合ったものがあります。
https://fmgateway.jp/fmgsoft/refreshfm01/
Last edited by Moz (2015-07-14 12:49:15)
Offline
scripterさん
Mozさん
ご回答ありがとうございます。
なんだか実際運用のホンネとタテマエが垣間見えたような気がします。
なかなか情報交換する方もおらず、ネット上のドキュメントがなによりの手引きなもので…
FMGatewayのツールのご紹介ありがとうございます。
こんなものがあるのですね、素晴らしい。
コストに見合う開発、働きができるか、上司に相談、検討してみます。
実際の現場では
・あまり手を加えない
・業務時間外(他のスタッフが使っていない時間)に休日出勤などして手直しする
・ローカルで手を加えておいて、アクセスが少ないタイミングを見計らってアップロードする
というケースが多いのでしょうか?
すみません、タイトルと内容が関連をもちつつも若干乖離してしまいました。
レコードのインポートスクリプトは複数テーブルの運用には適さない、と理解してよろしいでしょうか?
レコードのインポートなどは、複数テーブルでも使えますよ。インポートの設定がおかしいのだと思います。
私は、小さな変更については、実運用ファイル上で変更する事も多いです。大きな変更については、独立した環境で作成したファイルへデータをインポートしますが、シリアル値などの設定や、値一覧の移動などが面倒ですので、よほど根本的な変更以外では行っていません。
変更箇所が多いのでしたら、データテーブルを別ファイルへ持っていけばいかがでしょう。(分離モデル)
Offline
Shinさん、ご回答ありがとうございます。
レコードのインポートなどは、複数テーブルでも使えますよ。インポートの設定がおかしいのだと思います。
いくつか2つのファイル間でずっとテストしておりますが、テーブルの切り替えのステップの自動化ができません。
ギブアップです。。
私は、小さな変更については、実運用ファイル上で変更する事も多いです。大きな変更については、独立した環境で作成したファイルへデータをインポートしますが、シリアル値などの設定や、値一覧の移動などが面倒ですので、よほど根本的な変更以外では行っていません。
参考になります。ヘボなDBでフォントや枠の大きさの変更がよくあるもので…
こまめにバックアップをとりながら、実運用ファイル操作も慎重にやってみます。
分離モデルはデータの大きな画像ではやっておりますが、変更の少ないテーブルは別の方が使い回しがよさそうですね。
ありがとうございました。
スクリプトでやってるんだから、インポートのステップにインポート先のテーブルが指定されますよね。テーブル(レイアウト)の切り替えは必要ないはずですが。
レコードのインポートスクリプトは複数テーブルの運用には適さない、と理解してよろしいでしょうか?
稼働中データを新しいファイルに移す以外でも利用していますので適さないことはありません。
インポートを行う場合は実行時のレイアウトと対象レコードに注意を払えば難しくないと思いますよ。
インポート元のテーブルが適切でインポートしたいレコードは表示されているか
インポート先のテーブル(オカレンス)に基づいたレイアウトを表示しているか(ここハマりがちです)
スクリプトの各ステップでの立ち位置を考えながら作るとうまくできるでしょう。
Offline
こんな形が最低限必要かも。
https://dl.dropboxusercontent.com/u/926 … -h3283.zip
Offline
みなさま、引き続きのアドバイスありがとうございます。
おかげさまでヒントを得て試行錯誤していたところ…できました!
「レコードのインポート」スクリプトステップにおいて、「データソースの指定」を変数名のファイルのみにしていたことが原因でした。
これだとインポート元のテーブル選択が表示されない状態だったのですが、検索順位の低い方に任意のテストファイル(インポートしたいテーブルが存在するファイル)をおいてやると、スクリプト内で「インポート順の指定」にインポート元テーブルが表示、設定されるようになりました。
また、MozさんのアドバイスやShinさんのサンプルでご指摘の通り、レコードの全表示ステップを加えるなど、大事なポイントがわかりました。
本当にありがとうございました。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 542.82 KiB (Peak: 563.73 KiB) ]