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

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

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

You are not logged in.

Announcement

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


#1 2014-10-16 02:41:51

keiko
Member

フィールドに複数の内容を自動入力する方法

こんばんは、いつもお世話になります。また、躓いてしまっています。

やりたい事ですが、

必要項目
名前
入力年
入力月
購入個数
購入金額

入力内容は

名前(決まった複数人数、ここではA B C D とします「ま)
で、
ーーーーーーーーーーーーーーーーー
レコード1
入力年 月  名前        購入個数  購入金額
2014    5        A     1     100
                        B     3     120
                        C     5     300
                        D     4     200
ーーーーーーーーーーーー
レコード2
入力年 月  名前        購入個数  購入金額
2014    6        A     3     200
                        B     2     460
                        C     6     210
                        D     5     200
ーーーーーーーーーーーーーーーーーーーーーー

というように、一つのレコードで入力をして、レコード毎に変化するのは「入力年」「入力月」「購入個数」「購入金額」
固定データは「名前」です。

今は、フィールドを「名前A」「名前B」、、、「購入金額A」「購入金額B」、、、とそれぞれに分けているのですが、出来れば、一つのフィールドに、例えば「名前」フィールドにデータとしてA,B,C、、と
まとめられないかと考えています。
やりたい事は、年月ごとに、固定ユーザー(「名前」)のデータを一つのレコードで入力して、その後、集計等に使うために、フィールドを必要項目毎にまとめたい、事です。

入力年、入力月をリレーションして、ポータル「名前」「購入個数」「購入金額」を設定、列を4にして入力する方法を考えたのですが、
そうすると、レコード毎に「名前」フィールドにA、B、C、、、と手入力する必要が出てきました。
これをレコード更新ごとに自動入力することはできますか?

繰り返しフィールドの使用も考えたのですが、名前A、B、、、ごとにデータを集計したり表示したりする必要があるので悩んでいます。

暗中模索なので、無理な事なのか、もっと他の方法があるのかも分かりません。
質問項目ではなくでも、可能な方法があれば、教えて頂けませんか。
よろしくお願いいたします。

環境 mac 10.9
       FM Advanced 13

Offline

#2 2014-10-16 09:03:58

チポ
Member

Re: フィールドに複数の内容を自動入力する方法

「名前」は4種類で固定なんですか?
実際にはもっと有るんですよね。

それを全部フィールドにするのはDBとしてはおかしなものですよ。

年・月・名前
ごとに1レコードとする方法を考えた方がいいと思いますよ。


そうすると、レコード毎に「名前」フィールドにA、B、C、、、と手入力する必要が出てきました

自動化できるでしょう。

最初はともかく、
前月の名前分は自動でレコード作成出来ますよね。

Offline

#3 2014-10-16 11:04:13

keiko
Member

Re: フィールドに複数の内容を自動入力する方法

そうですね、、、。無理がありますよね、、、。

A,B、、、はもっと多いです。現在のところ13です。
その13名のデータを月ごとに入力するのですが、それを1レコードで出来ないかと思いまして、、。
入れるデータは1名につき一件/月 なので、入力洩れも出ないし、便利だと考えたのですが、
フィールドが分かれるとdbとして、成立しない。当たり前ですね。

そこで、入力可能にしたポータルで、と思ったのですが、その場合はA,B、、と13名の氏名を値一覧にしても、入力の必要が出るので、
名前フィールドにA,B,C、、、と13名の名前を順番に新規レコードごとに自動入力する方法がないか、

また、名前A,名前B、、個数A,個数B、、、、金額A,金額B、、、作って入力したデータをどこかで(別レイアウト、別ファイル等)
で、一つごとのフィールド(名前、個数、金額)にまとめられないか、と考えました。

やっぱり無理があるのでしょうか。

Offline

#4 2014-10-16 11:34:32

チポ
Member

Re: フィールドに複数の内容を自動入力する方法

年・月・名前ごとに1レコード
のレコード作成法を、、

ポータルで行うのなら、
List関数で全員の名前のリストを作り、
ポータルの1行目から順にリストの1行目から順に入力。

関連テーブルで行うのなら、
前月を対象レコードとして、エクスポート、
それをインポート、年月を全置換で入力。


どちらでもスクリプトにすればボタンクリック1回で出来ちゃいますよ。

Offline

#5 2014-10-16 20:33:34

keiko
Member

Re: フィールドに複数の内容を自動入力する方法

チポさん、ありがとうございます。
便利に出来そうで今、取り組んでいるのですが、
勉強不足のため、List関数はまとめて取り出す、という動きは理解出来るのですが
、順に入力する、という方法が分かりません。

申し訳ないのですが、もう少し教えて頂けませんか。
よろしくお願いいたします。

Offline

#6 2014-10-17 09:19:42

チポ
Member

Re: フィールドに複数の内容を自動入力する方法

名前のリストが得られるとして、それを仮に「リスト」とします。

スクリプトの考え方

$ct = 1
Loop
  Exit Loop If [ $ct > ValueCount (リスト) ]
  ポータル内の行に移動[$ct] // 計算式で指定 です
  フィールド設定[::名前 ; GetValue (リスト ; $ct ) ]
  $ct = $ct + 1
End Loop

こんな考えでいいと思います。

このときのレイアウトに複数のポータルが有る場合は、
最初に目的のポータルを選択しておいた方がいいでしょう。


試されるときは、
Loopの中に
スクリプト一時停止
を入れて、1回ずつの動きを見るといいと思いますよ。

Offline

#7 2014-10-18 02:40:19

keiko
Member

Re: フィールドに複数の内容を自動入力する方法

チポさま、ありがとうございました。
今、完成しました。
するすると動いて感動しています。

インポートの方法も試してみました。
どちらも、希望の通りに動いています。
List関数も便利に使えるのだと少し理解出来ました。また、別の機会にも使ってみます。


本当にありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.015 seconds, 9 queries executed - Memory usage: 520.24 KiB (Peak: 524.78 KiB) ]