みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM12の初心者です。
社員Noと社員名をレコード毎に登録しております。
ご指導いただきたいのは下記内容のスクリプトです。
①社員Noを新規検索条件のように同時に複数検索。
②検索実行結果はレコード登録順ではなく検索順。
宜しくお願い致します。
検索条件を複数作っていけば、複数検索が可能です。
検索順の、というのがわからないですが、検索順の並びが別に定義されているのでしたら、その順でソートをかけるしかないです。
Offline
検索条件を複数作っていけば、複数検索が可能です。
検索順の、というのがわからないですが、検索順の並びが別に定義されているのでしたら、その順でソートをかけるしかないです。
検索順とは社員Noで複数検索実行すると、結果はレコード登録順に表示しますが、そうではなく検索順番でレコードを表示をさせたいです。
検索順の並びの定義もありません。
どの様なスクリプトが良いのでしょうか。
検索条件はどこにどのように入力するのですか。
条件のインポートとかもあるのですか。
検索条件はどこにどのように入力するのですか。
条件のインポートとかもあるのですか。
検索条件は社員Noフィールドにバーコード入力します。
条件のインポートはありません。
宜しくお願い致します。
ソート用フィールドを作り、
スクリプトの手順
全レコードのソート用フィールドをリセット
Loop
一つを検索
ソート用フィールドに検索順番号を入力(全置換?)
EndLoop
ソート用フィールドを「*」で検索
ソート
レコード数が大量だと時間がかかるかもしれませんが。。
Offline
バーコードは全く分からないのですが、リレーションの照合フィールドにもできるのですよね。
でしたら
別テーブルに検索したいNoの数だけレコードを作ってNoを入れて、順番はGet ( レコード番号 )にして
関連レコード移動で元テーブルに移って、別テーブル::順番でソートとか。
全レコードを対象外にしておいて、
検索モード、バーコードを1個入力、トリガーでそのレコードを検索、ソート用のフィールドに Get ( 対象レコード数 ) を設定
検索モード、2個目のバーコードを入力、対象レコードを拡大、ソート用のフィールドに Get ( 対象レコード数 ) を設定
…
最後にソート用のフィールドでソート
で良さそうな。
Offline
皆様
ご回答を頂き有難うございます。
申し訳ありませんが、初心者なので具体的なスクリプト設計が出来ません。
又、別テーブルでレコード作製し社員Noを入力すると、その順番で表示できるので、この方法でも良いかも知れません。
但し、元テーブルに戻る際に社員Noのレコードに戻ることと、別テーブルのレコードを削除する方法が解らず困っています。
こんな感じでいい?
http://pupld.net/21/140325/ucnc2j936m/index.cgi
社員検索.fmp12
こんな感じでいい?
http://pupld.net/21/140325/ucnc2j936m/index.cgi
社員検索.fmp12
有難う御座います。
早速試させて頂きました。
検索後、マスタに戻るので非常にいい感じです。
但し検索レイアウトでバーコード入力すると次のレコードのNoに自動で移動させるにはどの様にすれば良いのでしょうか。
う〜〜ん、バーコード入力ワカリマセン。
バーコードリーダーに、ポストフィックスで %oa または %oc を付けておきます。
Traveller さんのフィールドに、OnObjectExitトリガーで、次のレコードへ移動する、という動きを付ければいいのでしょうが、レコードの移動が必要で、かなり面倒そう。
私の提案のサンプルを試してください。追加の構造は、数字フィールドが1個だけです。
バーコードリーダーの設定ができていれば、このまま使えるでしょう。
https://dl.dropboxusercontent.com/u/926 … 08.fp7.zip
欠点として、元レコード数が非常に多ければ、セットアップに少々時間がかかります。
Offline
こんな感じでいい?
http://pupld.net/21/140325/ucnc2j936m/index.cgi
社員検索.fmp12
作成いただいたサンプルDBを試すと、何度か砂マーク?が表示し検索レイアウトに数万件のレコードが出来てしまいました。
マスタレイアウトのボタン「検索画面に」を押すとこのようになったと思われます。
イレギュラーな利用時にこの様になるのでしょうか。
スクリプトのExit Loop IfがGet ( 対象レコード数 ) = 10
ですから、ボタンを押さずにレイアウトを切り替えたりするとそうなりそう。
(10以上どんどん増えても10になることは無いから)
Get ( 対象レコード数 ) ≥ 10とかにしたらいいかも。
Traveller様
サンプルDBをFMサーバに登録しましたが複数のPCやiPadでの同時利用ができません。
全て同じレコードが表示します。
Shin様
検索スクリプトを実行させるとカスタムダイヤログが表示。
バーコード入力するのですが表示しません。
「OK」と「キャンセル」を押すと表示はしますが、手順が間違っているのでしょうか。
何度も申し訳ありません。
宜しくお願い致します。
こちらの環境では、バーコードで入力ができています。
しかも、バーコードで入力を行うと、新しいダイアログが表示され、キャンセルした時点で入力した順でレコードが抽出され表示されます。
Offline
こちらの環境では、バーコードで入力ができています。
しかも、バーコードで入力を行うと、新しいダイアログが表示され、キャンセルした時点で入力した順でレコードが抽出され表示されます。
色々試しましtが、iPadとPCのバーコードで違いがあることが解りました。
①iPadとBluetoothバーコード
ダイアログ表示⇒IDは不点滅⇒押して点滅させます⇒バーコード入力⇒入力値が表示⇒OKボタン押す⇒キャンセルボタンを押す⇒テーブルレイアウトにソフトキーが1から順番に表示し、IDも入力値が表示。
②PCとUSBバーコード
ダイアログ表示⇒IDはカーソル点滅⇒バーコード入力⇒入力値が未表示⇒OKボタン押す⇒メッセージ「指定された検索条件は有効ではありません。次の作業に進む前に有効な検索条件を入力して下さい。」⇒続行ボタンを押す⇒キャンセルボタンを押す⇒テーブルレイアウトにソフトキーで重複する番号が作成されて、その順番に表示し、IDも入力値が表示。
主にiPad利用ですが、この違いは何が原因なんでしょうか。
スクリプトのExit Loop IfがGet ( 対象レコード数 ) = 10
ですから、ボタンを押さずにレイアウトを切り替えたりするとそうなりそう。
(10以上どんどん増えても10になることは無いから)
Get ( 対象レコード数 ) ≥ 10とかにしたらいいかも。
Traveller様
サンプルDBをFMサーバに登録しましたが複数のPCやiPadでの同時利用ができません。
全て同じレコードが表示しますが解決は難しいのでしょうか。
①iPadとBluetoothバーコード
こちらは、テストする環境がありませんので、何とも言えません。
②PCとUSBバーコード
ダイアログ表示⇒IDはカーソル点滅⇒バーコード入力⇒キャンセルボタンを押す⇒テーブルレイアウトにソフトキーで重複する番号が作成されて、その順番に表示し、IDも入力値が表示。
の手順で良いのでは。
バーコードで読み取られた後、一瞬で検索処理が終わり、次のダイアログが表示されているはずです。
Travelleさんの構造は、共有している状況では、かなり構造を変更しないと運用は無理でしょうね。
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 603.52 KiB (Peak: 620.42 KiB) ]