DAO簡易リファレンス

基本的なオブジェクト

DBEngine
Workspace
Connection
Recordset


DBEngine

DAOモデルの最上位レベルのオブジェクトで、DAO オブジェクト階層のほかの すべてのオブジェクトを含んでおり、それらを制御する。追加のDBEngine オブジェクトを作成することはできない。CreateWorkspaceメソッドを使用して、 DBとの接続形態を定めるWorkspaceオブジェクトを作成できる。

CreateWorkspaceメソッド

Set workspace = DBEngine.CreateWorkspace(name, user, password, type)

workspace 作成するWorkspaceオブジェクトを表すオブジェクト変数
name 新しいWorkspaceオブジェクトの一意な名前になる文字列型 (String)
user 新しいWorkspaceオブジェクトの所有者を示す文字列型(String)
password 新しいWorkspaceオブジェクトのパスワードを表す文字列型(String)
type ワークスペースの種類を示す定数。外部DBにODBC接続する場合は、 「dbUseODBC」を指定する。

先頭に戻る


Workspace

ユーザーが使用する名前付きセッションを定義するオブジェクト。 Workspace オブジェクトは、開いているデータベースを含んでおり、 トランザクションの同時実行などの機能を提供します。また、外部データへ アクセスする際に Jetデータベースを経由するかODBCDirectを経由するかを制御する。 ODBCDirectワークスペースにおいては、OpenConnectionメソッドを使用して、 ODBCデータベースへの接続情報を表すConnectionオブジェクトを作成できる。

OpenConnectionメソッド

Set connection = workspace.OpenConnection (name, options, readonly, connect)

connection 新しい接続を割り当てるConnectionオブジェクト変数
workspace 新しい接続を含める既存のWorkspaceオブジェクトを参照する Workspaceオブジェクトのデータ型の変数
name ODBC DSNを指定する文字列式。connectの中にDSN名を含む場合、 name引数はブランクでよい。
options 接続の設定についてユーザーに確認するかどうか、いつ確認するか、 および非同期に接続を開くかどうかを決める定数を指定する。 接続時にDB接続認証のためのパスワード入力を求める場合は、 connectの中にパスワード文字列を含めずに、「dbDriverComplete」を指定する。
readonly 接続を読み取り専用で開く場合には、True を設定し、 接続を既定である読み取り/書き込み権限で開く場合には、False を設定する。
connect ODBC接続文字列を指定する。書式は「ODBC;DSN=データソース名;UID=ユーザID」 とする。

先頭に戻る


Connection

外部DBへの接続情報を表す非持続的なオブジェクト。 OpenRecordsetメソッドを使用して、外部DBにSQL文を送信し、 その結果により構成されるRecordsetオブジェクトを作成できる。

OpenRecordsetメソッド

Set recordset = object.OpenRecordset (sql)

recordset 開くRecordsetオブジェクトを表すオブジェクト変数
object 新しいRecordsetオブジェクトを作成する既存のオブジェクトを表すオブジェクト変数
sql 新しいRecordsetオブジェクトのレコードのソースを示す文字列型 String)。 今次用法ではSQL文を指定する。

先頭に戻る


Recordset

クエリーの実行によって返されたレコードを表すオブジェクト。ODBC接続Connection オブジェクトにおいて、タイプを指定せずにRecordsetオブジェクトを作成した 場合には、前方スクロールタイプのRecordsetオブジェクトとなる。これは、レコードの スクロールが前方にしかできないという制約を持つが、最も速い種類のRecordset である。レコードの前方へのスクロールは、MoveNextメソッドを用いて行う。 また、EOFプロパティを使用して、Recordsetオブジェクトの終端を調べることが できる。

MoveNextメソッド

recordset.MoveNext

EOFプロパティ

recordset.EOF
Recordsetの末尾のレコードがカレントレコードであるとき、MoveNextメソッドを 使用するとEOFプロパティはTrueになり、カレントレコードは未定義になる。 ここでさらにMoveNextメソッドを使用するとエラーが発生するが、EOFプロパティは Trueのまま変化しない。

先頭に戻る