Access入門(29)レポートデザインビュー説明 ~項目の非表示、文字列の抽出など~

今回は、前回にハガキウィザードにて作成したレポートの設計情報について説明をします。本稿では、以下の内容について解説を行っております。
1)レポートのリンク先を確認する
2)郵便番号の値を表示する
3)レポートに項目を表示する

1)レポートのリンク先を確認する
前回はハガキウィザードを使ってハガキの表面のデザインを行いました。今回はハガキウィザードにて作成したレポートの設計情報がどのように作成されているかを確認します。

ちなみにレポートのウィザードにて作成したデザインビューの内容を理解するのは比較的、難易度が高めです。従って、デザインビューを変更するとしても、レポートのウィザードで作成した内容はせめて表示項目の場所を少し変えるといった程度にしておいた方が無難です。

それでは、前回に作成した「顧客管理DM発送先」レポートのデザインビューを確認します。下図の左側のナビゲーションウィンドウで「顧客管理DM発送先」レポートを選択し、マウスの右クリックでメニューを表示し、そこから「デザインビュー」を選択すると下図の通り、デザインビューが表示されます。

まずは下図の通り、レポート全体のプロパティシートを確認します。下図の右側のプロパティシートの上部で「レポート」を選択します。すると、その下の「レコードソース」欄を確認すると、「顧客管理DM送付先」が選択されているのが確認できます。

これは、レポートが「顧客管理DM送付先」クエリとリンクされていることを示しています。クエリとリンクすることによって、クエリの項目をレポートに表示することが可能となります。

2)郵便番号の値を表示する
郵便番号欄がどのような設定になっているかを確認します。下図の通り、画面のやや左の上部の郵便番号欄をクリックし、右側のプロパティシート欄を確認します。

名前欄には、「_Postalcode_sub1」と名前が付いており、コントロールソース欄には「=Mid([_Postalcode],1,1)」と表記されております。

名前欄は、現在選択されているオブジェクトにつけられた名前です。例えば、VBAなどでこのテキストボックスに何かしらのアクションを起こす場合などにここでつけられている名前でオブジェクトにアクセスすることが可能です。

また、上図の右側の「プロパティシート」という文字の下に、「選択の種類:テキストボックス」という表記があります。このことから、現在選択されている郵便番号のオブジェクトはテキストボックスであることが分かります。

テキストボックスというオブジェクトは、郵便番号の表示のようにデータの値を表示する際に、利用されことが多いかと思います。

プロパティシートのコントロールソース欄は、レポートにリンクが貼られている項目を示しています。

ここに記載されている「=Mid([_Postalcode],1,1)」のMidはAccessの関数で、[_Postalcode]項目の1桁目から、1桁の文字を取得する関数です。「= Mid」の「=」部分は、関数で得られた結果を本項目に代入することを示しています。

[_Postalcode]項目という項目ですが、デザインビューを一見しただけでは、どこに[_Postalcode]という項目があるのかが分かりません。

そのような場合には、下図の通り、右側のプロパティシートの下矢印ボタンで[_Postalcode]という項目を探します。下図の通り、[_Postalcode]があるので、この項目を選択します。

下図の通り、右側の「プロパティシート」で「_Postalcode」を選択するとレポートのデザインビューで左上の部分が選択されていることがわかります。右側の「プロパティシート」内を確認すると、「コントロールソース」欄が「=[郵便番号]」となっています。

これは、この項目は本レポートにリンクされている「顧客管理DM発送先」クエリの「郵便番号」項目のデータをここに表示していることが分かります

つまり、郵便番号の最初の表示項目である「_Postalcode_sub1」はMid関数を使って、「_Postalcode」の値の1桁目の1桁を表示していますが、「_Postalcode」は「顧客管理DM発送先」クエリの「郵便番号」項目とリンクしている訳でから、結局、「_Postalcode_sub1」は「郵便番号」項目の1桁目の1桁を表示することになります。

3)レポートに項目を表示する
レポートのデザインビューの「_Postalcode_sub1」は郵便番号を表示する箇所ですが、「_Postalcode」項目は「郵便番号」項目とリンクする役割で郵便番号を表示する必要はありません。

上図のプロパティシートの上から5行目の「可視」という行を確認します。この項目は該当のオブジェクトをレポート上で表示させるかどうかを選択するプロパティです。この項目はレポートで表示する必要がありませんので、「可視」欄の値は「いいえ」が選択されています。

仮に下図のように、「_Postalcode」のプロパティシート上で「可視」欄を「はい」に選択して、デザインビューを保存します。

その後、「顧客管理DM送付先」レポートを実行すると、下図の右上の通り「55」という文字が表示されているのが確認できます。この欄には、「550-0001」と入力されていますが、上図の通り、表示枠が小さいので前2桁までが表示されています。

下図の左側の上部の通り、レポートのデザインビューで郵便番号の2桁目を選択すると、右側のプロパティシート上では、
名前欄は「_Postalcode_sub2」
コントロールソース欄は「=Mid([_Postalcode],2,1)」
となっています。

つまり、「=Mid([_Postalcode],2,1)」より、[_Postalcode]項目の2桁目から1桁の値をこの欄に表示しているのが確認できます。

本来は、レポートの郵便番号欄を1つ設けて、「顧客管理DM発送先」クエリの「郵便番号」項目を設定すればよいように思います。しかし、ハガキの郵便番号欄は、1つ1つの数値欄が独立して設定するようになっています。

そのため、単純に「顧客管理DM発送先」クエリの「郵便番号」項目を表示するだけではうまく、ハガキの郵便番号のそれぞれのマス目に数値を表示することができません。そのため、Mid関数を活用して「郵便番号」項目の1文字ずつを抽出して、マス目にあうように表示を行っているわけです。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。