| サンプルをアップします。V9-2006(v9-2004 sp3)対応
フォームの使い方:ヘッダのテキスト欄にコード(12桁)を入力します。 (サンプルのコードは 000000000001〜000000000020 です。)
(1)コードをバーコード入力すると、検索します。
(2)コードをキー入力して、Enterを押すと、検索します。
(3)コードをキー入力して、Enterを押さないで、「検索」ボタンをクリックすると、検索します。
リーダーの設定を必ず、CR(CRLF)を付加(=改行する=Enterを押す という設定です)にしてください。(設定方法はリーダーのマニュアルに載っています。)
バーコードをピッとするとき、入力欄のテキストボックスをあらかじめ訂正(編集)モードにしておく必要があったかどうか、よく覚えていません。
コードの桁数が13桁とのことですが、リーダーは8桁も読めます。8桁の方が検索時間が短くてすみます。
表は索引定義を設定して、重複禁止にしておくと、検索時間が圧倒的に短くてすみます。
さて、私はサンプルのようなイベントを実際に使っているわけではありません。 携帯電話サイズの機械で多くの商品・POP(価格の札)・印刷した一覧をピッとやって、CSVファイルをウェブサイトと桐に送っています。毎日10頁のバーコード一覧をピッとやるだけでも、コードを探し出すのは非効率な作業です。 膨大な印刷物から該当するコードを1件探すのに、いったいどれだけ時間がかかるでしょう。印刷物の重みで手の筋を痛める恐れもあります。10万件のバーコードを印刷すると数千ページにもなるでしょう。そんな大量に印刷できますか。
実際にどのような場面で検索が必要になるかを想定してみると。たとえば宛先不明で返ってきた郵便物があったとして、あらかじめ宛先のそばにバーコードを印刷しておけば、すぐピッとやって処理ができますね。 このように検索するコードをすぐピッとできるケースなら、効率的に運用出来そうですよ。
下にイベントをコピペしておきます。 ------------------ 名札 メイン var 局所,文字列{ &バーコード } * 手続き定義開始 フォーム::フォーム開始(長整数 &表番号) method @tコード入力.フォーカス設定() 手続き定義終了
手続き定義開始 tコード入力::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続) if( &編集文字列 .and&モード=1 ) if( #桁数( &編集文字列 ) = 12 ) /* 桁数をチェック */ &入力継続 = 0 else &入力継続 = 1 end else &入力継続 = 1 /* ESCの場合 */ end 手続き定義終了
手続き定義開始 tコード入力::ソース値更新() if( &バーコード ) 検索 [コード]{ &バーコード }, 終了状態=&実行リターン cond( &実行リターン=-1 ) 確認 "該当なし: "+&バーコード end 手続き定義終了 ------------------- アックン(=^・^=)
|