Accessには、SQL ServerやOracleにある、Truncate Tableが使えません。
しかし、削除クエリーをあらかじめ作成しておき、「トランザクションの使用」プロパティを「いいえ」に設定することで同じようなことが実現可能です。
SQL Server や Oracle のTruncate Tableでは全レコードが削除されますが、この場合は条件付きで削除することも可能です。
テーブルごとに固有の削除クエリーを用意しておくのは大変なので、Truncateで使用する汎用のクエリーを作成しておき、そのSQLプロパティを変更して実行するプロシジャーを呼び出すと管理が楽です。
下記がその一例です。
Dim qry as DAO.QueryDef
Set qry = CurrentDb.QueryDefs("Q_Truncate")
qry.SQL = "Delete From [" & TableName & "]"
qry.Execute
コメント