みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
また皆さんのお知恵を拝借したく、よろしくお願い致します。
環境:WINXP FM12Ad
値一覧をラジオボタンやチェックボックスにする時、あるフィールドの値を使うとします。
従業員のデータなどのテーブルの所属コードなどの場合、所属コードが単一化されて値一覧になります。
この機能は非常に便利なので良く使いますが、
これを別のテーブルのレコードに反映したいのです。
先程の所属コードテーブルを別途作成する時などです。
所属コードテーブルを全て消してリフレッシュするなら簡単で所属コードをユニークで常時にして従業員テーブルからインポートすればよいだけです。
しかし一度作成した所属コードテーブルにはいろいろなデータが入っていてリフレッシュ出来ない事情があります。
この様な場合、従業員テーブルに新しい所属コードが増えたら所属コードテーブル側も自動でその所属コードのレコードを増やす方法は無いでしょうか?
値一覧の情報をリターンコードで区切って返すValueListItemsなどを使う方法なども考えましたが、良い方法が見つかりません。
どなたかよろしくお願い致します。
質問がよく分かりませんが、、
ここだけ
> 従業員テーブルに新しい所属コードが増えたら所属コードテーブル側も
> 自動でその所属コードのレコードを増やす方法は無いでしょうか
このままスクリプトにして、
従業員テーブル::所属コード フィールドのトリガで実行すればいいのでは。
Offline
順番がおかしい。
新しい所属コードが増えたら、まず所属コードテーブル側にその所属コードのレコードを増やす。
それによって初めて従業員テーブルに新しい所属コードを使用できる。
そういう場合のために、フィールドオプションに「値一覧で制限」というのもある。(存在しない所属コードは入力できない)
それでは質問の仕方を少し変更致します。
ValueListItemsなどの関数で表示される改行区切りのデータの中に新規作成したデータがあるかどうかを調べるにはどうしたら良いのでしょうか?
FiltrtValue() 関数を使えばいいでしょうね。
Offline
入力テーブル::フィールド=単一化テーブル::フィールド
というリレーションで右をレコード作成許可にしておいて、
Count(単一化テーブル::フィールド)=0
なら
フィールド設定[単一化テーブル::フィールド;入力テーブル::フィールド]
入力テーブル::フィールド=単一化テーブル::フィールド
というリレーションで右をレコード作成許可にしておいて、
Count(単一化テーブル::フィールド)=0
なら
フィールド設定[単一化テーブル::フィールド;入力テーブル::フィールド]
Count(単一化テーブル::フィールド)=0という計算式はどこを元に評価するのでしょうか?入力テーブル::フィールド側ですか?
そうです。
>従業員テーブル::所属コード フィールドのトリガで実行
と同じです。
入力テーブル::フィールドに入れたときに、単一化テーブルにレコードがなければ作成ですから。
どうせスクリプト使うしかないなら、リレーション使わず単に検索しても同じことか...ウィンドウがレイアウトがどうとか気にしないでいいのが利点かな。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 556.03 KiB (Peak: 579.66 KiB) ]