there's no need for arrays in access
Can't say I agree with that. Can't disagree that the goal might be simpler (as suggested) either.
Chalupabatman: "it is not functioning properly" is of little help to anyone here. Often, the major issue in such an exercise using arrays is that after a delete the array size has been altered thus the loop counter is reduced (For amx =...). In some cases, the array as to be declared as Static so as to maintain the count.
In your case, I suspect the array approach is because you don't have a list or recordset of the table values you want to delete. You could build one so that you can iterate over the tables collection as suggested, or try making the array static. To prove or disprove that this is the cause, check the array size as you step through using either a debug or msgbox statement. I think in your case it probably isn't since I don't see anything definite that would affect the array size, but I'm not sure - you don't provide much that explains the failure.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.