Q52:@ラベルにテーブル上のデータを読み込ませたい。
Aエクセルファイルの数字をテーブルに読み込ませる際、例えば「0001」という値をそのままの形で読み込ませたい。
Q52-1:
ラベルにテーブル上のデータを読み込ませたい(そこから名前、及びバーコードの文字、数字として印刷します)と思っているのですが、サンプルファイルがございましたら紹介していただきたいと思います。もし既存のファイルになければ、教えていただきたいのですが。セル(○:○)の値をイベントか何かで読み込ませる、という形になるのでしょうか?
A52-1:
テーブルのセルからデータを取得するには、 メソッド「指定セルの値を取得する(...)」を用います。
サンプルアプリケーションを作成しました。
このサンプルでは、テーブルの下の2つのテキストフィールドに行及び列のインデックスを入力し、「データを取得」ボタンを押しますと、最下のテキストフィールドに取得したセルデータが表示されます。ご確認をお願い致します。
関連ファイル:セルデータ取得.mzax (※このファイルは、ZIP形式に圧縮してあります。)
Q52-2:
エクセルファイルの数字をテーブルに読み込ませる際、例えば「0001」という値をそのままの形で読み込ませたいのですが、現時点では「1」と出力されてしまいます。そのまま読み込ませるためには、どのような設定をすればよろしいでしょうか?文字列での設定なども試してみたのですが、できませんでした。ご指導よろしくお願いいたします。
A52-2:
まず、MZPlatform上のテーブルの数字の読込まれた列の上で右クリック>列>列型をご確認ください。
通常エクセルシートの数字を読込むと「データ型指定」に印が付いていて、さらにクリックすると「java.lang.Double」になっていることが確認できると思います。
「java.lang.Double」は数値型の一つです。
MZPlatformの数値型のテーブルの列は、右クリックして列>表示属性(実数)>表示形式>整数部分の最小桁数を例えば「4」と変更して頂くと、「0001」といった表示にすることができます。桁区切りが付く場合があるので、
右クリックして列>表示属性(実数)>表示形式>グループ化>「なし」としておきます。
但し、新しいテーブルデータで上書きされてしまうと、例え列型は同じであっても、表示形式や列の幅など属性は保持されません。
常に読込むテーブルデータの形式が同じ場合、
@列のみで行は追加されていない[テーブル]を用意します。
(見た目は列名の部分のみ表示されたテーブルになります)
該当列の列型は「java.lang.Double」とし、表示属性の設定をしておきます。
A[データベースアクセス]の検索結果は一旦[テーブル格納変数]に設定します。
B[テーブル]に「メソッド:行を追加する(PFObjectTable)」
取得方法:メソッド戻り値
コンポーネント:テーブル格納変数
メソッド/値:テーブルを取得する」
で上記の[テーブル格納変数]のデータを追加します。
Cテーブルクリアの際も、「メソッド:全行列を削除する」ではなく、「全行を削除する」を使い、列名の部分は残しておくようにします。
但し、上記の方法は[テーブル格納変数]のデータの列数・列型と[テーブル]の列数・列型が同じでないとエラーになります。
読込むデータの列数やデータ型がいつも同じとは限らない場合には、表示形式はメソッドでも指定できるので、その処理を追加するなどさらに工夫する必要があるかと存じます。