■レコード変更操作の基本フォーマットA

Dim db As Database
Dim tb As Recordset
Set db = CurrentDb
Set tb = db.OpenRecordset("at保健日誌備考設定")

Do Until tb.EOF
 tb.Edit
 tb!表示名 = ""
 tb.Update
  tb.MoveNext
Loop

tb.Close

※ tb.Edit ⇒ tb.AddNew で新規レコード追加
※ tb.Edit ⇒ tb.Delete でカレントレコード削除(tb.Update必要なし)
※ Set tb = Me.RecordsetClone フォームのソースレコードのクローン作成例


■レコードの全件数

件数 = DCount("*", "テーブル名")   又は、 tb.RecordCount

※項目名に"*"を使用することで全レコード件数


■条件にあったレコードの件数

件数 = DCount("項目名", "テーブル名","[年齢] > 25")

※第3パラメータにSQL文で、その条件にあったレコード件数


検索パターンA

Dim db As Database
Dim tb As Recordset
Set db = CurrentDb
Set tb = db.OpenRecordset("at保健日誌備考設定")

If tb.Eof Then
 レコードが0件の場合の処理
Else
 tb.FindFirst "[性別] = '男' And [年齢] > 25"
 If tb.NoMatch Then
  検索できなかった場合の処理
 Else
  検索できたときの処理
 End If
End If

tb.Close

※レコード0件でTb.FindFirstを行うとレコードへ移動できないエラーになるので、その前にtb.Eofチェックをしている


検索パターンB

検索置 = DLookup("氏名", "生徒名簿", "[ID] = 1101)
 

※レコードオープンの必要なし。条件に一致する最初の1件だけを取り出したい場合など
※上記例では、「生徒名簿」テーブルの[ID]項目が1101のレコードの[氏名]項目を取り出し。


■全レコード高速削除 (削除クエリー実行による)

CurrentProject.Connection.Execute "Delete From tt編集月日"

※「tt編集月日」テーブルのレコードを全件高速削除


■関数、メソッド一覧

関数・メソッド 動作説明 使用例
MoveFirst、MoveLast
MoveNext、MovePrevious
レコードの移動
最初、最後、次、前
tb.MoveNext
tbのカレントレコードを次のレコードへ移動
Eof、Bof レコードが終了マーク(開始マーク)かをチェック If tb.Eof Then …
もし、tbがレコードの終了マークなら…
BookMark レコードの位置 tb.BookMark = tb2.BookMark
IsNull、IsNumeric、IsDate
IsEmpty
値の形式チェック
NULL,数値,日付,空
 
     
     
     

フィールドの情報を取得する

記 述 説 明
tb.Fields(インデックス番号).Name
tb.Fields(
インデックス番号).Properties("name")
フィールドの名前を取得
tb.Fields.Count テーブル内のフィールド数を取得
tb.Fields(インデックス番号).Type フィールドの種類を取得
10・・・テキスト 8・・・日付 3・・・整数 4・・・長整数
12・・・メモ  1・・・Yes/No  11・・・OLE
tb.Fields(インデックス番号).Size フィールドの長さを取得(テキスト型)
tb.Fields(インデックス番号).DefaultValue 既定値の取得
tb.Fields(インデックス番号).Properties("Description") 説明の取得
   

   ※インデックス番号は、テーブル内のフィールドに0から順番に付けられた数値

■外部mdbファイルのデータを直接参照(リンクテーブルを使用しないで直接参照)

Dim Odb As DAO.Database
Dim tb As Recordset
Set Odb = OpenDatabase("C:\外部ファイル.mdb")
Set tb = Odb.OpenRecordset("外部テーブル名")

    :

■外部mdbのテーブルを削除

On Error Resume Next
Dim obj As Object
Set obj = GetObject("C:\外部ファイル.mdb")
obj.Application.Visible = False
obj.DoCmd.DeleteObject acTable, "外部テーブル名"
obj.Application.Quit
Set obj = Nothing
 

■外部mdbのフィールドを削除

On Error Resume Next
Dim Odb As DAO.Database
Dim tbdef As TableDef
Set Odb = OpenDatabase("C:\外部ファイル.mdb")
Set tbdef = Odb.TableDefs("外部テーブル名")
tbdef.Indexes.Delete fedname
tbdef.Fields.Delete "フィールド名"
Odb.Close: Set Odb = Nothing