情報システムの導入方法

Abstract#

なんと授業でMS ACCESSを使ったシステムのプロトタイプを作ることに。。。

Topic#

基本手順#

  1. このDBで何をするか決めましょう
  2. クラス図やERDを使って、扱うべき情報を定義しましょう。ただし、それらは正規化が終わっている必要があります。
  3. サンプルデータを入力する
  4. 必要な情報を集めるクエリを作る
  5. 必要な情報追加をするクエリを作る
  6. 必要な情報更新をするクエリを作る
  7. その他必要なクエリを作る
  8. クエリの結果を表示するレポートを作る
  9. フォームをつくり、クエリを呼び出すボタンを作る
  10. フォームをつくり、レポートを呼び出すボタンを作る
こんなイメージを持ちました。この便利さは、使ってみないとわかりません。

MS ACCESSテクニック#

おもに[1]の情報を参考に進めました。
  • VBAでクエリ名などを指定するときは
””で囲いましょう
  • Formでクエリ起動のボタンを押したとき、フォーム上の値を使いたいときは、
呼び出されるクエリのデザイン画面でCriteriaにBuilderからFormのその値を指定しましょう。
  • VBAのデバッグには
Msgboxが便利。まあ、慣れてくれば、Debuggerを使いましょう。Eclipseなどの他のIDEと同じように、プログラムエディタの左端に泊まってほしいポイントにマーカーをつけていると、プログラムを実行したときにそこで止まり、その時点の変数の中に入っている値を見たり、一歩一歩処理を進めたりできます。
  • VBAでフォーム上のオブジェクトにアクセスしたい場合は、
同じフォーム上のコマンドの中での話ですが、”Me."を使ってみましょう
  • リストを消去するには、
RowSourceプロパティに””を代入
  • クエリで得た合計値をVBAで扱うには?
できませんでした。そのクエリと同等のSQLをACCESSのSQL ViewからVBAエディタにカットアンドペーストして、RecordSetを使って、VBAの中で計算しました。できそうなんだけどなー。
  • VBAの中のSQLで日付を扱いたい
抽出条件のデータ型が一致しないとか言われたら、日付の文字列を#で囲ってみましょう。#2009/04/10#とか。
  • ActiveXのカレンダーのデフォルトを今日の日付にしたい
そのカレンダーActiveXの名前が”Calendar1とつけている場合、”Me.Calendar1.Today”とFormのLoadイベントを記述しましょう!
  • 使えるTools
メニューにToolsとあります。わりと使えるツールが揃っています。

”Database Utilities * SwitchBoard Manager”はアプリケーションのメニューフォームを作るのに便利です。

”Database Utilities * StartUp”はアプリケーションが起動されたときの動作を設定するのに便利です。特にメニューを起動時に表示させたいときとか。
ただ、気をつけてください。下手に開発系のメニューを削除すると、復活できません。
  • セキュリティ設定
気をつけてください。下手に設定すると、セキュリティの設定を外すことができません。

Adminという最初からあるアカウントのパスワードをクリアすると、セキュリティの設定が外れたような状態になった。これは。。。

Reference#

  1. [#1]cbcnet. 2004. ACCESS VBA 基礎講座. http://www.geocities.jp/cbc_vbnet/