みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
まずユーザーテーブルと日記テーブルが1対多の関係であります。
レイアウトが3つ
・ユーザ一覧画面(リスト形式)
・日記一覧画面(リスト形式)
・日記編集画面(フォーム形式)
があるとします。
ユーザ一覧画面にポータルで日記テーブルを表示しており、
この画面にある「新規」「修正」ボタンから日記編集画面に行って編集します。
このポータルで日記の編集履歴の表示/非表示ができる仕組みを作るべく、
「修正」の時はレコード複製して修正前のレコードをそのままとっておくようにしています。
ユーザ画面では履歴表示時に修正前のレコードを表示するのですが、
日記一覧画面では修正前のレコードは表示できないようにしたいです。
そこでレコードのカスタムアクセス権で日記テーブルに以下の式を設定しました。
If ( Get ( レイアウト名 ) = "日記一覧" ; 最新フラグ = True /*修正前のレコードではない*/ ; True )
すると、日記一覧画面では想定通りの動きになったのですが
ユーザ一覧のポータルでは日記レコードが0になってしまいました。
Get ( レイアウト名 )が式に含まれていなければ計算式通りに動くのですが、
なぜかリレーション先のテーブルではGet ( レイアウト名 )があると全く表示されなくなっているように思えます。
何か解決策があればご意見をお願い致します。
FMP13A Windows7
ちょっと違うけど、
全表示のレイアウトから制限するレイアウトに切り替えると、ポータル内のフィールドが<アクセス権がありません>表示になる。
制限するレイアウトでアカウントを切り替えると(ファイル全体が開き直されるので?)ポータル内に権限のないレコード自体が表示されない状態になる。
そこから全表示のレイアウトに切り替えても(関連レコードはキャッシュされてるので?)アクセス可能になったレコードはポータル内に出てこない。
ウィンドウ内容の再表示すると出てくる。
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 500.94 KiB (Peak: 515.84 KiB) ]