みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルメーカー8 データ加工後、別テーブルのフィールドへ移行

こんにちは!!

スクリプトにより、
フィールドのデータを、別テーブルのフィールドへ、
加工してから移行する時、どのようにやっていますか?

たとえば、
テーブル1、テーブル2とあります。
テーブル1にはIDフィールド、テーブル2にはお客様番号フィールド。

移行したいレコードを、チェックボックスにより選択させ、
スクリプトを実行したとき、
選択されたレコードに対し
テーブル1のIDフィールドを元に、
"hoge"を文頭に追加してから、テーブル2のお客様番号フィールドに
入力。
1レコード終わったら、次のレコード。

試しに1つ作ってみました。
移行元フィールドのデータをコピーし、移行先フィールドに移動、
貼り付け。
まだ、複数レコードがあっても、1フィールドだけなので
大丈夫ですが、
こういう処理をしたいフィールドは30以上あります。
もっと良いスクリプトの書き方は、ないでしょうか?


なぜこのような事がしたいかと言いますと、
多店舗あるネットショップの顧客情報などを管理したいと思ってます。
それぞれのネットショップでは、顧客情報や商品情報などを
独自のフィールドでCSVとして吐き出します。

各店舗用テーブルへCSVを取り込み、
それぞれのスクリプトにより、
加工しながら、一括管理テーブルへと移行させたいのです。


説明が下手で申し訳ありませんが、何卒よろしくお願いいたします。

投稿日時 - 2006-10-26 13:51:05

QNo.2498524

すぐに回答ほしいです

質問者が選んだベストアンサー

取り込んだあとのテーブルで、AやBを付けたいフィールドに順序よくタブ順を設定し、
スクリプトで
・フィールドへ移動-----タブ順1のフィールド
・Loop
 ・フィールド設定[Let(x=A,Bなど文頭に付けたい文字を表示しているフィールド;
  y=Get(アクティブフィールド内容)]; x & y)]
 ・次のフィールドへ移動
 ・Exit Loop If[Get(アクティブフィールド名)=”文頭に何も付けないフィールド”]
・End Loop
これを対象レコードに渡ってループした方が簡単かも知れません。
xとyはそれぞれ変数でx & yが式です。

投稿日時 - 2006-10-29 15:34:59

お礼

勉強になりました!!

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

投稿日時 - 2006-10-31 15:52:39

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

フィールド設定でX店舗のIDフィールドを"X" & 店舗のIDフィールドにするステップを変更が必要な
フィールド数作って"X" の部分はスクリプトの変数に設定して、CSVを取り込んだあとそのCSVがA店舗
のものならXを"A"になるようにするとか。それを対象レコードの数だけLoop。
「そのCSVがA店舗のものなら」をどこで判定するかが問題ですが。

投稿日時 - 2006-10-28 12:47:19

ANo.1

テーブル1、テーブル2と一括管理テーブルの詳細が判りませんが
>テーブル1のIDフィールドを元に
から推測すると文頭に追加する文字列はCSVを取り込んだときに決まるのですか?それなら、あるテーブルから
あるテーブルにコピペのスクリプトステップではなくインポートすれば計算値の自動入力でその文字列を入れら
れるのでは?

投稿日時 - 2006-10-27 15:25:24

お礼

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

文頭に追加する文字列は、最初に決まってます。
A店舗のデータであれば、文頭に「A」、
B店舗のデータであれば、文頭に「B」。

A店舗CSVとB店舗CSVで、
ユニークなIDフィールドは数字です。

両店舗のレコードを、一括管理テーブルに取り込むと、
IDがかぶってしまいます。

それを避けるために、一括管理テーブルのIDフィールドは、
それぞれの店舗のアルファベットを文頭に付けるようにしたいです。

そして、一括管理テーブルに取り込んだら、
新しい形で、一気にCSVを吐き出そうと考えています。

試しに作ったスクリプトでは、
A店舗に計算式タイプのフィールドを追加し、
そのフィールドに"A" & A店舗のIDフィールド、としています。
B店舗であれば、"B" & B店舗のIDフィールド。

もし、加工が必要なデータが複数あったばあい、
計算式タイプのフィールドを
加工数分用意しなければならないのでしょうか?

たとえば、プログラムのように、
スクリプト内に複数変数を作って、そこに加工データを入れていき、
その変数を別テーブルの新規レコードとして、
フィールドに入力できないのでしょうか?

投稿日時 - 2006-10-27 16:51:25

あなたにオススメの質問