みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも大変お世話になっております。
バージョン19.5.4.401になります。
修正者名というフィールドを作成しています。
フィールドタイプはテキスト、
フィールドオプションの入力値の自動化の修正情報にチェックを入れ、名前にしています。
ユーザ名を名前に変更して、最後に編集した人がわかるようにするというのが狙いです。
現在16アカウントで運用しているのですが、限られた4アカウントだけにこの設定を反映させる。などということは出来ますでしょうか?
残りの12アカウントは、編集しても名前が残らない。
こちら、方法があれば教えていただけますとありがたいです。
よろしくお願いいたします。
入力値の自動化の名前は、[環境設定] ダイアログボックスの [一般] タブに表示されているユーザ名ですので、その端末に固有(変更は随時可能です)のテキストを取り込みますので、適当ではないと思いますが。
ログインするときのアカウント名とは、全く関係無い別の情報です。
その4人のみの最後が記録されればいいのでしたら、自動入力で、LeftValue ( FilterValues ( List ( Get ( ユーザー名 ) ; 修正者名 ) ; List ( 4名の名前 ) ) ) としておけばいいはずです。
Last edited by Shin (2022-11-07 17:11:47)
Offline
Shinさん
ありがとうございます。
List(4名の名前)))のところですが、
例えば名前がtfmの場合は、
List("tfm")でよろしいのでしょうか?
List(Get ( ユーザー名="tfm")などにしても、うまくいかずでして・・・
何卒ご教授のほど、よろしくお願いいたします。
List ( "tfm" ; "tfn" ; "tfo" ; "tfp" ) とします。
ただ、この自動入力フィールドは、レコードのどこかを触った時点で書き換えられますが、その動きでいいのですか。
Last edited by Shin (2022-11-06 17:21:25)
Offline
すみません・・・
名前はダミーですが、下記のように入力しても計算式が成立しません・・・
こちら、何か原因はございますか?
LeftValues ( FilterValues ( List (Get ( ユーザ名 ) ; 修正者名 ) List ; ("tfm" ; "tfm2" ; "tfm3" ; "tfm4")))
Shinさん
レコードのどこかを触った時点で書き換えられるのは問題なしとしようと思っています。
引数を1個忘れていました。
LeftValues ( FilterValues ( List ( Get ( ユーザー名 ) ; 修正者名 ) ; List ( 4名の名前 ) ) ; 1 )
List ( 4名の名前 ) の中は、アカウント名ではなくて、名前だからユーザー名ですよ。
Last edited by Shin (2022-11-07 13:52:32)
Offline
アカウント
ユーザー名
と書かれていますが、、
ほしいのは、
ログインしたアカウント名なのか、
使用したソフトのユーザー名なのか、
どちらかによって方法が異なりますが。。
Offline
申し訳ありません。
表示させたいのはユーザ名になります。
たびたび申し訳ありません。
こちら、登録してあるユーザ名以外が入力すると空欄になってしまうようです。
空欄にならず、前の登録してあるユーザ名のまま
新たに別のユーザが上書きした場合にユーザ名が変更
このようなことはできますか?
Case (
FilterValues ( Get ( ユーザー名 ) ; List ( 4名の名前 ) ) = "" ; Self ;
Get ( ユーザー名 )
)
でしょうか。
最初に「現在16アカウントで運用している」~と書いてるのに、アカウント名でなくユーザ名でいいんですかね??
#2でShinさんが書いてますけど、ユーザ名は「登録」といっても環境設定の値なので、基本的に管理不可能(PCユーザがだれでも勝手に変更可能、複数のPCで同じ値でありうる)だと思いますが...
OSのログイン名(ユーザ名のデフォルト値)が欲しいってことなのかな?
あれ、#11の式だと自分以外のフィールドを参照してませんから、何か別の修正日時とかのフィールドを参照するようにしないと計算されませんかね?
Left ( 修正日時 ; 0 ) &
Case (
FilterValues ( Get ( ユーザー名 ) ; List ( 4名の名前 ) ) = "" ; Self ;
Get ( ユーザー名 )
)
とか...
動きを勘違いしていました。
修正者 という、修正情報のユーザー名を保存するフィールドとは別に、計算フィールドを作り、
LeftValues ( FilterValues ( List ( 修正者 ; self ) ; List ( 4名の名前 ) ) ; 1 )
という自動入力の計算式(上書きを許可)にします。
Offline
Shinさん
ありがとうございます。
LeftValues ( FilterValues ( List ( 修正者 ; self ) ; List ( 4名の名前 ) ) ; 1 )
こちらで現状理想の動きをしております。
himadaneeさん
ありがとうございます。
参考にさせていただきます。
現状、使用するPCのユーザ名を指定の名前に変更して、どのPCが最後に編集したかを判別したい。といった動作になります。
ですが、編集の中には名前を残したくないPCもある。といった感じです。
現状問題なさそうですが、少し様子を見てみます。
こちら、問題なさそうですので解決とさせていただきます。
みなさま、ありがとうございました。
今後とも何卒よろしくお願いいたします。
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 572.16 KiB (Peak: 588.7 KiB) ]