• User Attivo

    [SQL] Non visualizzare i campi vuoti

    Spero che il titolo sia corretto, sono fuso!!
    Vi spiego:
    ho una tabella di circa 100 record, un campo chiamato account ne ha solo 25 riempiti.
    Se voglio visualizzare i dati contenuti in questo campo in un form ho impostato questo select:
    <%
    data = date()
    if session("filiale")="1"then
    Sql4 = "SELECT account FROM tana_new "
    else
    Sql4 = "SELECT distinct(account) FROM tabana where filiale='"&session("filiale")&"' "
    end if
    set rs4=conn.execute(Sql4)
    %>
    <select name="select2">
    <option value="" selected>Tutte</option>
    <% do while not rs4.eof %>
    <option value="<%=rs4(0)%>" >
    <%=rs4(0)%></option>
    <% rs4.movenext
    loop
    %>
    </select>
    Il select mi posta tutti i cento record, questo vuol dire una marea di spazi vuoti, come si eliminano??

    Ragazzi per favore help, help help.

    Grazie 1000


  • User Attivo

    Per i posteri:
    <% do while not rs4.eof %>

    <% if Len( rs4(0) ) > 0 then %>
    <option value="<%=rs4(0)%>" ><%=rs4(0)%></option>
    <% end if %>

    <% rs4.movenext
    loop
    %>

    Cosi funziona 🙂

    Ciaoo


  • Moderatore

    Ciao,
    potevi evitare l'ultimo controllo (if len(...) > 0) se già a monte, cioè nella stringa SQL, filtri i campi vuoti di rs4(0).
    cioè:

    
    SELECT account FROM tana_new where account is not null
    
    

    PS-1: Per maggiore leggibilità del codice di consiglio di richiamare i campi del recordset con il loro nome invede dell'indice di posizione.
    cioè puoi scrivere:

    
    <option value='"<%=rs4("account")%>"'>
    
    

    invece di:

    
    <option value="<%=rs4(0)%>" >
    
    

    PS-2: Il titolo non era corretto 😉 adesso và meglio...