Access DB作成講座

第6回 EXCELで作成した住所録をAccessに取り込んで、「はがき宛名印刷」プログラムを作成してみる。

第6回です。
EXCELで作成した住所録を「Access2016」に取り込んで、「はがき宛名印刷」処理を作成してみるです。

Accessはデータベースを作成する為のアプリケーションですが、年賀状のデータを移行して、はがきや封筒の印刷処理を作るのも簡単にできます。
インポート処理に1分、宛名書き印刷処理のレポートを作るので2分。。。合計3分で、宛名書き印刷処理プログラムが完成できます。 尚、Access 2010、2013、2016でも同じように取り込んで、ウイザードを利用できます。

なんで、Accessで処理しようとしたか?

■Wordの差し込み印刷を利用しようとしたが。。。
通常、住所録などはEXCELで作成した物が殆どでしょうが、Wordなどで「差し込み印刷」の機能で、「はがき宛名印刷」をすることもできます。
どうも、Wordなどの「はがき宛名印刷」ウイザードが、ちょっと使いづらく、どうしようか。迷っていました。

■既存のはがき(年賀状)印刷アプリが、古すぎて使えないから、フリーの年賀状印刷アプリにデータを取り込もうとしたが。。。。これも、項目を新しいアプリにぴったり合わせるのが結構面倒です。

色々、やってみましたが、結局、「Access2016」を利用して、EXCELデータ(住所録)をテーブルに取り込んで「はがき宛名印刷処理」を作るのが一番簡単でした。

■「郵便番号」の印刷処理が、ウイザードを使えば、簡単に印字位置にピッタリ印刷できることです。

Accessの勧め。。。

Excelで、データを大量に入力して、マクロを大量に仕組んで、しかもファイルまで共有させて使用している人を見かけますが、Excelでマクロや関数を使いこなす頭があるのなら、Accessでデータベースを作成したほうが、よっぽど、効率的で、業務を分担するときなど、役に立つと思うのですが、ほんのちょっとした、壁を超えられない方が、結構います。

Accessなんて、プログラムが組めなくても、立派なデータベースを作ることができるようになっています。 Excelファイルは、個人のみで使用するデータファイルです。

自分のEXCELデータが、限界に来ていても、乗り換えられない方が、結構いて、非効率な作業を延々としているのをよく見かけます。


Sponsored Links




1.手順

1)EXCELの住所録

既存の「はがき印刷アプリ」のデータでもいいのですが、その場合は、一度、データをエクスポートします。

Accessの「はがき印刷用のウイザード」を使用すると、住所情報で3項目 宛名項目で2つの項目が、最大設定して、印刷レイアウトの中に設定可能です。

Accessにインポートする時、Excelの表の先頭行に見出しを設定しておけば、これを項目名として、テーブルを作成することができますので、項目名は調整しておいたほうが無難です。

郵便番号ですが、セクセルデータの中に、ハイフンがついていて、インポートしても大丈夫です。 印刷処理ウイザードの中で、印刷時にハイフンをはじく処理が入っていますので問題ありません。

使用する項目は、至ってシンプルに
<項目名>
・顧客名
・郵便番号
・住所

ここで、年賀状、暑中見舞い、両方などと、区分を付けるための項目を1つ追加しておけば、画面に一覧で表示するレポートを作成して、データを絞り込んで印刷することもできます。

 

2)Accessにインポートして、テーブルを作成する

Accessにインポートするときは、簡単です。

Accessは他のデータベースからデータを取り込んでくるのが簡単です。 特にマイクロソフト社のExcelからでしたら、すぐに、変換できてしまいます。

(1)Accessを起動して、空のデータベースを新規で作成する。

 

(2)メニューから「外部データ」の「EXCEL」をクリック。

 

(3)取り込む外部データ(EXCEL)を指定する
テーブルにインポートを選択すると、自動でテーブルを作成してくれます。

データの保存先を指定して「OK」ボタンをクリックする。

 

(4)インポートウイザード

インポート処理を実施すると、ウイザード形式で、取り込んで、テーブルの定義までしてくれて、データをそっくり保存できます。 尚、宛名印刷で使用しない項目も取り込んでおいても大丈夫です。 印刷ウイザードで、指定しなければいいだけですので。

EXCELデータの先頭行に「項目名」を定義してあると、テーブルの「項目名」として、定義しなくても、自動で定義してくれます。

 

(5)各項目(フィールド)の属性を定義します。

この画面は、テーブルのデザイン編集でも変更できますので、そのままでもOK。

 

(6)主キーの設定

データベースですので、データを一意にするには、キーを設定する必要がありますが、住所録程度でしたら、無くても大丈夫でしょう。

 

(7)インポート先のテーブル名を指定すれば、ウイザードは終了です。

 

(8)テーブルの作成完了

 

3)レポート(はがき宛名書き)の作成

はがき印刷ウイザードを使用して、はがきの表書きのレイアウトを定義した、Accessで言うところの「レポート」を作成します。

レポートの処理プログラムを作成してしまうと、ウイザードにより、勝手に印刷処理のプログラムが埋め込まれてしまいますので、後から、修正するのは、ちょっと面倒でしょう。

ですので、字の書体、数字を漢数字に変換するか、などをウイザードの途中で聞かれますので注意して、指定します。

住所の項目で、漢数字、数字半角、全角数字などを混在させている場合、印刷時に、半角数字が、横になったまま印刷されますので、そんなときは、全角数字にテーブルデータの項目を修正します。

はがきウイザードの起動

上図、メニューの「作成」タブの「はがきウイザード」をクリックする。

 

(1)はがきテンプレートの選択

 

(2)年賀状の場合の印字レイアウト位置と連結するフィールドを指定します。

年賀状の作成時、連名で家族の名前を入れられないのがちょっと欠点ですが、Accessですので項目を作って、印刷レイアウトを追加すれば何とかなるでしょう。

 

(3)自分の住所情報を表面に印刷するかどうか。

 

(4)印刷する文字のフォントと住所データに漢数字に変換するかどうか。

 

(5)並べ替えを指定する

 

(6)最後に、レポートの名前を入力する。

 

「はがき印刷ウイザード」のレポート作成機能には、複雑なプログラムが、自動で挿入されています。どんなことをプログラムで実施しているのかといえば、

■郵便番号の設定(ハイフンを取ってレイアウトしてくれます)。

■住所項目が、複数定義されていても、自動でレイアウトを決定してくれます(ちょっと、気に入らない部分もありますが大体いきれいにレイアウトしてくれます)。

■宛名などは、範囲内で、均等割付をしてくれます(2文字しかなかったり、字数が多すぎると、勝手に字の大きさも変わります)。

■全角数字を漢数字に変換してくれますが、半角の数字は、ちゃんと変換されず、縦書きなのに横になって、印字されますので注意が必要です。

上記の自動処理が、いやであれば、レポートを修正モードで開いて、自分で、印字位置毎に、項目を指定することも可能ですので、自由度は、問題ありません。 自分の好みの印字位置で印刷することが、できると思います。

 

4)印刷前のチェック

レポートを作成すると、1件づづ、プレビューで来ますので、表示がおかしく表示されいないかチェックします。

修正が必要な場合は、テーブルデータの項目を修正します。修正後、すぐに治っているかどうかチェックするときは、プレビューにはすぐに反映されませんので、一度、テーブルとレポートを閉じる必要があります。

レポートの編集画面
編集(デザイン)モードすれば、印字位置の調整もできます。

 

5)印刷

上図のはがきの1面が1ページの単位になります。

しかし、問題は2つあります。

■後は、印刷ボタンから印刷可能ですが、印刷するしないは、そのページを印刷するかしないかでしか調整できません。連続で、どんどん印刷されてしまいます。

尚、印刷するしないは、画面であらかじめ指定する処理を作り、クエリーで処理すれば可能です。

■また、A4用紙ではないので、トレイにセットできる枚数も限りがあります。

1ページ1件の単位ですので、印刷の範囲指定で、から、までで印刷の範囲を指定することが可能ですので、数百枚単位で、印刷する時などは、トレイに入るはがきの枚数を考慮に入れれば、何枚あっても大丈夫でしょう。

 

2.応用編  もっと便利にするには

せっかく、Accessを使うのですから、テーブルデータをもっと使いやすいように、フォームを作成して見ましょう。

1)保守画面を作成する

フォームも、1画面に1件のデータを表示する方法と、一覧で、複数件表示する方法もあります。テーブルデータの項目を修正するのが、ちょっとやりずらい場合は、一覧フォームを作れば、一層入力しやすくなります。 一覧フォームの作成も「フォーム ウイザード」を使用すれば、10秒で完成です。

用途も、1画面に1件のデータを表示する方法は、新たにデータを新規登録する時に、入力する項目が複数ある場合などに向いています。

2)一覧保守画面を作成して、複数件を一覧で表示させて、入力、修正できる様にする。

一覧で、複数件表示する方法は、これも応用ですが、データをある項目で抽出したい場合、並べ替えたい場合に非常に便利に使える画面になるでしょう。

3)印刷処理画面で、クエリーを使い、印字したいデータのみを印字する

通常は、入っているデータは「印刷処理」を実行すれば、連続で、すべての宛名データの印刷が始まってしまいます。

これを避けるためには、
この印刷したくないデータを印刷しないと云う機能を実現するには、住所録テーブルのデータ項目に「印字フラグ」などのチエックボックスを追加しておけば、簡単に実現できるでしょう。

これは、結構、便利な機能で、今回は印刷したくないというデータをはじいて印刷することが可能です。

最後に、

このように、便利に、都合よく、使える様にするには、ちょっとした「コツ」が有りますが、そんなに難しい高度な処理ではありません。 通常、アクセスを使っている方なら、当然、こんな風に使える様にするでしょう。

 

関連記事
第1回 マイクロソフト ACCESSでデータベースを作成するには
第2回 Accessで、「得意先マスター保守」処理画面を作成してみる。
第3回 Accessで、「得意先マスター保守」処理画面を作成してみる。
第4回 マイクロソフト ACCESS(アクセス)でデータベースを作成 検索・抽出処理
第5回 Access2010でパスワード管理データベースを作成してみよう。
第7回 郵便局の郵便番号簿データをダウンロードして、郵便番号・住所検索用のアプリをAccessで作成してみる。

関連記事
Access 2013 の新機能とAccess 2013 で廃止、変更された機能とバージョンアップの必要性について
マイクロソフト、「Access」の便利な機能を使って、業務アプリケーションを作成して活用する。

第1回 ACCESS(アクセス)データベース作成ソフトを使ってみたいと思っている方へ
第2回 ACCESS(アクセス)データベース作成ソフトについて
第3回 ACCESS 2007の情報
第4回 ACCESS トラブル対処の情報1「mdbが壊れてしまった時」
第5回 ACCESSを「ファイル共有」で使用する場合の注意事項
第6回 ACCESS トラブル対処の情報2 「メモリ不足」エラーについて
第7回 ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
第8回 Access 2000とMSDEを利用してクライアント/サーバーシステムを構築する
第9回 ACCESS 2010の情報
第10回 Access2000(mdb)からAccess2010(accdb)に変換する

Sponsored Links




コメント