【無料配信♪】Renta !全タテコミ作品第1話

ファイルメーカー10で重複データを削除したく(1)~(6)まで行い、(3)の計算結果の「データ削除」表示レコードを抽出して削除したいのですが、(3)の計算結果を保存できないため対象のレコードが削除できません。何かよい方法がありましたらよろしくお願いします。

(1)自己連結リレーションシップでフィールドAを連結
(2)計算項目のフィールド作成 Count (テーブル2::フィールドA)を作成
(3)計算項目のフィールド作成 If (フィールドA ≠ GetNthRecord (フィールドA ; Get (レコード番号)-1);"ok";"データ削除")
(4) (2)の結果が2以上を抽出
(5) (4)の抽出後、フィールドAで重複データのソートを行う。
(6) 削除したいレコードに(3)の計算結果として "データ削除" は表示されます。
 
このあと、なんとも分かりません。そもそもこの方法では無理なのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

重複レコードの検索・削除はいろいろな方法がありますし


ヘルプにも書いてあります。
http://www.filemaker.co.jp/help/html/non_toc.46. …

削除の計算結果が保存されない場合は、別フィールドを
作って、その計算結果で全置換するといいのでは。
    • good
    • 0
この回答へのお礼

教えて頂き解決しました。有難うございます。

お礼日時:2011/08/06 08:37

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFileMakerで、フィールドの値が空欄だった時に0を返す計算式

ファイルメーカーで、フィールドの値が空欄だった場合に
数値の0を返し、"空欄ではなかった時はそのままの値を返す"
計算式を教えてください。

IsEmptyを使ってみたのですがうまく行きませんでした。

FileMaker Pro7を使っています。
よろしくお願いします。

Aベストアンサー

結果=Case(IsEmpty(そのフィールド);0;そのフィールド)

QファイルメーカーでCountifの様な方法ありますか?

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など)
「性別」(男・女)
などです。

在籍人数テーブルは表の様に表すのが希望です。
例えば
「東日本」の「CS」部で「正社員」のうちの「一般」社員で「男」を
社員名簿履歴からカウントするフィールドを作成
上記のような感じで部署や雇用形態が違うフィールドをいくつも作成して最終的には合計人数を出したいのです。

エクセル的な考えでcountifを使用するつもりだったのですが、使えない事がわかり・・・。

ファイルメーカー初心者なので、なかなかいい方法が思いつかず困っています。

ぜひ、アドバイスお待ちしております。

はじめまして
初めての質問です。

環境はWinXP ファイルメーカーpro7です。
テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。

まず、社員名簿というテーブルがあります。
フィールドが
「エリア」(値一覧で選択、[東日本、中部、西日本、本社])
「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など)
「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など)
「職責」(値一覧で選択、[部長、マネージャー、一般]など...続きを読む

Aベストアンサー

集計結果を表にする時のレイアウトの自由度を考えると関連テーブルからリレーションを使った
計算がいいかも知れません。

在籍人数テーブルに社員名簿テーブルにあるフィールドを全部作ります。社員名簿テーブルには
重複のない社員IDなどというフィールドも必要です。

例えば、社員名簿テーブルと在籍人数テーブルの「エリア」と「部署」と「雇用形態」の3フィー
ルドとも等しいというリレーションを作って、とCount(社員名簿テーブル::社員IDフィールド)と
いう計算フィールドを定義します。

在籍人数テーブルの「エリア」と「部署」と「雇用形態」の各フィールドにそれぞれ「東日本」
「CS」「正社員」と入力するとその人数が出ます。

Qファイルメーカー 一ヵ月後の日付をだすには?

入力日、タイプ:日付に2005/8/5と手動でいれたら、
有効期限(タイプ:日付)に自動で2005/9/5というように、入力日から一ヵ月後の日付を出すにはどのような計算式をいれたらよいのでしょうか?

参考書に載っていた
Date(Month(入力日)+ 1 ; Day(入力日); Year(入力日)という式を使うと
2005/08/01 と打ち込むと、2005/9/9 とでてしまいます。
2005/12/30の場合は、2006/1/1と出ます。
どうしたら、よいか教えてください。

Aベストアンサー

---------------------------------------------------
If ( Month ( Date ( Month ( 入力日 ) + 1 ; Day ( 入力日 ) ; Year ( 入力日 ) ) ) > Month ( Date ( Month ( 入力日 ) + 1 ; 1 ; Year ( 入力日 ) ) )
;
Date ( Month ( 入力日 ) + 1 + 1 ; 0 ; Year ( 入力日 ) )
;
If(Day ( Date ( Month ( 入力日 ) ; Day ( 入力日 ) + 1 ; Year ( 入力日 ) ) ) = 1
;
Date ( Month ( 入力日 )+1+1 ; 0 ; Year ( 入力日 ) )
;
Date ( Month ( 入力日 ) + 1 ; Day ( 入力日 ) ; Year ( 入力日 ) ))
)
------------------------------------------------------
フィールドタイプは「計算」で結果は「日付」です。

私が過去に他の方の回答に使用した式です。コピペで使えます。
検証は適当ですのでご自分でどうぞ。

---------------------------------------------------
If ( Month ( Date ( Month ( 入力日 ) + 1 ; Day ( 入力日 ) ; Year ( 入力日 ) ) ) > Month ( Date ( Month ( 入力日 ) + 1 ; 1 ; Year ( 入力日 ) ) )
;
Date ( Month ( 入力日 ) + 1 + 1 ; 0 ; Year ( 入力日 ) )
;
If(Day ( Date ( Month ( 入力日 ) ; Day ( 入力日 ) + 1 ; Year ( 入力日 ) ) ) = 1
;
Date ( Month ( 入力日 )+1+1 ; 0 ; Year ( 入力日 ) )
;
Date ( Month ( 入力日 ) + 1 ; Day ( 入力日 ) ; Year ( 入力日 ) ))
)
------...続きを読む

Qファイルメーカーで重複してインポートしないようにしたい

こんにちは
Yahooショップの売上データをファイルメーカーで
管理したいと考えています。ファイルメーカーの
スクリプトでYahooの売上データ(CSV)を自動イン
ポートするようにしたのですが、誤って複数回スク
リプトを実行するとデータが重複して読み込まれて
しまいます。
データを一意にするフィールドを「ユニークな値」に
設定したのですがインポートではこの機能が有効では
なくやはり重複して読み込んでしまいます。
重複して読み込まないように(警告を出すなど)する
方法はあるでしょうか?使用しているのはファイル
メーカーpro8(win)です。
よろしくお願いいたします。

Aベストアンサー

「新規レコードとして追加する」ではなく、「現在の対象レコード
内で一致するレコードを更新する」の「一致しないレコードを追加
する」をONで使うのがセオリーかと。

ずっと昔からある機能なので8で無くなってるとは思いませんが…

Qフィールドの中のテキストを分割したい(ファイルメーカー)

よく分からないタイトルですみませんm(_ _)m

先日もこちらでファイルメーカの事を質問したばかりで大変恐縮なのですがどうかお助け下さい。
現在ファイルメーカー5.5 macで作った住所録があるのですが、これの修正を頼まれたのです。
修正内容は現在、「氏名フィールド」というものがあるのですが、これを「氏フィールド」と「名フィールド」に分けたいと言う事なのです。

「氏名フィールド」の氏と名の間に全角スペースが入っておりますのでこれをキーワードに計算式を作れば何とかなると思うのですがそれが???なのです。

一つの「氏名フィールド」から氏と名の間にスペースが入っているものを新たに「氏フィールド」と「名フィールド」分ける。また、スペースの入っていないものは「氏フィールド」に分ける方法をどうか教えてください。よろしくお願いします。

Aベストアンサー

◆フィールド「氏」の計算
1.全角スペースの位置を出す
Position(氏名," ",1,1)
2.「氏名」からその位置の1文字前まで抽出する

フィールド「氏」=
Left(氏名,Position(氏名," ",1,1) - 1)

◆フィールド「名」の計算
1.「氏名」から『フィールド「氏」と全角スペース』を
  取り除く(ヌルに置換する)

フィールド「名」=
Substitute(氏名,Left(氏名,Position(氏名," ",1,1) - 1) & " ","")

Qファイルメーカで検索窓の作成

ファイルメーカpro11でレイアウト画面内に自分で検索窓を作りたいのですがうまく行きません。
テキストの入力欄があってそこに品番を入力し検索ボタンをおすと検索結果が表示されるというシンプルなモノですが、グローバルフィールドをつくったりいろいろためしましたがだめでした。
初心者な質問で申し訳ありませんがよろしくお願いします。

Aベストアンサー

簡単なのは
元レイアウトに「検索モード」というボタンを作ってレイアウト切り替え(レイアウト2へ)
にしておく。
新規レイアウトでレイアウト2を作り、検索条件入力用のグローバルフィールドを置き
その横に「検索実行」ボタンを配置。
検索実行ボタン用のスクリプトを作る。
 ・切り取り グローバルフィルド
 ・レイアウト切り替え 元レイアウト
 ・検索モードに切り替え 一時停止しない
 ・貼り付け 検索するフィールドに
 ・検索実行 条件を記憶しない

検索レイアウトに移動する部分を新規ウインドウにしてウインドウサイズ変更などを
加えると、よりそれらしくなります。
検索実行スクリプトは検索しても該当するレコードが無かった場合等のためのエラー
処理も考えて下さい。

QファイルメーカーのMax関数について教えてください。

ファイルメーカーを勉強中なのですが、
Max関数でIDを自動取得しようとすると「再帰定義」
のメッセージが出てうまくいきません。

Max(ID)+1
↑このような設定にしています。

最大値に+1した値を新規レコードのIDにしたいのですが、
ファイルメーカーではできないのでしょうか?
Max関数以外でもいいのですが、方法がありましたら
教えてください。

Aベストアンサー

ファイルメーカーは「再帰定義」が苦手ですよね。(^^;;
私は、自動取得にはせず、スクリプトを組んでIDを生成しています。
1)一旦、グローバルフィールドにIDのMAX値を入れます。
2)IDフィールドに上記のグローバルフィールド+1の値を入れます。

ちょっと手間ですけれど、これで一つのファイルで、2000年度、2001年度などそれぞれのMAX値を生成したりしています。

Qファイルメーカーのポータル内レコードからの移動

いつもお世話になっております。
試しに何度かやったのですが、
上手くいかないので、
教えていただけると大変助かります。

業者DB・全データの、
業者名で繋いだ二つのデータベースがあります。

業者DBは、No.、業者名、担当箇所、
電話番号、住所などが入っています。
全データは、ID、業者名、支店名、故障箇所、
機器名、修理金額などの詳細データが
入っています。

業者DBを基にしたレイアウト<業者DBレイアウト>
に、業者名で検索すれば、
全データ内の「支店名、故障箇所」が
表示されるようポータルを貼り付けています。
<全データ詳細レイアウト>という全データを基にしたレイアウトも作成しました。
ここには、全データの全てのフィールドがフォーム形式で表示されています。

それで、業者名で検索後、
<業者DBレイアウト>内の全データポータルで、
各レコードをクリックすれば、
該当レコードの<全データ詳細レイアウト>が表示されるようにしたいと思っています。


例えば、ポータル内のフィールド外に
ボタンを設置してそれをクリックすれば、
全データ詳細レイアウトで、
該当レコードの詳細がフォーム形式で表示される
ことを目指しています。

ポータルも、詳細レイアウトも、
どちらも全データを基にしているので
レイアウトの切替えをすれば上手くいくのかと
思っていたのですが、
実際には、詳細レイアウトには
該当レコードではなく、
最新レコードが表示されてしまいます。

何か良い方法はございますでしょうか。
お手数ですが、ご教授ください。
よろしくお願い致します。

いつもお世話になっております。
試しに何度かやったのですが、
上手くいかないので、
教えていただけると大変助かります。

業者DB・全データの、
業者名で繋いだ二つのデータベースがあります。

業者DBは、No.、業者名、担当箇所、
電話番号、住所などが入っています。
全データは、ID、業者名、支店名、故障箇所、
機器名、修理金額などの詳細データが
入っています。

業者DBを基にしたレイアウト<業者DBレイアウト>
に、業者名で検索すれば、
全データ内の「支店名、故障箇所」が
表示され...続きを読む

Aベストアンサー

ウチはいまだに5.5なので、最近のバージョンのことはよくわからな
いんですが、ポータル内に表示された関連レコードを見たければ、
「関連レコードに移動」ステップは必須じゃないですか。

「関連レコードに移動」してから希望のレイアウトに切り替えるよ
うに、スクリプトを組んでみて下さい。

Qファイルメーカ 検索実行せずに該当するレコード数を知りたい

FM7です。

条件に合致したレコード数を知るために、現在は検索実行をした後に
Get(対象レコード数)
として求めていますが、検索実行をせずに知ることは出来ますか?

テーブルA
顧客-----地区名-----担当者
テーブルB
担当者---顧客数(計算 If テーブルAの担当者 = テーブルBの担当者 then 担当する顧客の数)

のような感じになると、ありがたいのですが。

Aベストアンサー

テーブルAとBを担当者でリレーションしてあってAは1レコードに顧
客一人と思っていいでしょうか。

ウチは5.5ですが、リレーション名が「担当」として
count(担当::顧客)
で出来てますよ。7でも同じだと思います。

Qファイルメーカーで関連レコードを作成する方法

お世話になっております。rapisと申します。
いつも有難うございます。
以下の件をお教えいただけませんでしょうか。

以下のような入力レイアウトがあります。

ID   業者ID   業者名   処理内容
----------------------------------------
00001  g010   abc工業  排水パイプ修理
00002  g003   def管工  パイプ溶接
00003  g010   abc工業  排水ポンプ設置


00100  g011   ghi工場  特殊パイプ加工
というデータが入っています。
業者名は業者IDを入力すれば業者名が表示されるように業者テーブルからルックアップしています。

各IDをクリックすると、IDをキーにした、
更に詳細を入力できるレイアウトが表示されるようになっています。

詳細レイアウト:
ID   処理日  担当者・・
----------------------------
00001  1/27   山本  


00100  1/31   鈴木

たとえば、入力レイアウトで
ID:00001とID:00101が関連するデータであるということを表示したい場合、
どうしたらよろしいでしょうか。

できれば、
ID:00001の詳細レイアウトを表示している状態で、「関連レコード作成」というボタンをクリックすると、自動的にID:00101(現時点での最新ID)の番号が生成されて、詳細データを入力できるレイアウトが表示される。
ID:00001で検索しても、ID:00101で検索しても、どちらにも関連するレコードとして分かるようにしたいと思っています。
※関連データとはいえ、同じ処理日や同じ業者とは限りませんが、関連する理由は特に表示する必要はありません。
また、関連レコードが3~4つまで追加されることもあれば、関連レコードが全く発生しないIDもあります。

分かりにくい質問で申し訳ございません。
ご教授いただけると大変助かります。
宜しくお願い致します。

お世話になっております。rapisと申します。
いつも有難うございます。
以下の件をお教えいただけませんでしょうか。

以下のような入力レイアウトがあります。

ID   業者ID   業者名   処理内容
----------------------------------------
00001  g010   abc工業  排水パイプ修理
00002  g003   def管工  パイプ溶接
00003  g010   abc工業  排水ポンプ設置


00100  g011   ghi工場  特殊パイプ加工
というデータが入っています。
業者名は業者IDを入...続きを読む

Aベストアンサー

それはIDを生成してから元のレコードに戻って「関連レコード」
フィールドに挿入することで解決します。今、ザッと作ってみまし
たが、

フィールド設定 [ 変数1,Status(レコード番号)]
フィールド設定 [ 変数2,ID&"¶"]
新規レコード/検索条件
計算結果を挿入 [ 関連レコード,変数2]
スクリプト一時停止/続行[ ]
フィールド設定 [ 変数2,ID&"¶"]
レコード/検索条件/ページへ移動 [ 変数1] [フィールドで指定]
計算結果を挿入 [ 関連レコード,変数2]

こんな感じになりました。実際には担当者名や店舗IDを入力してか
らIDを生成するため、スクリプト一時停止/続行ステップの後にID
フィールドに計算結果を挿入するステップを置くことになるはずで
す。とりあえずポータルはきちんと表示されています。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング