2011年7月27日水曜日

#023 Sample1-10 入力欄の仕上げ







作成手順書の32ページ~41ページを参照

入力欄の仕上げです
ラベル、テキストボックスをキッチリとくっつけて配置、
オプションボタンを作ります

内容は難しくないのですが、
操作の説明が4コマでは難しいので、詳しくは作成手順書を参照してください

ここまで作れれば、画面の見た目はキレイに整っているはずです

どんな画面でも、テキストの大きさ、背景色などルールをあわせれば、
同じように見栄えがいい画面を作れます

2011年7月20日水曜日

#022 Sample1-8 入力欄を作る




久々の更新です
本業が忙しく、更新が滞ってました


入力欄はテキストボックスを貼って並べるだけなので難しいことはないのですが
これも高さ、幅、色をそろえて、キッチリ配置することで見栄えをよくすることができます

作成手順書の20ページ~31ページを参照

2011年7月1日金曜日

#021 Sample1-7 画面のタイトル



機能的には全く関係ないのですが、画面の上部にタイトルを付けます

Accessに限らず、Windowsの画面は灰色が多いので、画面が暗くなりがちです
ユーザーへの説明という目的もありますが、見栄えをよくするのも兼ねています

ユーザーは見栄えが悪いと、使いにくいように感じてしまうものなので、
小さなことですが、こういった部分も忘れないように設定しましょう

作成手順書の20ページ~25ページを参照




この画面の上部、緑の背景、顧客情報の入力を行ってくださいの部分を設定しました

作成手順書、サンプルプログラムはここからダウンロードできます
http://accessaccess.gozaru.jp/

#020 Sample1-6 レコードソース



概観ができたら、次はフォームで使うテーブルを設定します

フォーム1つ設定できるテーブルは一つなのですが、
テーブル同士を結合して、他のテーブルの情報を使うことが(参照のみ)できます
これがAccessの良さを感じる機能です

複雑なプログラムを書かずに、テーブルにデータの追加、更新、削除ができるだけでなく、他のテーブルの情報と結合させておけば、コードを入力すると、自動的に該当する名前を表示させるということができます

これを設定する画面がクエリビルダです

作成手順書の13ページ~16ページの部分です
詳細は、作成手順書を参照してください

クエリビルダの使い方も詳しく書いています


Accessの専門書、入門書に多いのですがクエリを事前に作ってから
フォームを作るというやり方を紹介してあるものがあります

そのやり方では、クエリばかり増えて、後から修正が大変になります


できるだけクエリを作らず、フォームのレコードソースに直接設定することで、修正範囲をそのフォームだけで完結できるようにしておくことが、後々、画面が増えた時に修正を容易にします

昔、画面が200画面越えるシステムを、クエリを使って作った時、
クエリの数が300を越えました、、、 (--;;
どのクエリを修正すればどこに影響するか
これを修正したいけど、あそこに影響するし、、、
影響を考えると、自然とクエリばかりが増えて、修正の手間も比例して増えることに、、、


それ以来、クエリを使わずフォームを作るようにしました



作成手順書、サンプルプログラムはここからダウンロードできます
http://accessaccess.gozaru.jp/

2011年6月28日火曜日

#018 Sample1-4 フォームを作る前に




テーブルが出来たら、早速フォームを作る、、、前に、
フォームを作るのに便利なモジュールを先にインポートしておきます

モジュールの内容、使い方は後々説明しますが、
ここでは、フォームを作る前にインポートしておく
とだけ覚えておいてください

準備.mdbはAccess2000形式なので、2000以降のバージョンであれば使用できます
2003でも2010でも使えます


インポートの手順
1.作成しているデータベースをAccessで開く
2.メニュー [ファイル]-[外部データの取り込み]-[インポート]を選択
3.ファイルを選択するダイアログが表示されます
4.準備.mdbを選択
5.オブジェクトのインポート画面が表示されます
6.「モジュール」のタブを選択
7.modUtility を選択、[OK]をクリック

Access2010の場合は
リボンの「外部データ」タブのAccessを選択、
ファイル名に準備.mdbを選択、
現在のデータベースにテーブル、クエリー、フォーム、レポート、マクロ、モジュールをインポートするを選択
すると、オブジェクトのインポート画面が表示されます


サンプルはここからダウンロードできます
http://accessaccess.gozaru.jp/

2011年6月24日金曜日

#017 Sample1-3 テーブルを作る




※1



新規に空のデータベースを作成、次にテーブルを作ります

テーブル作成で重要なのは、漏れ、間違いを無くすことです
何度もチェックしましょう

テーブル名は tm01_Kokyaku とします

テーブルを作る上でのルールとして
・テーブルごとに記号+連番を付けて識別できるようにする
  tm + 01_ の部分(t = テーブルを表す、m=マスタを表す)
  _は見やすくするための区切りです

・項目名にもテーブル名の記号+連番をつける
  tm01_ の部分

・テーブル名、項目名は英数のみ使う

これらのルールは、フォームを作る時、VBAのコードを書くときのミスを減らすことにつながります
特にテーブルが多くなると、複雑になりミスも多くなるので、これらのルールを徹底することが重要です


具体例を挙げても、説明が難しいのですが

AccessではSQLでテーブルを複数結合できるのがメリットですが、
結合によって、同じ項目名が複数存在する場合があります

画面に表示させる項目を、マスタ側の項目を表示させるところを、日次入力側の項目を表示させたり
更新クエリーで日次入力側の項目を更新すべきところを、マスタ側を誤って更新してしまったり
ということがあります

そういったミスは、動かしてもエラーも無く動くので気付かないことが多いです


テーブルを作る段階から、こういったミスが無くすための工夫が、これらのルールです


(Sample1.docの1~5ページの部分)

#015 Sample1-1 完成のイメージ




以下のサイトで公開しているサンプルと同じものを作ります
http://accessaccess.gozaru.jp/


まずは、完成のイメージです。

Step1.作りたいものを考える

簡単な顧客管理として、名前、住所、電話番号などを入力を行います。
データが増えると探すのも大変なので、一覧画面も作ります。

 入力画面イメージ
 一覧画面イメージ


Step2.データとして入力する項目を考える(テーブルを考える)

顧客の名前、フリガナ、郵便番号、住所、電話番号、FAX番号、メールアドレス、性別、生年月日を入力するようにします

念のため、メモとして自由に入力できる備考を追加
郵便番号から住所を自動的にセットすることもできますが、今回は保留

会員ごとの連番を追加して、連番を主キー(プライマリキー)とします

ここでの注意事項は、
項目の漏れが無いか何度も確認することです


Step3.どんな画面が必要になるのか

入力画面、一覧画面が必要になります

画面はこれだけなので、メニュー画面などなく
システムを起動したら、最初に一覧画面を表示する形となります

システム起動
 ↓
一覧画面表示
 ↓
(新規入力・修正のクリック)
 ↓
入力画面表示

といった画面の流れです



テーブルがフォームを作り始める前に、
完成の形をしっかりイメージすることで、
どんなテーブル、どんなフォームを作ればいいのか考えやすくなります

初心者のうちから作りながら考えるというやり方をやってしまうと、
どこでつまづいたのか分からず、フォーム、VBAで大きく苦労することになります

これはシステムが簡単、複雑に限らず、同じように最初にやるべきことです


このサンプルの作り方を理解すると、
項目を追加、変更して、自分なりの入力画面、一覧画面を作れるようになります