Public Sub ACCESSでSQLを使うサンプル()
Dim wrk As DAO.Workspace
Dim dbs As DAO.Database
Set wrk = DBEngine(0)
Set dbs = CurrentDb
On Error GoTo trans_Err
‘Begin the transaction
‘ Create a table with three fields and a unique
‘ index made up of all three fields.
‘データ定義言語(DDL)文関係は、Executeを使う
wrk.BeginTrans
dbs.Execute "CREATE TABLE テスト(番号 INT, 名前 CHAR(10),誕生日 DATE);"
dbs.Execute "INSERT INTO テスト(番号,名前,誕生日) VALUES (1,’山田太郎’,#2016/1/21#);"
dbs.Execute "INSERT INTO テスト(番号,名前,誕生日) VALUES (2,’山田花子’,#2016/2/21#);"
dbs.Execute "INSERT INTO テスト(番号,名前,誕生日) VALUES (2,’山田チーズ’,#2016/3/21#);"
dbs.Execute "UPDATE テスト SET 名前= ‘山田太郎次郎’ WHERE 番号 = 1;"
dbs.Execute "DELETE FROM テスト WHERE 番号 = 2;"‘SQL データ操作言語(DML)文のSELECTは OpenRecordset をつかう(ACCESS用語で選択クエリ)
Set rs = dbs.OpenRecordset("SELECT * FROM テスト;")
Do Until rs.EOF
Debug.Print rs(0)
Debug.Print rs(1)
Debug.Print rs(2)
rs.MoveNext
Loop
rs.Close
‘ dbs.Execute "DROP TABLE テスト;" ‘おまけ
‘Commit the transaction
wrk.CommitTrans dbForceOSFlush
trans_Exit:
‘Clean up
wrk.Close
Set dbs = Nothing
Set wrk = Nothing
Exit Sub
trans_Err:
‘Roll back the transaction
Debug.Print DAO.Errors(0).Description
wrk.Rollback
Resume trans_Exit
End Sub
コメント