FileMakerGOと修正ボタン
勢いでいろいろ作っていたのですが、作り慣れてくると考える必要が出てくるのが
こいつと
こいつ、
メニューバーとツールバーです。
特にツールバーはうまく制御してやらないと、ほかの人には使わせられないです。
FileMakerは何もしなければ誰でもデータの修正ができますし、設定すれば修正後「自動で保存」するか「確認後保存」するかを設定できます。
ただ「確認後保存」にしたところで、そのままでは予期せぬところをさわってしまい、その都度キャンセルをしなくてはいけなくなります。
やはり
こんなボタンを作ってあげて、押すとはじめて編集できるようになる方が。
方法は色々あるようなのですが、良さそうなのは
1、表示用のフィールドと編集用のフィールドを準備し、隠すを使って切り替える。
2、スクリプトでIF文を使い、当てはまらなければ「フィールドへ移動[]」で飛ばす。
でしょうか。
私は1がほとんどです。というか、2は後から調べてそのような方法があることを知りました。
カーソルを移動させた時の挙動が少し違い、2はPCだと表示しきれないような場合にクリックするとフィールドが広がり、切れた部分が見えるようになるのでそのような場合に使っています。ただ、ここの挙動はバージョンによって変わってしまう可能性もありそう・・・。
(iOSだと一瞬広がるだけなので、好みの問題になるかと思いますが、重ねなくていいので後からレイアウトの変更があった場合楽ですと書いてありましたが、確かにそうかな。)
このボタンにフラグ立てを組み込んであげると
表示するボタンを切り替えることができ、さらに
上のコマンドを入れておけば、編集中、他のレコードに移動できなくすることができるのですが、それはあくまでiOSの場合で、PCだとメニューが触れてしまいます。
カスタムメニューあたりを触ればいいのかもしれませんが、色々面倒なので、場合によってはiOS限定でしか触れないようにしてしまった方がいいかな。
iOSのツールバーに含まれるコマンドですが、扱うデータによっては押してもらっては困るものばかりです。
レコードの複製とか、押してもポータルの中身までコピーできませんし。
※ポータルまでコピーの仕組みはデータベースソフトを作るうえで、一つの壁ではないかと。
ここはカスタムレコードアクセス権を利用してとりあえず使えなくしていますが、制御方法は考えた方がいいかもしれません。
とは言っても作成と削除をできなくするだけなんですが。
ここをうまく利用してあげると、ログインユーザーによって
1、見るだけ
2、追加もできる
3、削除もできる
みたいなことを切り替えできそうです。
特に3だけは、何も対策しておかないと消されたことにも気がつかないということにもなりかねません。
もっと恐ろしいのは、全レコード削除とか・・・。
なんであんな選択肢が普通にあるのよ?
こんな項目使えたら、絶対他の人になんて使わせられないってーの。
そして最終的には自分でツールバーらしきものを作成し、下部ナビゲーションに配置しました。
ソートも使えなくしたかったというのが理由なのですが、ポップオーバーにしてしまうことで、スペースがなく配置に困ったボタン類もこちらに持ってくることができました。