ごきげんよう、シャケちゃんです。
レポート機能レポの続きがすっかり遅くなってしまいました。
いろいろ苦戦しましたけど、ちゃんとそれっぽくはなりましたのでその過程をレポしますよ!

このページでは以下のことがわかります!

  • レポートを初めて触るときのつまづきと、乗り越え方
  • レポートの基本の「き」

このページの想定読者

  • Forguncyを使ったことがあるけれど活用方法を知りたい人
  • レポート機能が気になってはいるけれど使ったことがない人

このページの情報はV10以降で動作確認済みです。

前回のおさらい

前回:初心者によるForguncy レポート機能レポ①

公式のヘルプ(シンプルなレポートの作成)を参考に一通り試した結果、それっぽい表が作ることができました。
が、このページの解説は表の解説まで。
私が作りたいのはなんていうかこう、納品書みたいに宛先とか差出人とか書いてある感じのやつなんですよね。

しかしどうやればいいか迷子

今回やってみたいイメージはこんな感じ。
ページに置いたリストビューからボタンを押したら、その顧客の情報だけ記載された様式がでる…みたいな。

そもそもできるのか?


なんとかそれっぽくなるように、もう一息チャレンジしてみます!

まずはデータをそろえる

公式ヘルプを眺め見たところ、私がやりたい宛先などの表示はどこやればできるのか…わかりませんでした(笑)

ただ機能がものすごくたくさんあることはわかりました、できることもいろいろありそうなのはわかります。
しかし!なんでもいいから表示できれば取り急ぎいいんだ私は!

前回作った受注情報テーブルで顧客別の注文内容はデータになっていますが、
顧客住所と電話番号が不足してます。

とりあえずデータがないことには。というわけで追加で「顧客情報テーブル」を作っておきます。

こちらは前回作った受注情報テーブル

こちらは新規で用意した顧客情報テーブル。雑ですが顧客名で関連付けしてます

前回のおさらい。
追加したテーブルをレポート画面で呼び出すには、作ったレポートで右クリックして「データソースの追加」を押下するんでした。

右側にデータソース2(顧客情報)が増えました

直感的にやってみよう

右側のデータセットに増えた項目、いつものリストビューを作るときみたいにドラッグ&ドロップで呼び出せたりするんじゃない?
と思ったので早速トライ。
ターゲットは顧客名・住所・電話番号です。

いざドラッグ&ドロップ

うわ呼び出せるじゃん!

これは勝ったか、と思いましたが呼び出した値をよく見ると様子がおかしくて…。

Count?

Count関数がくっついてました。
私が欲しいのはカウント数ではなくてお客様の名前もとい素の「値」です。
どうやったら直せるんだこれ?と試行錯誤した結果、わかったのはここ↓

プロパティの中にある値がヒント

値の横にある黄色い〇を押すと出てくる「式」をクリックします。

すると見慣れない画面が出てきましたが…。

式の中身を一旦消して、左側のデータセット内にある表示したい値をクリックします。
私の場合はデータソース2もとい顧客情報テーブル内の「顧客名」です。

式が変わった!

Countではなく「First」になりました。
同様に住所と電話番号も設定しなおし…というか、
CountをFirstに直接打ち変えちゃいます。ついでにテキストエリアの横幅を大きくしました。

これで値になるか?

さらにテキストボックスを使ってラベルっぽいのを置いてみて、いざプレビュー

テキストボックスを使って、御中とかラベルをおいてみる

プレビュー画面。…これは?!

え、めっちゃそれっぽくなりました!
下線入れたほうがいいなとかバランス整えたほうがいいなとかいろいろありますが、一旦これでいい!

…でもちょっとまった、お客様を指定するにはどうしたらいいんだ?このままじゃAさんしか出ないが。

ちょっと難しいパラメーターという概念

上記の再掲ですが、私が今回やりたいと思っているのはページから値を受け渡して、顧客別のレポートを作ることです。
なので、レポートに向かって顧客の「ID」を渡したいわけです。

値を渡すといえばパラメーターの出番だが

パラメーターって少しわかりづらいんですよね。
しかし私は過去DropBoxとの連携設定や、サーバーサイドコマンドを使ったことがありますので、パラメーターは設定できる!たぶん。

私が今回やりたい「指定した顧客情報の値をレポートに出力する」は、
「指定した顧客IDで、顧客情報テーブルの中身を絞り込む」、つまり
顧客IDをクエリ条件に使う」と言い換えることができます。

というわけでやっていきますが、設定場所に気づくのに時間がかかりました。
※ちゃんと公式ヘルプに書いてありました(レポートデータソース

まずはレポートに設定しているデータソース、もとい顧客情報テーブルの設定を直します。
先ほど連携設定したデータソース2を右クリックし、「データソースの編集」を選びます。(よい子はデータソースの名前をちゃんとわかりやすいように変えましょう)。

データソース2を右クリックして、データソースの編集を選ぶ
データソースのパラメーターをクリック
任意の名前を入れます

ここで任意の名前のパラメーターが設定できますが、このあと渡す値の入れ物なだけなので、好きな名前で問題ないです。
私は自分用に「顧客IDの入れ物」にしました。

作った「顧客IDの入れ物」を使って、クエリータブで条件設定をします。

これで顧客情報テーブルの中身が絞り込める準備ができた。

つづけて、ページに置いているリストビューのボタンにコマンドを設定します。

やりたいことは「ボタンを押したらレポートが開く」なので、選ぶコマンドは「レポートのビューワ表示

ページに適当に作ったリストビュー内のボタンに対してコマンド設定

レポート1って名前のままなのほんと失敗だ、わかりづらい笑

ここで表示するレポートを選びつつ、パラメーターを設定します。
設定するのはもちろん先ほど作った顧客IDの入れ物、
値はC6となってます、ちょっと見づらいと思いますがリストビューのID列を指定してます。

これで「リストビューのID」を「パラメーターに入れて」から「レポートを表示する」ことができるはず!いざデバァァッグ。

ID1、Aさんのボタンをクリックすると

Aさん御中

ID3、Cさんのボタンをクリックすると

Cさん御中

で、できた~!!できてるじゃん?!

しかし気が付く。

最初に作ったテーブルの内容にクエリ条件がかかってないじゃないか、と。

「ページ」内のコマンドからレポート内の表を制御する

もうひと踏ん張り、ページに置いたボタンを押下して表示するレポートの、表の中身を制御します。

今ページから遷移すると、宛先は制御できていますが、表の受注情報は全顧客分出てしまっています。これを宛先のお客様のだけにしたいです。

宛先はCさんだが、Cさん以外の顧客の受注情報も出てしまっている。

さてどうしたものかと思いましたが、先ほどの宛先と同じ方法で行けるのでは?と思ったらいけたのでご紹介します。
正攻法じゃなかったらごめんなさい、初心者がやるとこんな感じだったということで!

まずは表の中身である「受注情報テーブル」をチェック。
前回公式ヘルプに倣って作ったものなので、顧客IDは持っていませんが「顧客名」なら私が作った「顧客情報テーブル」とつながります。
とりあえず絞り込むキーとして「顧客名」を使いますが、実務的には同姓同名を避けるべきなので顧客IDを受注情報テーブルに持ったほうがきっといいですね。

「顧客名」がクエリ条件に使える予感

受注情報テーブルが入っている「データソース1」を右クリックし、データソースの編集を選択

データソースパラメーターを選んで…

任意の名前を付ける。私は「顧客名の入れ物」にしてみました

OKを押したら、ページに置いたリストビューのボタンのコマンドを開きます。
パラメーター一覧の追加ボタンを押して、先ほど設定した「顧客IDの入れ物」のパラメーターの下に今作った「顧客名の入れ物」を設定します。
値はリストビューのE6にしていますが、これは顧客名が入るところです。

レポートを表示するときのパラメーターを追加

これで「リストビューのID」と「リストビューの顧客名」を「パラメーターに入れて」から「レポートを表示する」ことができるはず!いざデバァァッグ。

Aさんの帳票ボタンを押すと…
Aさん御中、かつ表の中身は顧客名「Aさん」の行だけ表示されている

で、できてて笑った。

あとは表の色を変えたり(プロパティ内に設定項目があります)、弊社担当者を置いたりしたら…

それっぽいのができた!

当初のイメージ通りに作れました!
なんとかここまでこれました…いやこれは面白い。たくさんつまづきましたけれども。

おわりに:改善の余地とか

それっぽいものは作れはしたのですが、
このままだと住所がすごい長い時に電話番号に被さってしまうかもとか、一つずつ顧客名だ住所だ電話番号だと項目を並べるのは面倒だなとか、気になる点はありました。

取り急ぎ簡易に動けばと思ったので今回の私はここでギブアップしますが、
おそらく改良のヒントは、膨大にある公式ヘルプ内の機能紹介や、
開いた方は分かると思うのですがレポート画面内にあるこれまた膨大な数のプロパティ項目にあります。

とくに公式ヘルプ「カスタムパラメータビュー」はだいぶ熱い気がするのですが、初心者には一旦おなかいっぱいなので、またの機会に…。

この記事はいかがでしたか?内容を楽しんでいただけましたか?少しでもワクワクしたり、新しい発見があれば嬉しいです!わくわくした方は、ぜひわくわくボタンをクリックしてください。

【著者】

シャケちゃん

ノーコード大好き

複雑なコードは書けない書かないがモットー。

ノーコード縛りでありながらも、でもかわいく見せたいしオシャレにしたいしと工夫するのが好き。

好きなコマンドは1画面で見た目が工夫できる「行列のレイアウト設定」。