31 messaggi dal 03 ottobre 2001
Ciao a Tutti,

Apro la connessione, scrivo la tua query, apro il recordset e poi scrivo

<select name="pippo">
<%
do while not rs.eof
%>
<option value="<%=rs("id")%>"><%=rs("name")%></option>
<%
rs.movenext
loop
%>
</select>
Chiudo recordset e connessione e distruggo gli oggetti.

Il tutto funziona ma come posso eliminare i dati duplicati?

Post mario.za
379 messaggi dal 06 settembre 2002
www.andytimes.com
Non ho capito cosa intendi con
Il tutto funziona ma come posso eliminare i dati duplicati?

nel senso che nella select appaiono più nomi???
se è cosi la cosa più corretta è agire sul SQL nella query utilizzando distinct(name) nell'enunciato select:
"SELECT DISTINCT(name), id FROM mia_tabella"
ciao...

..:: and this is my web ::..
31 messaggi dal 03 ottobre 2001
Ho cambiato la stringa ma il risultato non cambia continuano a comparire tutte le voci in ordine alfabetico. Io ne voglio visualizzare solo una per tipo !!

la pagina è così composta:

connessione DB
<%
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("tel.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT DISTINCT(reparto), ID FROM tel"
rs.Open sql, conn, 3, 3
%>

<td>
<font size="2">
<select name="reparto" size="1" style="font-family: Copperplate Gothic Bold; color: rgb(128,0,0)">
<option value="null">Tutti</option>
<%
do while not rs.eof
%>
<option value="<%=rs("ID")%>"><%=rs("reparto")%></option>
<%
rs.movenext
loop
%>
<%
rs.Close
Set rs = Nothing
Conn.Close
%>
</select>&nbsp;&nbsp;</font></td>

Dovè l'errore ????
379 messaggi dal 06 settembre 2002
www.andytimes.com
Aspetta... la query:
SELECT DISTINCT(reparto), ID FROM tel
funziona nel caso siano raggruppabili... ovvero se hai n voci in reparto con n id ti mostrerà n voci nelle select, invece se ci sono più dati simili ne evidenza solamente uno.
ciao

..:: and this is my web ::..
31 messaggi dal 03 ottobre 2001
Ciao Andytimes,

Prima di tutto Grazie !
il tutto ora funziona, ma come posso inserire altre voci ??

SELECT DISTINCT(reparto), reparto & o and .......ALTRE VOCI......... FROM tel
qualè la sintassi giusta?

e per di più, ho cercato sul mio libro la funzione DISTINCT ma non l'ho trovata o non sono ancora arrivato a leggerla..... una anticipazione??
379 messaggi dal 06 settembre 2002
www.andytimes.com
Ti faccio un esempio, relativo, per praticità, ad un condominio:
tabella rm
bl_id | fl_id | rm_id
con1 ; pt ; 01
con1 ; pt ; 02
con1 ; pt ; 03
con1 ; p1 ; 01
con1 ; p1 ; 02
con1 ; p1 ; 03
con1 ; p2 ; 01
con1 ; p2 ; 02
con1 ; p2 ; 03

dove bl_id è l'edificio (building),fl_id il piano (floor) e rm_id il locale (room):
select distinct(bl_id) from rm
|---> restituisce 1 rec: con1
select distinct(bl_id),fl_id from rm
| ---> restituisce 3 rec: con1,pt;con1,p1;con1,p2
select distinct(bl_id),fl_id,rm_id from rm
| ---> restituisce tutti i record

il principio è quello di isolare distintamente il set di record in base alla selezione in modo da non avrere duplicati.
ciao..

..:: and this is my web ::..
31 messaggi dal 03 ottobre 2001
Lo sò è imbarazzante,
ma NON ho ancora risolto il problema inserisco parte del codice spiegando meglio quello che vorrei realizzare:

<%
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("tel.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT DISTINCT tel.citta FROM tel"
rs.Open sql, conn, 3, 3
%>

<select name="citta" size="1" style="font-family: Copperplate Gothic Bold; color: rgb(128,0,0)">
<option value="null">Tutte</option>
<%
do while not rs.eof
%>
<option value="<%=rs("citta")%>"><%=rs("citta")%></option>
<%
rs.movenext
loop
%>
</select>

ORA QUI VORREI INSERIRE UN'ALTRA CASELLA DI RIEPILOGO, TIPO "REPARTO", COSA DEVO FARE??

<%
rs.Close
Set rs = Nothing
Conn.Close
%>
379 messaggi dal 06 settembre 2002
www.andytimes.com
La cosa più ovvia è creare un nuovo recordset... non vedo altro modo di ricavare informazioni difformi dalla prima query, soprattutto se le richieste al db non contemplano gli stessi dati...
oppure caricare tutta la tabella e filtrare via asp le informazioni ma ti obbliga tutte le volte a scorrere il recordset per estrarre le informazioni che ti necessitano...
ciao...

..:: and this is my web ::..

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.