みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
win7、FM pro13 advancedです。
現在、PC管理用のデータベースを作成しています。
テーブル構成
・PC一覧テーブル(フィールド:コンピュータ名、IPアドレスなど)PC登録画面で使用
・IPアドレス一覧テーブル(フィールド:IPアドレス)
PC登録画面にIPアドレスの入力フォームがあり、IPアドレス一覧テーブルを使った値一覧を埋め込み、
ドロップダウンリストでIPアドレスを選択できるよう設定しているのですが、
これをすでに登録されたIPアドレスは、ドロップダウンリストに表示しないよう処理したいのですが
そのようなことは可能でしょうか?
よろしくお願い致します。
PC一覧で適当なフィールドで「X」の自己リレーションをして、
計算フィールド
List ( "***" ; 自己リレーション::IPアドレス )
↑
IPアドレスに絶対無い適当な値(最初のレコードのために必要です)
とすると、
使用したIPアドレスのリストが得られます。
IPアドレス一覧テーブルとのリレーション
上記の計算フィールド ≠ IPアドレス
として、
この動的値一覧を作れば、使用したものがリストからなくなります。
Offline
チポ様ご返信ありがとうございます。
「IPアドレス一覧」テーブルの「IPアドレス」フィールドに192.168.1.1~192.168.1.5の5レコードを作成
PC一覧テーブルには192.168.1.1~192.168.1.4が入力された4レコードを作成
以上の状態で
PC一覧で適当なフィールドで「X」の自己リレーションを作成した後
PC一覧に、List ( "999" ; 自己リレーション::IPアドレス )を作成したのですが
検証の為作成した画面では上記の計算フィールドに
999
192.168.1.1
という内容が4レコード出来ており、この状態で計算フィールド ≠ IPアドレスのリレーションを作成すると
値一覧のドロップダウンリストには、192.168.1.2~192.168.1.5が表示される状態になります。
計算フィールドの設定に何か間違いがあるのでしょうか?
補足ですが、ドロップダウンリストには登録してある192.168.1.1~192.168.1.4までは表示せず
未登録の192.168.1.5だけ表示されればよいのですが、
なぜかドロップダウンリストには192.168.1.1だけが表示されず、192.168.1.2~192.168.1.5が表示されてしまう状態です。
試したら同じでした。
リストが正確に作られませんね。
かなり前に同じものを作ったんですが、
確かこれでいいかと。
前のファイルを捜しましたが見つからず。。
原因は分かりませんが、対症療法で
List ( "999" ; 自己リレーション::IPアドレス )
これを
"999¶" & List ( 自己リレーション::IPアドレス )
こう変更してください。
取りあえず、これでリストが作られます。
きちんと検証せずご迷惑をかけました、
申し訳有りません-_-
Offline
あああ、ぽかでした、、、
最初の式、まったくのミスでした。
List ( "999" ; List ( 自己リレーション::IPアドレス ) )
こうしなければダメでした。
「対症療法」でも大丈夫ですが。
Offline
ちぽ様
ありがとうございます!
List ( "999" ; List ( 自己リレーション::IPアドレス ) )に直したところ上手く動作できるようなりました。
勉強になり感謝しております。
たびたび申し訳ありません。
登録済みのIPアドレスはドロップダウンリストに表示されないようにはなったのですが
登録画面上のIP入力フォームで、仮に「192.168.1.3」というIPを選択した直後、すぐにIP入力フォームを
押下すると、さきほど登録した「192.168.1.3」がドロップダウンリストに表示されてしまいます。
IPを選択後、違うフォームをクリックしたのち再度IP入力フォームを押下すれば、さきほど入力したIPは表示されませんが
これはfilemakerの仕様でしょうか?
内容を理解していませんが、ドロップダウンにmodifyトリガでも付けて
レコード確定スクリプトを動かしてみたら?
Offline
旅人様
ありがとうございます。調べてみるとフィールド以外の部分をクリックするなどの操作がないと、
更新は確定されないようで、アドバイスいただいた処理で解決しました。
教えていただきましてありがとうございました。
お世話になります。
去年作成したPC管理用のデータベースについて問題が生じましたのでご質問です。
登録されたパソコンをリスト形式で表示し、フッタに詳細な情報を表示する仕様です。
IPアドレスに対して変更を行う場合は、フッタにあるIPアドレスフォームを押下して
表示されるドロップダウンリストから空いてるIPを選択するのですが
試しに一番下のレコードのIPを変更するとその一つ上のレコードには変更内容が反映されず
登録済みのIPが表示されてしまいます。
そこで上部のステータスバーの「ウインドウ内容の再表示」を押すと、問題のレコードの不具合が
解消されるのですが、スクリプトの方の「ウインドウ内容の再表示」では解消されません。
この二つにはなにか違いがあるのでしょうか?
「ウインドウ内容の再表示」のオプションで[キャッシュ結合結果を書き込む]を指定しましたか?
フィールドのOnObjectExitトリガスクリプトで「ウインドウ内容の再表示[キャッシュ結合結果を書き込む]」をお試しください。
念のためサンプルをアップしておきます。
●サンプル「空リスト.fmp12」 → http://yahoo.jp/box/KKZCXX
Offline
Hiro様
ありがとうございます。
OnObjectExitトリガに教えていただいた内容を入力したら解決しました。
本当に助かりました。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 526.83 KiB (Peak: 547.73 KiB) ]