Q97:@エクセルみたいなDATE関数みたいにクリックするだけで、日付が入力できないでしょうか。
Aボタンをクリックすると表示テーブルのところにボタンに対応したテーブルが移動し、テーブルの中のデータを更新して、登録ボタンを押したら、各テーブルに記録を残したい。
Q97-1:
質問1:関連ファイルに小生が作成しましたアプリケーションを開いてください。
質問1在庫管理ーー>在庫管理テーブルが出てきますが、そこの日付のところに現在の日にちを入力したいのですが、直接入力ではなくて、エクセルみたいなDATE関数みたいにクリックするだけで、日付が入力できないでしょうか?
質問2:工具管理ーー> 開くとNC1〜NC19・・・とボタンがあります。ボタンをクリックすると表示テーブルのところにボタンに対応したテーブルが移動して、きます。そこで、テーブルの中のデータを更新して、登録ボタンを押したら、各テーブルに記録を残したいのですが、NC1>NC2>NC1に戻ると消えています。
A97-1:
ご質問1について回答致します。
テーブルのセルを選択した時に、その選択されている行や列の位置を手掛かりとして、セルの値を設定することができます。
日付は「/」など一々入力するのが面倒かと存じます。
後からセルの編集はできますので、まずはクリックしたら現在日時を入れるといったことが考えられます。
現在時刻の取得には[システム情報]コンポーネント、または[カレンダー]コンポーネントを使用します。
また[日時選択ダイアログ]を使うと、自由に日時を選択して設定することもできます。「属性情報の設定」で「TimeInvisible」、「DateInvisible」の「true/false」を変更すると、「日付のみ」の画面等に変更できます。
ご参考までに簡単なサンプルファイルを掲載致しましたので、どうぞご覧下さい。
一つ目は、テーブルをクリックするとデータが入るもの
二つ目は、特定の列のセルをクリックした時だけデータが入るようにしたもの
三つ目は、[日時選択]ダイアログを使ったものです。
関連ファイル:選択して日付設定.mzax、選択して日付設定2.mzax、選択して日付設定3.mzax
ご質問2について回答致します。
ご参考までにサンプルファイルを作成しました。
[テーブル]の表示が消えたようになってしまうのは、手動配置で同じ場所に配置すると、配置した順番により、どうしても重なって見えなくなるからです。
一つの画面に配置する場合は、[タブ]等を使用し表示を切り替えることをお勧めします。[タブ]の使用方法は
@[画面編集]画面で[フレーム]に[タブ]を配置します。
(関連ファイルでは[タブ]は「GUI複合コンポーネント]上に配置しました)
A[タブ]の上に[パネル]とその上に配置したいコンポーネントを追加します。[パネル]は必要な数だけ追加していきます。
B「実行(設定可)」で実行し、タブの耳の上で右クリック>[タイトル...]でタブタイトルを変更します。
「登録」をする方法ですが、現在のところMZPlatformのアプリケーション内に元データのテーブルを全て持っていて、そのテーブルを変更していらっしゃいます。編集対象のテーブルが複数ある場合には、どのテーブルを変更するか指定するのが少し難しくなります。
関連ファイルでは一旦[テーブル]のリストを作ってしまい、何番目に入っている[テーブル]を呼び出すか、ボタンを押した時指定するという考え方にしてあります。使うコンポーネント数が多いので「複合コンポーネント」内に纏めてあります。
「複合コンポーネント」はダブルクリックして中に入っている時に、[保存]ボタンを押すと、「複合コンポーネント」のみ保存することもできます。
保存してある「複合コンポーネント」は黄色の領域で右クリック>[複合コンポーネント追加]>[ロード...]で追加ができます。
『開発チュートリアル(実践編)Lesson12』のP39から「複合コンポーネント」の使い方の紹介があります。
無理に複合コンポーネントを使う必要はありません。
今回お送りするサンプルファイルは、画面や処理を見て頂くための簡単なものです。以下をどうぞご検討下さい。
・添付のファイルでは、編集した[テーブル]の内容を、そのまま元の[テーブル]に上書きしてしまっています。なさりたい処理が「元のデータは残して行を追加する」など別な処理の場合には、どうか再度お知らせ下さい。
・データ量の多い[テーブル]を全てアプリケーション内に含んでいると、いずれファイルサイズが大きくなってくる恐れがあります。
ゆくゆくはCSVファイルに一旦保存して入出力するか、エクセルのファイルを一種のデータベースとして接続して表示するなどが考えられます。
(CSVファイルで入出力する場合には、現在の処理を大きく変更することはないと思いますので、まずはこのままで進めて頂いて構いません)
・アプリケーション自体が大きくなる場合には、メインの画面や各管理画面を別々のアプリケーションファイルとして保存し、呼び出す方法もございます。
ご要望があればお知らせ下さい。
関連ファイル:テーブル表示(タブ使用).mzax