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

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

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

You are not logged in.

Announcement

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


#1 2014-08-01 12:57:13

333
Guest

重複レコードの削除

番号   入室時刻  退室時刻  料金 ・ ・ ・
201    15:00   空白
201    空白    空白
202    空白    空白
203    空白    空白

番号がダブっているときに(201) 3行目の 201 空白 空白 行のデータだけを削除して
201  15:00 空白
だけを残すのはどのようにしたら良いでしょうか?検索で 部屋* 入室= 退室= だと202や203の行も一緒に消えてしまうので。。
よろしくお願いします。

#2 2014-08-01 13:26:51

チポ
Member

Re: 重複レコードの削除

部屋の重複 and 入室時刻の空白
で検索すればいいのでは。

実際には同日付とかあるのでは?

Offline

#3 2014-08-01 14:14:46

333
Guest

Re: 重複レコードの削除

チポ wrote:

部屋の重複 and 入室時刻の空白
で検索すればいいのでは。

実際には同日付とかあるのでは?


部屋201 and 入室= で毎回検索して削除。ではなく
スクリプトで部屋が重複してる場合のみ削除するようにしたいのですが、、

#4 2014-08-01 14:21:58

333
Guest

Re: 重複レコードの削除

同日付もあります

#5 2014-08-01 14:57:33

旅人
Member

Re: 重複レコードの削除

部屋の重複は「!」で検索するのですよ。

Offline

#6 2014-08-02 08:53:19

333
Guest

Re: 重複レコードの削除

番号   入室時刻  退室時刻  料金 ・ ・ ・
201    10:00    12:00 
201    15:00   空白   
201    空白    空白     
202    14:00   14:30     
202    空白    空白     
203    空白    空白     

回答ありがとうございます。 202 空白 空白 や203 空白 空白 は残しておきたくて、
入室に記入済 退室空白(201    15:00   空白) がある時だけ
201 空白 空白 を消すことはできるでしょうか?

#7 2014-08-02 09:03:22

旅人
Member

Re: 重複レコードの削除

201    10:00    12:00 
201    15:00    空白   
201    空白       空白     
202    空白       空白   
202    空白       空白     
203    空白       空白     
の場合、202は全部消してもいいのですか。

Offline

#8 2014-08-02 09:48:12

333
Guest

Re: 重複レコードの削除

ひとつだけのこしたいですが、 一応 一度 部屋* 空白 空白 を全て削除して 部屋 空白 空白  を部屋ごとに作るスクリプトをつくっています

#9 2014-08-02 11:23:00

チポ
Member

Re: 重複レコードの削除

旅人さんが書かれていますが、
「!」で重複の値の検索が出来ます。

重複がダメなら、重複を許さないよう制限をかければいいですよね。

Offline

#10 2014-08-02 12:02:40

旅人
Member

Re: 重複レコードの削除

削除という数字フィールドを作って、日付で検索したあと
こんなスクリプトを動かして削除フィールドが0のレコードを
検索して削除するといいかも?

レコードのソート [ 番号の昇順 入室時刻の降順  退室時刻の降順 ] [ 記憶する ]
レコードへ移動 [ 最初の ]
変数を設定 [ 名前: $n  値:番号 ]
レコードへ移動[ 次の]
Loop
  If [ 番号= $n and IsEmpty ( 入室時刻 ) and IsEmpty (退室時刻 ) ]
      フィールド設定 [ 削除 ; 0 ]
  Else
      変数を設定 [ 名前: $n  値:番号 ]
  End If
レコードへ移動[ 次の; 最後まできたら終了 ]
End Loop

Offline

#11 2014-08-03 16:24:43

333
Guest

Re: 重複レコードの削除

回答ありがとうございます。
これでやってみると、202に 削除0がついてしまいます。
私のスクリプト記載が違うかもしれませんが。。
http://gyazo.com/76a789973cf035813c6aaebb6fc483de

すいませんがよろしくお願いします。

#12 2014-08-03 16:58:38

旅人
Member

Re: 重複レコードの削除

最初に削除フィールドを全部空白にしてからスクリプトを
動かしても同じですか?

Offline

#13 2014-08-03 17:14:08

333
Guest

Re: 重複レコードの削除

空白にしてからも同じでした。
新規につくってみましたが同じでした。
https://www.dropbox.com/s/2eecw0w4walnx … 0802.fmp12

#14 2014-08-03 18:50:16

旅人
Member

Re: 重複レコードの削除

レコードのソートを [ 番号の昇順 退室時刻の降順 入室時刻の降順  ] にして
Loopの次の条件を
If[番号 =$n and IsEmpty ( GetNthRecord ( 退室時刻 ; Get ( レコード番号 )-1) )]
にするとどうですかね。
でも、このままだと同じ部屋で入室も退室も時刻が入っているレコードだけだと、その部屋の
空白レコードを作ることはできませんが。

Offline

#15 2014-08-04 11:24:05

333
Guest

Re: 重複レコードの削除

ありがとうございます。できました!^^
全部屋新レコード作るスクリプトを事前にいれるので大丈夫だと思います。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 527.27 KiB (Peak: 548.18 KiB) ]