[{PageViewPlugin}]
[情報システムの導入方法]
!!!Abstract
なんと授業でMS ACCESSを使ったシステムのプロトタイプを作ることに。。。
!!!Topic

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

!!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]cbcnet. 2004. ACCESS VBA 基礎講座. http://www.geocities.jp/cbc_vbnet/