The SQL statement failed:
.
.
.
	Dim oResult As Object : oResult = oStatement.ExecuteQuery(oSQL)
	DisconnectDatabase(db)
	MsgBox "Finished"
End Sub	
So this procedure has not been called:
Sub DisconnectDatabase(db)
	db.Close
	db.Dispose()
End Sub
And .odb.lck has been created.

After I opened the initial .odb, all tables remain unchanged.
What should I do with this .odb.lck ?