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

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

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

You are not logged in.

Announcement

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


#1 2021-01-13 12:34:57

セミ2
Guest

別のテーブルの複数のレコードを一括にコピーして入力

いつもお世話になっております。
Windows 10 Filemaker 18 Ver.を使っております。

会社で発生する費用を入力したいです。
毎月入力する必要がある科目と不定期の科目があるので、それをマスターテーブルの区分フィールドで固定・非固定で区分しております。
固定科目入力ボタンを作って、毎月固定科目が費用テーブルに一括入力できる方法がありますか。

私は下記のようにしてみたのですが、2月のデータを入力したら、1月のデータが削除(上書き)されてしまいました。
新しくレコードではなく、すでにあるレコードの値が変わってしまいます。。。

下記3つのテーブルとフィルドがあります。

ダッシュボード テーブル
グローバル_年 : テキスト
グローバル_月 : テキスト
グローバル_年月 : テキスト、計算式 G_年  & G_月, 既存値置き換え

費用 テーブル

費用ID : 数字、番号自動入力、ユニークな値
支払い日付 : 日付
年月 : テキスト、計算式 Year(支払い日付)  & Right ( "0" & Month(支払い日付) ; 2 ), 既存値置き換え
科目ID : 数字
科目名 : ルックアップ 費用テーブルの科目IDが入力されたら、科目名がルックアップで入力できます。
宛先名 : テキスト
内容 : テキスト
費用 : 数字

科目マスター テーブル

科目ID : 数字、番号自動入力、ユニークな値
科目名 : テキスト
支払固定日 : 数字
固定費用  : 数字
区分 : テキスト 固定 非固定

ダッシュボード テーブルのG年月と費用テーブルの年月を=でリレーション
費用テーブルの科目IDと科目テーブルの科目IDを=でリレーションしています。(このレコードを使用してレコード作成許可)
ダッシュボードのレイアウトのグローバルフィルドに年と月を入れたら、費用テーブルのポータルに該当データが表示されています。

今のスクリプトは

レコード/検索確定
変数を設定[$年; 値: グローバルテーブル::G年]
変数を設定[$月; 値: グローバルテーブル::G月]
新規ウィンドウ科目マスターテーブル

検索モードに切り替え
フィールド設定[科目マスターテーブル::区分; "=固定"]
検査実行[]

レコード/検索条件/ページへ移動[最初の]
Loop
  フィールド設定[費用テーブル::日付; Date($月 ;科目マスターテーブル::支払い固定日; $年 )]
  フィールド設定[費用テーブル::科目ID; 科目マスターテーブル::科目ID]

  レコード/検索条件/ページへ移動[次の; 最後まできたら終了:オン]
End Loop

です。
ご教授いただければさいわいです。

#2 2021-01-13 13:06:36

Moz
Member

Re: 別のテーブルの複数のレコードを一括にコピーして入力

ご自身で書かれている内容を読めば原因が分かりますよ。
全体の運用はよく分かりませんが構造に問題があると思われます。

新しい月のデータを入力するのに必要なレコードを作成する処理がありません。
恐らく関連レコードを作成することで入力していきたいのだと思いますが......

費用テーブルの科目IDと科目テーブルの科目IDを=でリレーションしています。(このレコードを使用してレコード作成許可)

このリレーションに作成オプションがありますが、これでは同じ科目IDのレコードがあったらそれが更新されるだけです。

ダッシュボードで選択している日付のレコードを作成したいのならば、
ダッシュボードと費用テーブルのリレーションに作成オプションを設定しなければいけません。

また、作成オプションを使ってレコードを次々作成していきたい場合はポータルが必要です。

Last edited by Moz (2021-01-13 13:08:24)

Offline

#3 2021-01-13 13:15:41

チポ
Member

Re: 別のテーブルの複数のレコードを一括にコピーして入力

書かれたスクリプトは理解できていませんが、、


>毎月固定科目が費用テーブルに一括入力できる方法
1月の固定科目を対象レコードにして、
それをエクスポート
それをインポート
2月に全置換入力

でいいのでは。

Offline

#4 2021-01-13 13:22:48

チポ
Member

Re: 別のテーブルの複数のレコードを一括にコピーして入力

ああ、マスタテーブルが有るんですね、、

マスタで固定を対象レコードにして、
それをインポート・全置換
でいいですね。

Offline

#5 2021-01-13 13:50:14

Moz
Member

Re: 別のテーブルの複数のレコードを一括にコピーして入力

((((;´・ω・`)))
なんだか読み違えていたみたい。#2 は見なかったことに(滝汗

#2 と インポートのサンプル作ってみたのでご勘弁を。
http://bit.ly/2MZ1e0K

Offline

#6 2021-01-13 17:19:56

セミ2
Guest

Re: 別のテーブルの複数のレコードを一括にコピーして入力

Moz様
サンプルまでいただき、本当にありがとうございます。
独学でなんとか作ろうとしているものの、リレーションに対する理解があまりなくて失敗の毎日です…。
サンプルの<関連レコードでレコードを作成していくパティーン>のような、リレーションが必要だったんですね。
本当に勉強になりました。ありがとうございます。

チポ様
メニューバーではなく、スクリプトのレコードインポートがあることを初めてわかりました。
今回を機に勉強して、使えるようにしたいです。
ご回答ありがとうございます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 518.24 KiB (Peak: 523.15 KiB) ]