OPTION 3
▶1:印刷とPDF設定(エクセル形式とPDF形式)
ここでは請求書の印刷を通して得意先ごとの月別一覧画面から、エクセル形式でダウンロードまたは、PDF形式でダウンロードの選択ができるなものを作成します。
※オプション②のダウンロード操作が含まれています。
▶2:印刷とPDF設定の作成手順
▶3:完成
❙ 請求書の印刷(エクセル・PDF) 完成図
▶4:手順1
❙ 請求書の印刷選択画面をエクセルで作成
【1】新しいシートを追加し請求書を印刷するデータを選択する画面を作成します。
※ここでは下のようにします。
【2】赤枠の範囲を印刷範囲として設定します。
【3】「シート名」を付けます。※ここでは「PrintMenu」とします。
【4】ブラウザで表示するための設定をします。画面の上で右クリックし、
「XCuteナビゲーション」を選択、次に「ひな型ナビ」をクリックします。
【5】「OK」をクリックします。
【6】次のメッセージも「OK」をクリックします。
【7】ブラウザでデータをやり取りするために必要なFORMタグを設定します。
画面の上で右クリックし「Xcuteナビゲーション」をクリック、「ひな型ナビ」
をクリックします。
【8】「OK」をクリックします。
【9】「OK」をクリックします。
【10】「OK」をクリックします。
XCuteは、ExcelのHTML変換を利用しているため、Excelで作成した画面に入力フィールドやボタンなどの機能を追加するための「タグ差込」が必要です。自動作成した画面には、この「タグ差込」も自動的に設定されていますが、シート追加で作成した場合には、このタグ差込がないため設定が必要になります。「タグ差込」は、ひな型シートの印刷範囲の右上に「;htmltag」と「FORM」タグ、右下に「/FORM」タグが設定されます。ブラウザでデータをやり取りする時にはこれらのタグが必要となります。
▶5:手順2
❙ Accessのクエリでテーブルを作成
ここでは、基本操作で自動作成した「UriageDB.mdb」を使用します。作成中のアプリ「Uriage」は、閉じずに開いたままとします。
【1】データベース「UriageDB.mdb」を開きます。既に作成済みのテーブル
一覧が表示されます。
※ここで使用するAccessは、基本操作で作成したフォルダにあります。
【2】グラフ用のクエリを作成します。「作成」タブをクリックし、
「クエリデザイン」ボタンをクリックするとクエリ作成画面が表示されます。
【3】右側の「テーブルの追加」ウインドウからテーブルをダブルクリックします。
選択したテーブルが左側のクエリエリアに表示されます。
※ここでは「Uriage」をダブルクリックします。
【4】クエリエリアにあるテーブルからグラフ作成に必要なフィールドを選択します。
必要なフィールドをダブルクリックで、下に追加されます。
※ここでは、「日付」・「得意先」・「金額」・「消費税」を選択します。
【5】得意先をグループ化し、金額と消費税を合計します。
「クエリデザイン」タブをクリック→「集計」ボタンをクリックします。
【6】下の「集計」を赤枠の内容に変更します。
・日付 :グループ化
・得意先:グループ化
・金額 :合計
・消費税:合計
※ここでは、日付、得意先ごとに金額と消費税を合計する設定にします。
【7】日付を年月でグループ化するため「FORMAT」関数で設定します。
図の赤枠に修正しましょう。
ここでの請求書印刷では、得意先ごとに年月一覧画面から選択するようにしています。そのためクエリで、得意先ごとに年月の合計金額を集計したクエリを作成します。集計は、クエリデザインタブの集計ボタンでグループ化するフィールドや合計にするフィールドを選択します。FORMAT関数で日付を年月ごとにまとめています。
FORMAT関数
「フィールドの表示名」:FORMAT([フィールド名],形式)年月:Format([日付],”YYYY/MM”
【8】クエリに名前を付け保存します。クエリエリアの右上にある「✖」を
クリックし、表示されたメッセージの「はい」をクリックします。
【9】名前を付けて保存ウィンドウの「クエリ名」に名前を入力し、
「OK」をクリックします。※ここでは「Q_Print」としています。
【10】クエリの作成が終了しました。Accessを閉じてください。
Accessのクエリとは
1つまたは複数のテーブルから抽出したいフィールドやその詳細条件を設定しデータを抽出できるようにするものです。クエリ自体はデータを持っていませんが、クエリを実行すると、設定した条件で架空のテーブルが作成されます。
パネルのSQL文
パネルにSQL文を直接指定することもできます。
※使用するデータベース(Access,ODBC,ORACLE,SQL Server,DB2)によって、記述方法が異なります。
▶6:手順3
❙ 請求書印刷選択画面用のレポートとテーブルを作成
【1】請求書の印刷選択画面用のレポートとテーブルを作成します。
パネルの赤枠あたりで右クリックします。
【2】「レポート新規登録」をクリックします。
【3】新規レポート名に「レポート名」を入力し、「新規登録」をクリックします。
※ここでは「PrintMenu」とします。
【4】レポートが追加されます
【5】レポートに「テーブル」を追加します。 追加したレポートを右クリックし、
「テーブル追加」を選択します。
【6】「レポートへテーブルを追加」ウィンドウが開きます。
データベースの種類から「Access(*mdb)」をダブルクリックします。
【7】ファイル選択ウィンドウが開きます。データベースをダブルクリックします。
※ここでは「UriageDB.mdb」をダブルクリックします。
【8】テーブルの選択ウィンドウが開きます。
テーブル名を選択し、ダブルクリックします。
※ここでは「Uriage」をダブルクリックします。
テーブが追加されます。レポートとテーブの作成が終了しました。
【9】次に、ひな型シート「請求書印刷画面」と作成したテーブルのリンク設定を
します。リンクする範囲を選択します。
※ここでは、「年月」「得意先」「金額」「消費税」をリンクさせますので、
セルR17C7:R17C10まで選択します。
【10】テーブルを選択し右クリックします。
【11】ひな型の設定ウインドウが開くので、図の赤枠に設定します。
※ここでは、ひな型シートを「PrintMenu」「全行自動選択」を選択、読書範囲
「R17C7:R17C10」 とします。
【12】「OK」をクリックします。
【13】レポートのフィールドとひな型シートのセルとをリンク設定します。
リンクするテーブルを選択し、下の「セル位置」にひな型シートの各フィールドが表示されます。
ひな型シートのセル位置を「セル位置」に設定します。※ここでは図のセル位置とします。
▶7:手順4
❙ ダウンロード・ボタンを作成
【1】エクセルでダウンロードするボタンとPDFでダウンロードするボタンを
作成します。
ボタンを作成するセルを選択し、右クリックします。「Xcuteナビゲーション」を
クリックして「リンク・ボタン」をクリックし表示されたメッセージの「OK」をクリック
します。※エクセルとPDFのそれぞれにリンクボタンの設定をします。
【2】ボタンをクリックした時にひな型ナビに値が指定位置にセットする設定を
します。この値でエクセルにダウンロード、PDFにダウンロード、ダウンロードするデータの
期間などに使用します。
「エクセル」ボタン、「PDF」ボタンのそれぞれに赤字を追加します。
❙エクセルボタン
="|TYPE=BUTTON|Style=|ONCLICK=location.href='procgi.exe?P="&R1C5&"&WriteReport=PrintList&Set_R6C1
="&RC7&"&Set_R6C2=EXCEL&Set_R6C3=“&RC8&”';"
❙PDFボタン
="|TYPE=BUTTON|Style=|ONCLICK=location.href='procgi.exe?
P="&R1C5&"&WriteReport=PrintList&Set_R6C1="&RC7&"&Set_
R6C2=PDF&Set_R6C3=“&RC8&”';"
❙ Setコマンドについて
Setコマンドは、WriteSheet、WriteReport、Readreport と組み合わせて使用します。セットしたい位置にセットしたい「値」を指定するこで、値を受け渡しできるコマンドです。ここでは、エクセルボタンをクリックした時の動作で説明します。
="|TYPE=BUTTON|ONCLICK=location.href='procgi.exe?P=“
&R1C5&"&WriteReport=PrintList&Set_R6C1=
"&RC7&"&Set_R6C2=EXCEL&Set_R21C7=“&RC8&”';"
ひな型シート「PrintMenu」のエクセルボタンをクリックで「PrintMenu」の7列目の値「年月」をひな型シート「PrintList」のセルR6C1にセットしています。同様に「PrintMenu」の8列目の値「得意先」をセルR6C3にセットし、「EXCEL」の文字の値をセルR6C2にセットしています。セットされた値をこの後で行うフィルタ設定に使用します。
▶8:手順5
❙ 前画面へ戻る・ボタンを作成
【1】前の画面へ戻る・ボタンを作成します。
赤枠の「前画面へ」を右クリックします。
【2】「XCuteナビゲーション」をクリックし「リンク・ボタン」をクリックします。
【3】「OK」をクリックします。
【4】ボタンの動作設定をします。開発エリアに設定されたセルをクリックし、
赤字に修正します。
="|TYPE=BUTTON|ONCLICK=location.href='procgi.exe?
P="&R1C5&"&WriteReport=UriageList';"
▶9:手順6
❙ ダウンロード用シートを作成
ダウンロードした時のひながたシートをエクセルでデザインします。
※デザインは、エクセル用、PDF用と分けることもできますがここでは、1つのデザインでエクセルとPDFのそれぞれをダウンロードできるようにしています。
【1】新しいシートを追加し図のように作成します。
【2】赤枠範囲を印刷範囲に設定しましょう。
【3】「シート名」を付けます。※ここでは「PrintList」とします。
【4】エクセル操作でデザインを整えます。
① 数量、単価、金額、消費税にカンマ区切りの表示形式を設定にします。
② 請求日に「=TODAY()」関数で本日の日付が設定されるようにします。
③ 「=SUM()」関数で金額と消費税の合計額を集計します。
④ 納品日に「短い日付形式」の表示形式を設定にします。
⑤ 請求金額と消費税額に参照を設定します。(参照は、「=参照先セル」)
⑥ 得意先は「PrintMenu」からSetコマンドでセルR6C3に渡された値を参照します。
=R6C3と入力します。
⑦ 請求番号は、自動で番号をセットさせます。=R1C1と入力します。
※請求番号のように重複させない番号を使用する方法の1つとして、あらかじめシステムで
用意している番号が使用できます。セルR1C1にシステムが重複しない固有番号をセットします。
ここではこの番号を使用します。
【5】ダウンロードするためのコマンドを設定します。セルR2C7を
選択し右クリックします。
【6】「Xcuteナビゲーション」、「EXCELOPEN」の順にクリックします。
【7】「OK」をクリックします。
【8】Setコマンドでセットされた値によって、ダウンロード形式を変更する
式に変更します。セルR2C7の設定に赤字の拡張子を追加します。
=IF(R6C2="EXCEL","EXCELOPEN=S,xls","EXCELOPEN=S,PDF")
ここでは1つのひながたシートでエクセル形式とPDF形式でダウンロードできるようにしています。その振り分けにIF関数を使用しています。
ここではひな型シート「PrintMENU」からSetコマンドで送られた値、セルR6C2によって「EXCEL」ならエクセル形式でダウンロード「PDF」ならPDF形式でダウンロードします。
次に、ダウンロードする範囲の設定をします。R6C1にSetコマンドでセットされた値が「開始日」となります。「終了日」は関数でその月の末日を割り出します。その範囲のデータをダウンロードする設定にします。
【9】セルR2C8を右クリックします。
【10】「XCuteナビゲーション」をクリックし、
次に「FILTERfieldname>=(日付)」をクリックします。
【11】「OK」をクリックします。
【12】セルR2C8の設定内容を赤字に修正します。
=IF(R6C1<>"","FILTER日付>=" & TEXT(R6C1,"YYYY/MM/DD"),
"GONEXT")
【13】同様にセルR2C9にも「FOLTERfieldname>=(日付)」を設定します。
セルR2C9の設定内容を赤字に修正します。
=IF(R7C1<>"","FILTER日付<="&TEXT(&deco(#FF0000,,){R7C1};,"YYYY/MM/DD"),"GONEXT")
【14】ダウンロード期間の終了日をセルR7C1に当月末を求める関数を設定します。
ダウンロード期間の設定が終了しました。
FILTERは、条件に合ったデータに絞ることができます。IF関数などにより、指定セル内容と条件が一致した場合は、データを読み書きし一致しない場合はGONEXTにより右隣りのセルに移動します。2行目のセルR2C8以降にFILTER設定がある場合は、空白のセルになるまで順次その設定が実行されます。
前の手順でダウンロード期間を設定しました。次は、その範囲内でR6C3にSetコマンドでセットされた値「得意先」と同一のみとする設定をします。
【15】セルR2C10を右クリックします。
【16】「XCuteナビゲーション」をクリックし、
次に「FILTERfieldname=」をクリックします。
【17】「OK」をクリックします。
【18】セルR2C10の設定内容を赤字に修正します。
=IF(R6C3<>"","FILTER得意先=" & R6C3,"GONEXT")
ダウンロード期間内で同一の得意先に限定する設定が終了しました。
▶10:手順7
❙ ダウンロードのレポートとテーブルを作成
【1】ダウンロード用の「レポート」を作成します。パネルの赤枠あたりで
右クリックします。
【2】「レポート新規登録」をクリックします。
【3】新規レポート名に「レポート名」を入力し「新規登録」をクリックします。
※ここでは「PrintList」とします。
【4】レポートが追加されます。
【5】レポートに「テーブル」を追加します。
追加したレポートを右クリックし「テーブル追加」を選択します。
【6】「レポートへテーブルを追加」ウィンドウが開きます。
データベースの種類から「Access(*mdb)」をダブルクリックします。
【7】ファイル選択ウィンドウが開き、データベースをダブルクリックします。
※ここでは「UriageDB.mdb」をダブルクリックします。
【8】テーブルの選択ウィンドウが開き、テーブル名を選択しダブルクリック。
※ここでは「Uriage」をダブルクリックします。
テーブが追加されます
【9】ひな型シート「請求書」と作成したテーブルのリンク設定をします。
リンクする範囲を選択します。
※ここでは27行目の「商品名」から「伝票番号」までリンクさせます。
セルR27C6:R27C14まで選択します。
【10】テーブルを選択し右クリックします。
【11】ひな型の設定ウインドウが開きます。図の赤枠に設定します。
※ここではひな型シートを「PrintList」に「全行自動選択」を選択して読書範囲 を
「R27C6:R27C14」します。「行コピーせず」を選択して「OK」をクリックします。
図はひな型の設定の「2件目以降のレコードを書き出す時に、読書範囲を追加」でそれぞれを選択した時が次のサンプル図となります。
2行目以降のデータは自動的に下の行に書き出されるため、画面はデータ量に合わせて伸び縮みします。このサンプルは、データが2件のものです
「行コピーせず」は、画面が伸び縮みしないため、書き出すデータ範囲をフィルターで絞った場合に使用します。このサンプルはフィルターでデータ範囲を年月と得意先で絞っています。対象データのみサンプルのように書き出され、画面はデータがなくても縮みません。
▶11:手順8
❙ ダウンロードのテーブルとひな型シートをリンク
【1】テーブルとダウンロードするセルとリンク設定します。
テーブルとリンクさせるひな型シートのセルを選択します。
【2】リンクするテーブルをクリックします。
【3】リンクする項目の「セル位置」を右クリックします。
セル位置の一覧が表示されますので、一番上の「セル位置」を選択します。
※「セル位置」は、手入力もできます。ここではセルR27C14とします。
【4】残りのリンクが必要なひな型シートのセルすべてにセル位置を
設定しましょう。
ひな型シート
ひな型シートとは、エクセルでデザインした入力画面や検索画面、内部的に使用するエクセルのことです。
パネルのテーブルとひな型シートのリンク
データベースからデータをひな型シートへ書き出す・ひな型シートからデータを読み込むには、ひな型シートとテーブルをリンクさせる必要があります。
リンクの設定は、ひな型シートのセル位置をパネルのセル位置にセル番号を指定します。
自動作成の場合は、このリンク設定も自動で行われます。
▶12:手順9
❙ 検索画面にダウンロード・アップロードボタンを作成
【1】検索画面に印刷メニュボタンを作成します。図を参考に、リンクボタン
を作成しましょう。
【2】作成したボタンの動作設定を修正します。
="|TYPE=BUTTON|Style=|ONCLICK=location.href='procgi.exe?
P="&R1C5&"&WriteSheet=PrintMenu’;”
これで請求書の印刷(エクセル形式・PDF形式)が完成しました。確認してみましょう。
検索画面の上で右クリック「XCuteナビゲーション」→「EXCELシートをブラウザで開く」の順でクリックします。