Ragazzi ho un problema ho un db access con i seguenti campi

categoria
sottocategoria

ora devo stampare a video tutte le categorie solo che voglio che se nel campo categoria ci sono due o più record uguali (es. Abbigliamento in tutti e due) mi si visualizza solo una volta abbigliamento. Ora.. siccome questa cosa l'avevo già fatta per un altro sito analogo non capisco perche non funziona e perche da un errore strano. Posto prima il codice e poi l'errore

codice:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("mdb-database/categorie.mdb")
strConn=strConn & ";pwd="
Conn.Open strConn
sql = "SELECT DISTINCT categoria FROM categorie ORDER BY categoria ASC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3

%>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
	<tr>
		<td bgcolor="#0000FF" height="25">
		<p align="center"><font face="Verdana" color="#FFFFFF">
		<span style="font-size: 10pt; font-weight: 700">Elenco categorie</span></font></td>
	</tr>
	<% do while not(rs.eof) 
	%>
	<tr>
		<td bgcolor="#9999FF" height="20"><a href="esploracategoria.asp?categoria=<%=rs(0)%>" target="dx">
		<font face="verdana" style="font-size: 8pt" color="#ffffff">
		
		<%=rs(0)%></font></font></td>
	</tr><%rs.movenext
	loop
	%>
</table>
Errore

codice:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Driver ODBC Microsoft Access] L'apporto modifiche non è riuscito perché si è cercato di duplicare i valori nell'indice, nella chiave primaria o nella relazione. Modificare i dati nel campo o nei campi che contengono dati duplicati, rimuovere l'indice o ridefinire l'indice per consentire l'inserimento di voci duplicate, quindi ritentare l'operazione.
/agenziasg/sinistra.asp, line 9
la linea nove corrisponde a

rs.Open sql, conn ,3,3

AIUTOOO E' URGENTE