ファイルメーカーについて詳しい方、どなたか「再帰定義」とはどんなことなのか教えていただけませんか?会社の会計ソフトを作っているんだけど、リレーションのデータの取込みの際、再帰定義と表示されたデータがリレーション出来ないの。(決算が近づいてるのに先に進めないよぉ~・・・・・)
「受注」「発注」「仕入」「請求書」と4つのファイルがあって、そのフィールド(商品名)をそれぞれ4つのファイル全部にリレーションさせたいんだけど、「受注」→「発注」→「仕入」まではデータを読込めたのに、再帰定義と表示されて、その先の「請求書」のファイルまでリレーション出来ないの。グスン。(;∧;)
お願い!どうすればリレーション出来るようになるのか教えてくださいませませ。
どうか、よろしくお願いしまぁ~す♪

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

A 回答 (2件)

ファイルメーカーは、まだリレーション機能を持っていなかった頃に使って以来ご無沙汰ですので正確な


ことは分かりませんが。

「再帰」の一般的な意味はCranさんの仰る通りでよいと思うのですが、別の例で、鏡を二枚向き合わせると
一方の鏡が他方を映し、映った鏡の中にさらに元の鏡が映り・・・という関係になりますよね。これも
再帰です。恐らくは、例えば請求書レコードを表示しようとするとその中に受注レコードが表示され、
さらにその受注レコードの中で請求書レコードが参照され・・・といったような関係ができてしまって
いるのではないでしょうか。

解決策としては、リレーションの必要性を再検討することだと思うのですが、ある程度手っ取り早い方法
として、実データとビューを分けるというやり方が考えられます。例えば受注テーブルと請求書テーブル
との間にはリレーションをはらず、別に受注ビューテーブル・請求書ビューテーブルを作って、それらから
受注テーブル・請求書テーブルを参照するようにすれば、再帰というか、循環参照のようなことは起きない
と思います。
    • good
    • 0
この回答へのお礼

sekicです。
再帰定義&リレーションについて教えていただいて本当に助かりました。
ありがとうございます。
お礼をいうのが遅くなってごめんなさい。m(__)m

お礼日時:2002/02/21 18:01

Cranです。


ファイルメーカーについて詳しくもなく再帰定義とはなんぞやも知りませんが
再帰と言う言葉の説明でもしましょうか…これが正しいと言い切れないのがつらいですが…

例えばプログラムでですけど再帰処理というのがあって、これは自分自身を内部から呼んでいる処理を言います

良く用いるものにnの階乗を求めるメソッドが有りますが…
階乗:n!=1×2×3×...×n
calc(int n){
  if(n=1){
    return 1;
  }else{
    return x * calc(n-1)
  }
}
となります、自分自身を呼ぶので、下手な作り方をすると永遠にループすることがありえます、合わせ鏡のように… 通じるかな…

ですので「再帰定義」とは
エクセルで言う「循環参照」のように延々に参照が続くので内部で嫌だといっているのではないでしょうか?
ですので、「請求書」の参照前後を調べてみて下さい。
役に立ってないですね…すみません(--;)
    • good
    • 0
この回答へのお礼

sekicです。
再帰定義について教えていただきどうもありがとうです。
本当に困っていたのでたすかりましたm(__)m

お礼日時:2002/02/21 17:57

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

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

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

Qファイルメーカー(FileMaker)の関数を使って入力を制限

例えばファイルメーカーPro(FileMaker Pro 7.0v3)でメールアドレスのテキストフィールドを作成する場合。
入力できるテキストを40字(半角小文字a~z、半角0~9、半角アッ
トマーク、半角ピリオド、半角ハイフン、半角アンダースコア)のみに制限する方法はありますか?

※メールアドレスはあくまでも一例です。

Aベストアンサー

ウチは5.5なんですが、

グローバルフィールド「AllowChar」を繰り返し40で作成。中身は許
可する文字を列記したもの

計算フィールド「AllowCharCount」を繰り返し40で作成。計算式は
PatternCount(Extend(アドレス), AllowChar)

「アドレス」の制限を計算して求める
Length(アドレス) =Sum(AllowCharCount)

これでオッケーでした。

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

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

Aベストアンサー

「再帰定義」とは計算式の間違いなどでエラーメッセージとして出てきます。どういうことかというと、AフィールドにBフィールドのデータを引用するにあたって、実はBフィールドはAフィールドのデータを何らかの形で引用していたため定義ができない、というような感じの意味です。
4つファイルのリレーションの場合、何か共通の1つのキーで他の3つにリレーションするのは良いのですが、「受注」→「発注」→「仕入れ」とデータがリレーションされた段階でこの3つのファイルのいずれかが「請求書」のデータを引用していると思われます。
この辺を考慮して再度ファイル定義をよく見直して下さい。
回答が遅かったのでもう既に解決していれば幸いです。

Qファイルメーカー(FileMaker)のランタイムバージョンのデータ更新について

ファイルメーカー(バージョン不明)で作成されたランタイムバージョンのアプリケーションが手元にあります。

アプリの仕様は、格納されたデータベースの検索プログラムで、データの更新機能は持っていません。

今回プログラムの変更はせずに、データの中身だけ入れ替えたいという要望がありますが、更新機能を持たないランタイムバージョンのファイルのデータのみ入れ替えることは可能でしょうか。

【状況の概要】
・search.exe, search.usr, その他たくさんのdllファイルから構成されています。fp5やfp7などの拡張子を持つファイルは存在しません。
・当方はファイルメーカーは持っていません。(購入が必要な場合、ProではなくAdvancedが必要でしょうか。)
・OSはWindowsXPです。

Advancedエディションがあれば上記の状態でもデータの更新が可能と言うことが分かれば、購入も検討したいと考えています。

どうぞよろしくお願いいたします。

Aベストアンサー

申し訳ありません。曖昧な記憶でいい加減な事を書いてしまいました。
私の回答は無視してください。
下記のページで質問してみてください。
詳しい方がたくさんいらっしゃいます。

参考URL:http://www.kipwmi.com/fmbbs/wwwlng.cgi

QAccess サブフォームのリレーションに関して

標記の件よろしくお願いします。

メイフォームとサブフォームを

メインフォーム ID オートナンバー型 主キー設定設定あり。

サブフォーム  ID 数値型(長整数) 主キー設定なし。

の条件でリレーションしてあります。

現状ではメイフォームのIDとサブフォームのIDを
を別々に手入力しています。

メインフォームのIDを入力したらサブフォームのIDが自動的に
同じ数値で表示されるような設定をするにはどのようにすれば
よいのでしょうか。

また、新規データを入力する際に
レコードセレクタにて空の入力欄を表示させて
前回のデータの入力を確定させているのですが

これ以外の方法はありますでしょうか?
この方法だと他の担当が操作した場合に
いつデータ入力が完了したのか
次のデータを入力するにはどうすればよいのか
分かりづらいのではないかと思います。

上記2点どちらかでも構いませんので
アドバイスお願いいたします。

Aベストアンサー

質問しようとしている状況が良く判りません。
通常、メインフォーム/サブフォームは、例えば「大分類/小分類」みたいなものがあり、メインフォームで大分類項目を選択すると、サブフォームにその大分類に属する小分類項目が一覧表示されるようなものを考えます。この場合、IDを手入力するような状況は考えられず、小分類項目を追加する場合には、該当するフィールドに、大分類のIDが自動的にセットされます。
ご質問の状況は違うようなので、具体例を交え、改めて状況を説明してください。

Qファイルメーカー(File Maker)の100円以下切り捨ての計算式

お世話になります。ファイルメーカー5.0をマックで使っています。

例えば、
「商品価格×消費税=12541円」
だった場合、12500円(100円以下切り捨て
)という数字に計算結果をしたい場合、どうすれば良いでしょうか?

小数点以下切り捨てという関数があれば、
100分の1に小さくしてから100をかければ良いと思うのですが、小数点以下は表記上表示しないようには出来るのですが、切り捨てる方法がわかりません。

正攻法でも良いですし、後者の方法でも良いので、
100円以下切り捨てる方法を教えていただければ幸いです。

よろしくお願い致します。

Aベストアンサー

int(12541/100)*100でできます。
int(x)はxの整数部分だけを取り出します。つまり今の例でいうと125.41の整数部分ですから125となります。これを100倍すれば12500となります。詳しくはヘルプをみてください。

QFileMaker pro 11 リレーション本

FileMaker Pro 11で専門学校の学生管理DBを作成しています。
初心者のため、リレーションをどうやればよいか、よくわかりません。

現在使用中の本は
「FileMaker Pro11 スーパーリファレンス」(ソーテック社)のみです。

リレーションについて、「新リレーションで極める FileMaker」という本しかアマゾンで見当たらないのですが、2008年に出版された本で、バージョン9までの対応のようです。
この本は、バージョン11でも十分に対応できる内容なのでしょうか?
もし、問題ないようでしたら購入したいのですが、どなたか使っていらっしゃる方がおられましたら、教えてください。

また、他にPro11対応のリレーションについて詳しく学べるサイトや本がありましたら教えていただけると助かります。

Aベストアンサー

リレーションだけの本もあるのですか・・・
リレーションの基本はVer.7からほとんど変わっていないと思いますけど、
11(持ってないけど)ではポータルフィルターとか有るようですね。
リレーションのどんなところが判らないのですか?
市販本で解決するのかな。

QファイルメーカーPro5.5体験版の入手方法

ファイルメーカーPro5.5体験版の入手方法ってありますか?
今、FileMaker社のHPにはVer6しか体験版がありません。
事情があってVer5.5の体験版が欲しいのですが、
体験版が付録に付いている参考書籍等も、PC量販店等で探したのですが見つかりませんでした。
どなたかご存じの方、よろしくお願いします!

Aベストアンサー

こんばんは。

遅れてすみませんでした。

しかし、Pro5.02の日本語版は、Webで探したのですが、英語版だったと思います。
(現状、再度探すのが困難になってます。トホホ)

一応、ISBNが載っているURLを添付しますので、書店でバックナンバーとして、
注文すれば、購入可能かもしれません。

的確な回答ができなくて、申し訳ありませんでした。

参考URL:http://www.telestar.or.jp/new/dtp0101.html

Q筆ぐるめ住所録のバックアップが読み込めない

私のVAIOの筆ぐるめver10で作成した住所データをCD-RWにバックアップして、実家の父が使っているVAIOの筆ぐるめver9に入れようとしたところ、「筆ぐるめの住所録データではありません」というメッセージが出て読み込めません。また、外部データの読み込みとして実行しても「読み込みに失敗しました」となります。USBフラッシュメモリでも試しましたが同じでした。
この’教えてgoo’のほかのQ&Aも参考にしてデスクトップにコピーして属性のチェックを全て外してもダメでした。どうすればいいのでしょうか?

私のVAIO ------ PCV-W102 celeron1.6G winXP メモリ512MB FDDなし 筆ぐるめver10(VAIOに付属)
父のVAIO ------ PCG-FX33S/BP celeron0.9G winXP メモリ128MB FDDあり 筆ぐるめver9 (VAIOに付属)

単にバージョン違いが原因でしょうか?
どうか宜しくご指導お願いします。

Aベストアンサー

先ほどの補足ですが、
筆ぐるめ10からCSV形式で保存して、
筆ぐるめ9で読み込んでください。

同じく下記ページから、バージョンを「ver9」にして、
「住所録」を選び、「他のソフトの住所録データを・・」を、
選んでください。

参考URL:http://vpost.tokio.fsi.co.jp/GourmetQA/

QFileMaker Proについて

先日、お客様のPCにFileMaker Proを入れて、
FileMaker Goと連携させて動かしているのですが、
FileMakerのエラーメッセージが表示された、と連絡をいただきました。

エラーメッセージのキャプチャを添付します。

そのエラーメッセージから、

ライセンスキーは、一度に1台のコンピュータで本ソフトウェアのコピー1部の使用が許諾されるエンドユーザライセンスアグリーメントに従うために使用されます。詳細については、ソフトウェアをインストールしたアプリケーションフォルダにある FileMaker Pro または FileMaker Pro Advanced のソフトウェアライセンスを参照し てください。ライセンスキーが無効、または同一のライセンスキーによりインストールされたアプリケーションがネットワーク上の別のコンピュータで実行されている場合、FileMaker Pro アプリケーションによって、次のエラーメッセージが表示されます。 「現在、最大 登録者数でこの FileMaker Pro を使用しています。」

このエラーメッセージが表示された場合、入力されたライセンスキーがすでに使用されていることを示しています。 複数のコンピュータに FileMaker Pro をインストールするには、各ユーザに個別のライセンスキーを使用するか、ボリュームライセンスアグリーメントに基づいてライセンスを取得する必要があります。ユーザ1人に対してFileMaker Pro を1部ずつ購入する必要があります。

という文章をネットで見つけはしたのですが、
お客様のPCでは、その一台しかFileMaker Proをインストールしていません。

原因、対策等、分かる方がいらっしゃいましたら、ご教授ください。

なお、添付ファイルの隠されている文章部分には、
お客様のPC名が入っています。

お客様環境:Win7 64bit FileMaker Pro12 FileMaker Go 12 for iPad です。

先日、お客様のPCにFileMaker Proを入れて、
FileMaker Goと連携させて動かしているのですが、
FileMakerのエラーメッセージが表示された、と連絡をいただきました。

エラーメッセージのキャプチャを添付します。

そのエラーメッセージから、

ライセンスキーは、一度に1台のコンピュータで本ソフトウェアのコピー1部の使用が許諾されるエンドユーザライセンスアグリーメントに従うために使用されます。詳細については、ソフトウェアをインストールしたアプリケーションフォルダにある FileMaker Pro または F...続きを読む

Aベストアンサー

Goは関係無いです。
>そして、やはり一台しかインストールしていないようです。

そのFM12は正規品の購入ですか?
どんな仕組みになっているのか解りませんけどWAN側でも
同一シリアルを感知するのかも。
中古品を購入されたのなら、そんな仕組みだとひっかかりそう。
未登録なら登録してみたらわかるのかな。
どちらにしてもFM社に電話した方がいいのでは?

QAccess2002 VB で「ユーザ定義型は定義されていません」

Access2002で
-------------------------------
Private Sub 起動パスの確認_Click()
Dim db As DAO.Database
Dim strPass As String
Set db = CurrentDb
strPass = db.Name
Me.起動パス = strPass
db.Close: Set db = Nothing
End Sub
-------------------------------
を実行すると
コンパイルエラー:
ユーザ定義型は定義されていません。
と表示されます。

他の方の質問の回答で、
ツール-参照設定 で「Microsoft DAO 3.6・・・」にチェックをつけてください。
とありましたが、ツールの中に「参照設定」が見つかりません。
この場合、どうしたら良いのでしょうか?

初歩的な質問ですみません。
教えてください。

Aベストアンサー

参照設定はAccessのツールではなくツールのマクロからVisualBasicEditorを開きVisualBasicのツールに参照設定があります。
参照設定のDAOのObjectLibraryにチェックをしてください。


人気Q&Aランキング