ho fatto così ma mi da errore cosa sbaglio?

codice:
sql = "SELECT TOP 2 * FROM news where categoria ='Cronaca' or categoria ='Politica' or categoria ='Culturaspettacolo' or categoria = 'Sport'or categoria = 'Associazioni' AND pubblica = 'SI' ORDER BY ID ASC" 
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, Conn, 3, 3

1 = objRS("id")
2 = objRS("id")

sql = "SELECT TOP 20 * FROM news where id not (1,2) and categoria ='Cronaca' or categoria ='Politica' or categoria ='Culturaspettacolo' or categoria = 'Sport'or categoria = 'Associazioni' AND pubblica = 'SI' ORDER BY ID ASC" 
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, Conn, 3, 3
L'errore è:

Microsoft VBScript compilation error '800a0400'

Expected statement

/news.asp, line 15

1 = objRS("id")
^

Puoi aiutarmi?
Sto letteralmente impazzendo...
Grazie 1000
G.