ciao a tutti ho una pagina con un form che recupera valori multipli tramite checkbox e li passa a questa pagina

codice:
<%
DataNow = Now() 
Oggetto = Split(Replace(Request.form("Oggetto"), "'", "''"),",") 
TestoNews = Split(Replace(Request.form("TestoNews"), "'", "''"),",") 
ID = Split(Request.form("IDcheck"),",")


If Len(ID(0)) = 0 then
Response.Write("Nessuna News é stata selezionata per la pubblicazione") 
Response.Write("</br>Torna indietro e seleziona almeno una News.") 
Response.End 
End if

If Len(ID(0)) > 0 then
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath ("/mdb-database/News.mdb")
For x=0 to (ID) 
SQL = "DELETE * FROM [News] WHERE ID IN (" & ID(x) & ")" 
Conn.Execute SQL 
Next 

For x=0 to ubound(ID) 
SQL = "INSERT INTO News(Data, Oggetto, TestoNews, Pubblica) VALUES ('"& DataNow &"', '"& Oggetto(x) &"', '"& TestoNews(x) &"' ,'S')" 
Conn.Execute SQL 
Next 
conn.close 
set conn = nothing 
end if 
Response.Write("News Pubblicate Correttamente" & "</br>") 
Response.Write("</br>Visualizza News") 
Response.Write("</br>Torna indietro") 
%>
ma mi restituisce questo errore

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 0]'

/Pubblica.asp, line 78 che poi sarebbe questa

If Len(ID(0)) > 0 then

Qualcuno sa dirmi dove sbaglio?
Ringrazio anticipatamente
Ciao a tutti!