MZPlatformユーザー会

作成した返信

10 件の投稿を閲覧中 - 51 ~ 60 件(全 756 件)
  • 著者
    投稿
  • 返信先: 購買依頼STEP1 DB反映 #7452
    MZPlatformユーザー会
    サイト管理者

    前回3月21日に『SQLの新規テーブルについて』のスレッドに添付しましたproduction1Simple.mzaxのフォルダの中に「工程管理チュートリアル1Simple.mzax」というファイルを入れてあります。
    ガントチャートの表示を目的としたいということで、購買依頼の方に進むと遠回りしてしまう可能性があるので、よろしければ添付のファイルもお試しください。

    変更すべき点は『購買依頼チュートリアル』でも添付のファイルでも以下の2箇所です。
    1)DB接続情報画面のパスワードおよび接続先データベース名を変更する
    添付のファイルでは編集しやすいように、メニューから接続情報フレームを表示できるようにしてあります。
    productionあるいはkobaiiraiというデータベース名の文字の箇所をご自分のデータベース名に合わせて変更します。
    添付ファイルのproductionの[テキストフィールド]の文字列を変更します。
    購買依頼の方はテキスト通り、複合コンポーネント内に入り属性情報の文字列を変更します。
    変更を維持するにはアプリケーションビルダー終了前に保存してください。
    パスワードも同様に変更します。

    2)検索SQL文を変更します。
    購買依頼のSTEP1の時点では[テキストフィールド]にSQL文を入力して、それを[データベースアクセス]コンポーネントのメソッド「SQL文を実行する(String)」の引数として設定しています。
    添付のファイルでは[テキストフィールド]は使用せず直接「検索SQL文を実行する(Object)」の引数欄に固定値で設定していますが、どちらも考え方は同じです。
    「select * from buhin」や「select * from task」となっているところを「from」の後をご自分のデータベースのテーブル名に合わせて変更します。
    「*」は全ての列データを意味しているので、必要に応じて「列1,列2,・・・」と変更します。
    添付のファイルの「検索SQL文を実行する(Object)」の引数を変更してお試しください。

    WEB版『工程管理チュートリアル1』
    https://ssl.monozukuri.org/mzplatform/docs_web/mztutorialproductioncontrol1.html
    「2.2項」がご参考になれば幸いです。

    ご不明な点がございましたら、どうぞ再度ご連絡ください。
    よろしくお願い申し上げます。

    返信先: SQLの新規テーブルについて #7449
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    1)申し訳ございません。この掲示板へのファイルのアップロードですが、mzaxファイルやbatファイルはそのままではアップロードできないため、フォルダーに入れて圧縮してからアップロードしていただけないでしょうか。大変ご面倒をお掛けいたしますが、よろしくお願いいたします。

    2)ファイルを拝見する前ですが、「prodution.sql」のファイルの内容を変更して実行したところ、ERROR 1231 (42000) at line 31: Variable ‘character_set_client’ can’t be set to the value of ‘NULL’のエラーが出てしまうということですが、
    編集の際7行目にある「/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;」の記述を削除したり、変更してしまってはいないでしょうか。
    手元のファイルで確認したところ、この記述はファイルの最初の(7行目)と最後の部分(71行目)にあり最初の方を削ってしまうと、後半の部分で引っ掛かってしまうようです。

    この記述はファイル実行のために絶対必要というわけではないので、エラーが解決できないようでしたら、2箇所ともコメントアウトあるいは削除して試してみてください。

    また、データベーステーブルの作成も、batファイルでの実行が便利ではありますが、MySQL command Line Clientから「--」や「/*!」が先頭についていない記述の部分(例:CREATE DATABASE IF NOT EXISTS production;)を入力していっても作成できます。

    3)ガントチャートについては、WEB版『工程管理チュートリアル1』ページにあるように、テーブルデータがあれば[グラフデータ作成]複合コンポーネントで簡単に表示できます。

    以上ご確認いただき、ご不明な点がございましたら、お知らせください。
    ファイル再送の手間をお掛けいたしますが、どうぞよろしくお願い申し上げます。

    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    お知らせいただいた設定は、意図しない間に自動的にDBが起動しアクセス可能となることでの問題を意識していますので、絶対変更しなければならないわけではありません。
    OS起動時にはDBが起動していることが分っていれば問題ないかと存じます。
    よろしくお願いいたします。

    返信先: SQLの新規テーブルについて #7438
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    1)まず、事前準備としてJDBCドライバをMZPlatform\4.0\jars\extフォルダに配置します。使用するデータベースによってドライバ名や入手方法は変わりますが、MySQLの場合はMySQL Insrtallerからダウンロードできます。

    2)一番簡単にご自分のデータベースにMZから接続できるか確認するには、MZPlatform\4.0\AP_DATA\Sampleフォルダ内の「データベースアクセス_1.mzax」あるいは「データベースアクセス_4.mzax」を使っていただくのが良いかと思います。
    MySQLをお使いの場合は、パスワードの欄にパスワードを入力し、「接続」ボタンを押すと画面にツリー図が表示され、フォルダを展開してノードをクリックすると右側にテーブルが表示されます。
    他のデータベースをお使いの場合は「データベースアクセス_4.mzax」で「登録名」のところをクリックすると他のデータベース名を選べ、ドライバーやサーバー名などを各DBに合ったものに変更できます。

    3)接続確認ができましたら、MZ上に目的のデータベースのテーブルのみの表示を試みます。
    上記サンプル、また添付のファイルでもデータベース名「production」を指定していますので、目的のテーブルがあるデータベースに合わせてデータベース名欄を変更します。

    検索SQLの基本的な文は「SELECT 列名1, 列名2, FROM テーブル名」ですが、例えば工程管理のtaskテーブルの内容を取得するとき「select id, process, projectLabel, workingTime, dateStart, dateEnd, isCompleted from task」というSQL文を実行しています。
    このSQL文を目的のテーブル名、列名に変更します。初めは「SELECT * FROM テーブル名」で全列取得してみて、その後「*」の部分を列名に変更しても良いかと存じます。

    以上1)の事前準備と3)の変更はWEB版『工程管理チュートリアル1』の「2.2 検索結果のテーブルへの設定」までがご参考になるかと存じます。https://ssl.monozukuri.org/mzplatform/docs_web/mztutorialtop.html
    から チュートリアル>工程管理アプリケーション作成をクリックして表示されるページをご覧ください。
    上記WEB版『工程管理チュートリアル1』のサンプルファイルはページ上部のリンクから取得できますが、[ガントチャート]は削除して2.2章までの内容にしたものを添付いたします。
    データベース名およびパスワードと複合コンポーネントのメソッド「検索SQLを実行する」の引数(SQL文)を変更してご確認ください。

    またhttps://ssl.monozukuri.org/mzplatform/docs_web/mztutorialdatabase.htmlページ下部の「データベースからのデータ取得の流れ」項の内容のように、複合コンポーネントを使わず[データベースアクセス]コンポーネントの引数に接続情報を設定し、SQL文を実行してテーブルデータの取得も可能です。

    まずは以上ご確認いただき、ご不明な点、ご要望がございましたら、再度ご連絡いただければ幸いです。どうぞよろしくお願い申し上げます。

    添付ファイル:
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    特に稼働休憩時間の計算をする必要が無い場合は、[カレンダー]のメソッド「指定時刻までの経過時間の取得(Date)」を使うのが簡単です。先にまず[カレンダー]に開始日時の「日付を設定」し、次に上記メソッドの引数に終了時刻を設定すると、開始日時-終了日時のミリ秒での時間数が取得できます。
    ミリ秒ですので[整数格納変数(BigInteger)]か[除算(÷)]コンポーネントに設定して、「60000」で割って分単位に直します。

    以上お送りいただいたファイル変更を加えてみましたので、ご確認いただき、ご不明な点等ございましたら再度ご連絡いただければ幸いです。

    添付ファイル:
    返信先: 帳票印刷時のラベルのnull表示について #7428
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    確かに繰り返し処理を設定した[ラベル要素]にNULL値を設定すると、NULLと表示されてしまうようです。
    [テーブル]の文字列型の列の場合、通常空欄には空白文字列が入っていますが、日付型や数値型の場合NULL値が入っていることで空欄となります。

    一番簡単に変更するにはデータ取得の際にメソッド「指定セルの値を取得する(int,int)」ではなく「指定セルの表示文字列を取得する(int,int)」で[テーブル]からセルデータ取得時に文字列としてしまうことです。

    ただ表示文字列の取得だと処理上都合が悪い場合や、元のテーブルデータを[テーブル]に表示せずに変数に入れて編集したい場合には、別の方法も考えられます。
    日付列に関しては編集領域を右クリック>[複合コンポーネント追加]>[テーブル]>[テーブル日付データ文字列変換.mzcx]を追加し、この複合コンポーネントで日付型列を文字列型に変換することができます。
    また他の数値型列等の列型の場合は[NULL判定]を使って、NULL値が入っていた場合は代わりに空白文字列を取得することが考えられます。

    上記確認のためのサンプルファイルを添付いたしますので、ご覧いただき、ご不明な点がございましたら、再度ご連絡いただければ幸いです。
    どうぞよろしくお願い申し上げます。

    添付ファイル:
    返信先: コンボボックスについて #7418
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

    接続先処理には問題はなかったようですので、[サブルーチン]の呼び出しのメソッドが原因かと推測します。
    今回[テーブル]の「データ選択イベント」に接続したいということを明示するために、[サブルーチン(別解)]からもデータ選択イベントを発生させていますが、この場合[サブルーチン]を呼び出す際のメソッドは「イベントを渡して処理を呼び出す(PFEvent)」を使用し、引数には「取得方法:イベント」を設定します。
    メソッド「処理を呼び出す()」を選択したり、違う種類のイベントに繋げてしまったり(例:データ更新イベントに、データ選択イベントが発生イベントの[サブルーチン]を繋げる)などすると処理は呼び出されません。

    特にイベント内包データを取得して[サブルーチン]の接続先処理で利用したい時に「イベントを渡して処理を呼び出す(PFEvent)」の方を使用します。それ以外はメソッド「処理を呼び出す()」を使用し、[サブルーチン]からの発生イベントはアクションイベントを使用することが多いです。この場合もアクションイベント以外を[サブルーチン]から発生させると、処理が呼び出されません。

    以上ご確認いただき、ご不明な点等ございましたら、再度ご連絡いただければ幸いです。
    どうぞよろしくお願い申し上げます。

    返信先: コンボボックスについて #7415
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。

    [コンボボックス]へのデータ設定は[テーブル]から列データをリスト型で取得して設定することができます。
    この時どのように下位分類の[テーブル]と連動させるかということですが、もし症状テーブルが1つずつ別々にMZ上に取得されているなら、一旦[リスト格納変数]に各テーブルデータを要素として格納し、上位の[コンボボックス]の要素が選択されたときに、選択位置と同位置のテーブルデータを取り出して、次の[コンボボック]用の列データを取得することが考えられます。上位分類のキーワードの順番に下位分類のテーブルデータを[リスト格納変数]に格納します。

    また、症状テーブルは全データを1つのテーブルデータとして取得してあり分類番号で整理されているなら、一旦[テーブルサブセットフィルタ]に設定し、分類番号で選択したテーブルデータから列のリスト型データを取得することも考えられます。

    以上の処理を確認できるように簡単なサンプルファイルを作成しましたので、添付いたします。
    ご確認いただき、ご不明な点、ご要望等ございましたらご連絡いただければ幸いです。
    どうぞよろしくお願い申し上げます。

    添付ファイル:
    返信先: 番号の自動振り分けについて #7412
    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。

     iniファイルではどうしてもアプリケーションファイルとは別にもう一つファイルを管理することになりますので、データベースにデータが格納できるのでしたら、そちらに越したことは無いと存じます。

     現在のところ受注番号を格納する列があるかどうか不明ですが、受注番号は「230012」等そのまま格納し、MZ側に読み込んだ後、「年度」と「連続番号」に分割するのが簡単かと考えます。
    例えば受注番号のデータベースでの列名を「num」と仮定して
    1)SQL文「select MAX(num) from テーブル」を実行します。これで最大の(=最後の)受注番号を取得できます。
    2)取得した1行1列のテーブルのセルの値を取得し、[文字列格納変数]に設定します。
    3)[文字列格納変数]では最初から数えて〇番目、または最後から数えて〇番目までの部分文字列を取得できます。最初から2文字、最後から4文字目までの文字列を取得し、年度と連続番号とします。
    この後は前回と同様の処理で受注番号を作成できます。

    もし、データベーステーブルへの後からの列追加等で、受注番号の列に「NULL」値が入る可能性がある場合には「SELECT COALESCE(MAX(num), 230000) FROM table」としておけば、最大ととしてNULL値が取得されるケースでも「230000」が取得されます。

    データベースにデータ追加時には、現在もInsert文で処理を実行されていると思います。nsert文に受注番号分の列名と値を追加する以外、特に大きな相違はありません。

    実際には動作しませんが、上記処理の流れが判るように修正を加えてサンプルファイルを添付いたしますので、ご参考になれば幸いです。
    ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡ください。
    よろしくお願い申し上げます。

    添付ファイル:
    返信先: 番号の自動振り分けについて #7407
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。

    会計年度期間を「4月~3月」と仮定すると、現在日時から月数を「3」引くことで、1月から3月も前会計年度に含めることができます。
    また、カウンターのリセットについてはアプリケーション起動時に前回使用時までの「年」と今回起動時の「年」を比較して、違いがあった時に[数値入力カウンタ]の値を「0」に設定することが考えられます。

    ただ、この「年」と[数値入力カウンタ]の最終値を含む受注番号をデータベースに登録しない場合には、前回までの値を知ることが難しくなります。アプリケーションビルダーでアプリケーションを起動し、終了時に必ず保存すれば[ラベル]などのGUI部品に設定された値は保持されますが、完成したアプリケーションを毎回上書きしていくことになり、また保存忘れなども起こり得るかと思います。
    また、ファイルの内容を編集する必要のないユーザーが使用する際にはアプリケーションローダーでの起動をお勧めしておりますが。[アプリケーション]のメソッド「save(File)」を設定した場合を除き、ローダーではアプリケーションファイルが更新されることはありません。

    データベース以外でアプリケーションファイル外に値を保存したい場合は「iniファイル」(設定ファイル)の使用をお勧めしております。
    iniファイルはキーと値を「=」でつないだ書式を持つテキストファイルです。
    MZプラットフォーム研究会のHPからもダウンロードできる「MZ Platform IoT Toolkit」内のアプリケーションでも使用しております。
    必要時にこのiniファイルからキーに相当する値を読み込み、また保存することができます。

    会計年度の設定とiniファイル読み込み・保存の処理を設定したファイルを添付いたします。またiniファイルも添付いたします。iniファイルはアプリケーションファイルと同じフォルダに保存してお試しください。
    上記の処理はアプリケーション開始時が適当かと思いますが、分りやすいようにボタンを押したら行われるようになっています。

    ファイルをご確認いただき、ご不明な点、ご要望等がございましたら、再度ご連絡いただければ幸いです。どうぞよろしくお願い申し上げます。

    添付ファイル:
10 件の投稿を閲覧中 - 51 ~ 60 件(全 756 件)