テーブルタイプのレコードセットを使ってJetデータベースのテーブルにアクセスします。テーブルタイプはキーを指定してアクセスするので動作が高速です。
Private SubJetTblAccess()
DimwsAsWorkspace
DimdbAsDatabase
DimrsAsRecordset
DimiAsInteger
DimstrSqlAsString
'データベースオープン
Set ws= DBEngine.Workspaces(0)
Set db= ws.OpenDatabase(App.Path & "\work.mdb",False,False)
Set rs= db.OpenRecordset("新規テーブル",dbOpenTable)
Debug.Print "レコード件数 = " & rs.RecordCount
ws.BeginTrans
rs.Index = "primarykey"'インデックスを指定します。
rs.Seek "=", "Key1", 1'キー項目を指定します。
Ifrs.NoMatchThen
rs.AddNew '追加
rs("FieldText") = "Key1"
rs("FieldInteger") = 1
rs("FieldLong") = 10
rs.Update
Else
rs.Edit '修正
rs("FieldText") = Now'キーを更新できます。
rs("FieldInteger") = 2'キーを更新できます。
rs("FieldLong") = 20
rs.Update
End If
ws.CommitTrans'RollBackすると更新内容がキャンセルされます。
'こんな事もできます。
ws.BeginTrans
rs.Index = "primarykey"'インデックスを指定します。
rs.Seek ">=", "0", 0'キー項目を指定します。
Do Until rs.EOF
Debug.Print rs("FieldText")
rs.MoveNext
Loop
ws.CommitTrans'RollBackすると更新内容がキャンセルされます。
db.Close
ws.Close
End Sub
DownLoad vbtips021.lzh 7KB (VB6.0)