みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
現在テーブルが3つ「メンバー」・「カレンダー」・「タイムカード」と有ります。
「メンバー」には
id 名前
001 山田
002 里中
003 伊藤
004 多田
「カレンダー」
年月 休日(休み=❌) 日付
201612 繰り返しフィールド[42] 繰り返しフィールド[42]
201601 繰り返しフィールド[42] 繰り返しフィールド[42]
201602 繰り返しフィールド[42] 繰り返しフィールド[42]
「タイムカード」
年月 休み 日付 id 名前
「カレンダー」テーブルは年月単位でのレコードの中に”休み”・”日付”の繰り返しフィールド[42]が有り、これらを「タイムカード」に年月を指定し各メンバー分のカレンダーをに下記の様に追加したいと考えてをりますが、スクリプトが分かりません。
お手数をお掛け致しますが、ご指導御願い致します。
「タイムカード」
年月 休み 日付 id 名前
201612 ❌ 12/01 001 山田
201612 12/02 001 山田
201612 12/03 001 山田
↓
201612 ❌ 12/01 002 里中
201612 12/02 002 里中
201612 12/03 002 里中
↓
せめて 使用環境は書いて欲しいです FMPのバージョンがわからないと
それと、できればリレーションの関係も書いてください
ここで書いておられる「スクリプト」とは計算式のことですか?
それとも、プログラムとしてのスクリプトですか?
Last edited by シャチ (2016-12-24 10:48:08)
Offline
1.タイムカードからカレンダーの年月、休み、日付を繰り返しをバラしてインポート
2.メンバーid全員をリストにした改行リストの1行目でタイムカードのidを全置換
1と2を全員分、改行リストのn行目を変更してLoopかな。
Offline
Hiroさん、シャチさん、Shinさん、旅人さん、他の方々に比べたら回答をしても恥をかくだけだね。
申し訳ありませんでした。
環境と致しまして、mac os 10.12 とwin 8 でfm13を使用しています。
リレーションは
タイムカードの年月(子)←ーーカレンンダーの年月(親)重複なし
タイムカードのid(子)←ーーメンバーのid(親)重複なし
で設定しております。
宜しくお願い致します。
1.タイムカードからカレンダーの年月、休み、日付を繰り返しをバラしてインポート
2.メンバーid全員をリストにした改行リストの1行目でタイムカードのidを全置換
1と2を全員分、改行リストのn行目を変更してLoopかな。
ご返事ありがとうございます。
申し訳ありませんが、もう少し具体的にご指導お願いできないでしょうか?
バラすとはGetValue ( Substitute ( カレンダー::日付[1]; "," ; ¶ ) ; Get ( 計算式繰り返し位置番号 ) )と言うことでしょうか?
え〜〜 恥さらしの シャチが 恥さらしのサンプルを
http://yahoo.jp/box/bb-zXg
に置きました
リレーションと計算式と書式設定で作ってます。
結構面倒でした
多分もっともっと簡単方法があったはず
ということで 失念しているので恥ですね。
メリークリスマス
Offline
「バラす」は繰り返しフィールドを別テーブルの非繰り返しフィールドに
インポートすると、その過程で繰り返しフィールドを繰り返しのままか、
1繰り返し行を1レコードに分解するか指定するオプションが出ます。
Offline
カレンダーは、1日1レコード、タイムカードは、1人1日1レコード、という構成に組み替えるべきでしょう。その後の表示は抽出するだけです。
タイムカードのレコードの作成は、loop でレコードを作っても良いでしょうし、カレンダーで必要分を抽出しておいて、インポートしても良いでしょう。
https://www.dropbox.com/s/hf5nkv3j7tqe0 … 7.zip?dl=0
Last edited by Shin (2016-12-24 17:46:18)
Offline
そのままインポートのサンプルです。
http://pupld.net/21/161225/qfm2ny9j7h/index.cgi
Offline
[ Generated in 0.008 seconds, 11 queries executed - Memory usage: 521.38 KiB (Peak: 526.29 KiB) ]