Q142:@自動的に当日の日付時間 ( 秒単位 ) を表示させる方法。A連番等の生成方法。Bリスト画面のIDを降順に並び替えたい。C入力画面及びリスト画面の行数を1行表示でなく文字を大きくとる為、4行から5行くらいとりたいと思っています。Dアクセスデーターベースを使用しますが、MZPF画面を同時に2台〜3台使用しますので、接続が同時に2台以上使用出来るかどうか。
Q142-1:
関連ファイルのエクセルの内容を問い合わせ致します。不必要なファイルも入っていますがお願い致します。MZPF画面(PDF)の入力部分の画面は入力画面(PDF)の様に大きめに作成したいと思っています。リストは小さめで作成したいと思っています。品名が少ない場合はプルダウンメニューを手入力すれば良いのですが、品名コードのように100以上ある物は、データがありますので活用出来ないでしょうか?
関連ファイル:MZPF問い合わせ.xls、入力画面.jpg
A142-1:
(1) 日付表示
[システム情報]コンポーネントの「現在時刻を取得する()」メソッドにより、現在の日付時間を表す日付データを取得することができます。この日付データを日付入力フィールドに設定して表示モードを「日付と時間」にすることで、「年/月/日 時:分:秒」という形式で表示することができます。
日付入力フィールドの表示モードは、アプリケーションビルダーの[実行(設定可)]ボタンでアプリケーション実行後、
日付入力フィールド上右クリック>表示モード
とたどることで設定できます。
参考のためにサンプルアプリケーション"日付表示.mzax"を掲載しましたので、どうぞご覧ください。
(2) 生産No
日付ロットは「『6桁表示の年月日』-『3桁の連番』」、生産ロットは「『4桁表示の年月』『2桁の数字』-『3桁の連番』」という書式であると理解しました。
このような番号は、日付データから「6桁表示の年月日」および「4桁表示の年月」を表す文字列を取得し、それに「-」や番号を表す文字列を連結することで生成することができます。
日付データから「6桁表示の年月日」や「4桁表示の年月」を表す文字列を取得するためには、[カレンダー]コンポーネントの「書式指定によるカレンダー文字列表現の取得(String)」メソッドを使います。引数は書式を指定する文字列で、6桁表示の年月日の場合には"yyMMdd"となります。書式指定の方法やカレンダーコンポーネントの使い方につきましては、付属文書「サンプル(カレンダー)」をご覧ください。
次に「3桁の連番」につきましては、数値入力フィールドをお使いになるとよろしいかと存じます。数値入力フィールドの表示形式で、整数部分の最小桁数を「3」と設定すると、100未満の数字の場合には空欄を0で埋めて表示します。この文字列を日付データから生成した番号および「-」と連結すれば、日付ロット番号を生成することができます。
文字列の連結には、[文字列格納変数]コンポーネントの「指定した文字列と連結して置き換える(String)」メソッドを使います。また、番号を1つ増やすには、数値入力フィールドから取得した数値を[整数(BigInteger)格納変数]コンポーネントに設定し、「値を1増やす()」メソッドを実行し、増やした値を再度数値入力フィールドに設定します。
参考のためにサンプルアプリケーション"日付ロット.mzax"を掲載しましたので、どうぞご覧ください。
また、生産ロットも同様の方法で生成可能と存じます。
(3) テーブルの行の並び替え
[テーブル]コンポーネントの「sort(int,int)」メソッドを使うことで、行の並べ替えを行えます。最初の引数が昇順と降順の区別で、0が昇順、1が降順です。2番目の引数は並べ替え対象の列番号です。
行の削除につきましては、各行ごとに削除ボタンを付けることは困難ですが、選択した行を削除するボタンを付けるのであれば容易です。
参考のためにサンプルアプリケーション"テーブル行並び替え.mzax"を掲載しましたので、どうぞご覧ください。
(4) 入力画面
入力用のテーブルとデータベースへのデータ登録用のテーブルを分けることでご希望の画面を作成することができます。お送りいただいたアプリケーションでは、InsertRowボタンをクリックしたときに1行テーブルのデータをデータベースへ登録するようになっていますが、その前に、入力用の複数のテーブルに記入された各データを、現在の1行テーブルの適切なセルに逐次コピーする処理を追加することになります。その際、現在の1行テーブルを画面に配置しておく必要はありません。
(5) アクセスへの接続
Microsoft Accessへは複数のPCからの同時接続が可能です。ただし、同時に接続するPCが5台程度以上になると、性能が低下すると言われています。
(6) コンボボックスへの項目設定
品名コードをCSVファイルとして保存し、それを読み込んで品名コードリストを取得してコンボボックスに設定することができます。
参考のためにサンプルアプリケーション"コンボボックス設定.mzax"と頂いたサンプルの"品名コード.csv"を掲載しましたので、どうぞご覧ください。
関連ファイル:テーブル行並び替え.mzax、日付ロット.mzax、コンボボックス設定.mzax、日付表示.mzax、品名コード.csv