みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[OS X Yosemite 10.10.5 ]
FileMaker Ver:[Pro10 Advanced]
初心者です。お手柔らかにお願いします。
レイアウト上に7列72行のフィールドがあり、
エクセルのように枠が上下左右きっちり整列されているわけではないにしろ、ある程度は揃えてある状態になっています。
しかし、値のセット時に左から右、上から下というように標準の順番通りに値が入りません。
タブ順設定を確認したところ、ズレが生じてしまっています。
ズレが生じている部分のフィールドを整列しなおし、タブ順がきれいになると値が問題なく入るようになるのですが、
同様のレイアウトがたくさんあり、1つずつ確認しながらフィールドの位置を修正する作業を繰り返すとかなりの時間がかかります。
何かいい解決法はありませんでしょうか。
FMはデータベースで、表計算ソフトでないことを理解ください。
まず、データベースの仕組みや組立方を学んでくださいネ。
Offline
yoshiさんが作成されたファイルなのでしょうか?
それとも、他の方が作り使っているだけなのでしょうか?
>値のセット時に
値の入れ方を書かれてはいかがですか?
手動で入力→enterキーで移動→次を手動で入力、という方法であればタブ順が正しくないと目的のフィールドに移動できません。
>標準の順番通りに値が入りません。
標準の順番とは、とういう意味でしょうか?
何行目と指定はできますが、何列目というものはありません。繰り返しフィールドを使った場合は近いことが出来ますが。
Offline
わかりづらい質問内容でごめんなさい。
質問を変更させていただきました。
フィールド名が下記のように1つのレイアウト上に1列で存在いたします。
==レイアウト1列バージョン==
1-1
1-2
1-3
...
1-37
2-1
2-2
...
2-37
3-1
3-2
...
3-37
...
12-37
==レイアウト2列バージョン==
1-1 2-1
1-2 2-2
1-3 2-3
... ...
1-37 2-37
スクリプトを使用して1-1から12-37まで順番に移動をおこなって処理をするという作業を実施したいのですが、
フィールドの数が多く、フィールドを上から順番に配置してもレイアウトに収まることができず、
2列に変更したところタブ順の指定が左(1-1)から右(2-1)へ移動して1-1、1-2、1-3という風に順番よく移動してれないという問題が起こっております。タブ順を1つずつ指定するのも可能ですが、数が多くて時間がかかりますので
何かいい方がないかなと思い投稿させていただきました。
何かいい案がありましたらご教授お願いいたします。
==スクリプト==
Loop
計算処理
次のフィールドへ移動
Exit Loop (12-37まできたらループを抜ける)
end Loop
==スクリプト==
そんな多数のフィールドがあることがそもそも問題と思います。
数が増えても良いのはレコードで、フィールドは必要最低限にするよう努めましょう。
DBを見直してください。
例えば、家族構成DBでたとえるなら、
●1家族1レコードだと、
フィールド: <家名><家主名><配偶者名><父親名><母親名><長男名><長女名><次男名><次女名><3男名><3女名><4男名><4女名><5男名><5女名>・・・・・・・
↓
●1名1レコードにすれば、大幅に簡素化できる
フィールド: <家名><続柄><名前>
Last edited by Hiro (2016-10-28 15:48:16)
Offline
Hiro さん>
確かにおっしゃるとおりだと思います。
とりあえず今の改修は必要なので、それが終わり次第今後MySQLへの移行を進めていこうと思います。
あると さん>
他の方が作ったもの(開発者はもう会社辞めた)を改修依頼があって触っているところです。
お手数おかけしました。
質問内容を書き直したのですが、これで伝わりましたでしょうか。
Hiro さんの言う通り、FileMaker らしくない構成ですね。設計をやり直した方が良いでしょう。
レイアウト内のタブ順については、フィールドがきちんと整列してあれば、全部削除した後で自動設定を行うことで、左上から右下に向けてついていきます。試してみれば。
Offline
Hiroさんの仰るように、DBとしての実装は見直した方が良いと思います。
ただ、問題となっているタブ順を解決する方法はあります。
まず、レイアウト1列バージョンの状態で、レイアウトモードから、
タブ順を一度消去し、再度「残りを追加」からまとめて追加します。
この状態であれば、そこから2列バージョンの形にフィールドオブジェクトを移動しても、
設定したタブ順は維持されます。
レイアウト作成時やフィールドオブジェクト追加時に自動で割り当てられるタブ順は、
フィールドオブジェクトの移動時に、その位置に応じて自動で再設定されます。
それを防ぐために、改めて自分でタブ順を指定する必要があります。
スクリプト+手作業でないなら、
スクリプトは、1列レイアウトで実行するようにしては?
もしくは、フィールド名に数値の規則性があるなら「フィールドを名前で設定 []」で指定出来るかも。
または、対象フィールド名のリストを作成し、「フィールドを名前で設定 []」をLOOPとか.....。
Offline
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 523.34 KiB (Peak: 527.88 KiB) ]