• ベストアンサー

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

ファイルメーカーを勉強中なのですが、 Max関数でIDを自動取得しようとすると「再帰定義」 のメッセージが出てうまくいきません。 Max(ID)+1 ↑このような設定にしています。 最大値に+1した値を新規レコードのIDにしたいのですが、 ファイルメーカーではできないのでしょうか? Max関数以外でもいいのですが、方法がありましたら 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#83007
noname#83007
回答No.1

ファイルメーカーは「再帰定義」が苦手ですよね。(^^;; 私は、自動取得にはせず、スクリプトを組んでIDを生成しています。 1)一旦、グローバルフィールドにIDのMAX値を入れます。 2)IDフィールドに上記のグローバルフィールド+1の値を入れます。 ちょっと手間ですけれど、これで一つのファイルで、2000年度、2001年度などそれぞれのMAX値を生成したりしています。

mmtaro
質問者

お礼

kumfさん、ありがとうございました。 教えてもらった方法で出来ました。(^-^) ファイルメーカーを使っている人がまわりにあまりいなくて困っていました。本もあまり種類がなくて・・・ 本当に助かりました。

関連するQ&A

  • ファイルメーカーの関数

    ファイルメーカーPro7を使用しています。例えばA,Bという2つのフィールドを作成し、Aにデータ(値一覧に定義されているデーター)を入力したらBに決まったデータ(例:より発送)と返す関数若しくは違う設定はあるのでしょうか。宜しくお願い致します。

    • ベストアンサー
    • Mac
  • sup()とmax()の違い

    関数の上界値supと最大値maxの違いがわかりません。 例としてf(x)=-e^x,(定義域実数全体)とかは上界値で考えるのはなんとなくわかるのですが…それ以外で使い分けるようなことってありますか?「この関数なら意味はほぼ同じじゃん!」という問題にぶち当たっているので…お願いします。

  • ファイルメーカーで質問です

    ファイルメーカー8.0v2をMacOS10.5.8で使用してます。 初心者ですが本を見ながらハガキのアンケートの集計フォームを作成しております。 ハガキ1枚につき1つのレコードを作り、いくつかの質問を入力しており、 年齢のフィールドに値一覧で 20才~29才 30才~39才 40才~49才 50才~59才 とポッアップメニューから 入力するようにしています。 20才~29才の人は====15人 30才~39才の人は====26人 40才~49才の人は====38人 50才~59才の人は====10人などと 関数等を使って自動的に集計して表示する方法はないものでしょうか? 値一覧で入力しているのでうまくいきません。よろしくお願いします。

  • ファイルメーカーの再帰定義/リレーション機能について教えて

    ファイルメーカーの再帰定義とはどういう事なのか教えてくれませんか? リレーションのデータの取込みの際、再帰定義と表示されデータがリレーションできないのです。詳しくはファイルが「受注」「発注」「仕入れ」「請求書」と4つありまして、そのフィールド(商品等)を4つのファイル全部にリレーションさせたいのですが、「受注」→「発注」→「仕入れ」まではデータを読込めたのですが、再帰定義と表示されその先の「請求」ファイルまでリレーションできません。どうすればリレーションできるのかも併せて教えて頂けませんか?宜しくお願いします。

  • ファイルメーカーでできますか?

    ファイルメーカー初心者です。 ファイルメーカーPro7を使用しています。例えばA,Bという2つのフィールドを作成し、Aにデータ(値一覧に定義されているデーター 例:佐川急便,ヤマト運輸 etc...)を入力したらBに決まったデータ(例:より発送)と返す関数もしくは設定はあるのでしょうか。宜しくお願い致します。

  • ファイルメーカー6のif関数について

    ファイルメーカー6、MacOS9.2を使ってる初心者です。 ファイルメーカーの事で前も教えて頂きましたが、またお願いします。 商品名、数量、単価、合計という4つのフィールドがあります。 合計フィールドは数量フィールド×単価フィールドという計算式で出していて これ自体は問題ないんですが、 商品名を値一覧から(約10品名)選び、選んだ品名から自動で 単価を入れたいんですがやり方が分かりません。 例えば商品名にみかんを選んだ場合は単価に50を、 リンゴを選んだら70を バナナを選んだ90を・・・・ こんな感じで10品目分を設定したいんですが出来ません。 ひとつだけならif関数で出来たんですが・・・ もちろん、設定が出来るならif関数じゃなくても良いんです。 よろしくお願いいたします。

  • OFFSET,MAX関数併用で値を求める

    OFFSET,MAX関数併用でD1にB列最大値"5"の左にある文字"こ"の値を出したいのですが数式を以下のようにしたのですができません。どなたか関数がわかる方よろしくお願いします。 =OFFSET(ADDRESS(MAX(B1:B9)),0,-1) A B C D 1 あ 1 か 2 い 3 3 う 0 4 え 1 5 お 2 6 か 5 7 き 2 8 く 1 9 こ 4

  • ファイルメーカー8のポータルについて

    ファイルメーカーの8を使っているのですがポータル内の検索がうまくできません。 ポータル内は検索できないのもなのでしょうか? あと、ポータル内でIDをドロップダウンで選ばせて それを絞り込んで品名をドロップダウンで 出しているのですが検索モードにすると品名が 定義済みの値がありませんとなるのですがこれも直らないものなのでしょうか? よろしくお願いします。

  • ファイルメーカーでの自動採番

    ファイルメーカー9での質問です。 現在受発注管理を作成しており、それにあたり、 受注IDを自動生成したく、日付+連番とさせたいのですが、 その方法がわかりません。 例えば「受注日」が2008/11/22の場合は、 「20081122+連番」のような採番をしたいのですが、 MAX関数では、最終のものしかとれず、 仮に昨日受注分を入力する際には、不向きです。 この件に関し、おわかりの方がいらっしゃれば、 ご教授よろしくお願いいたします。

  • ACCESS97のMAX関数について

    ACCESS97を使用しています。 "関数"の使い方が全くわかりません。 (というより、SQLも含めて…)  テーブル"TBL_A"の"項目B" から最大値を変数SDHSに取得したいのですが どうすればいいのでしょうか?  Dim db As DATABASE Dim RS As Recordset Dim SDHS, strSQL As String Set db = CurrentDb() strSQL = "SELECT Max(項目B) FROM TBL_A ;" Set RS = db.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly) SDHS = Max(項目B)