Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Funzione che crea un'eccezione

    Quanto odio le eccezioni!!! Ho una funzioncina che scrive "selected" nell'option di un menu select
    codice:
    function selected_comp(rs_comp, mem_comp)
    if rs_comp = mem_comp then
    response.write "selected"
    else
    response.write ""
    end if
    end function
    e richiamo così:
    codice:
    <%call selected_comp(rs_riepilogo("comp_base"), rs_base("cod_art"))%>
    Il problema di fondo è che nel database i cod_art non sono tutti numerici come sarebbe logico che fosse, ma ci sono anche delle stringhe intere (non l'ho fatto io e non posso cambiarlo )! Mi da errore nella riga segnata in verde

  2. #2
    codice:
    function selected_comp(rs_comp, mem_comp)
     if rs_comp = mem_comp then
      ris = "selected=""selected"""
     else
      ris = ""
     end if
     selected_comp = ris
    end function
    poi per esempio:

    codice:
    <option value="xxx" <%=selected_comp(rs_riepilogo("comp_base"), rs_base("cod_art"))%>
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  3. #3
    codice:
    "selected=""selected"""
    questo è solo perchè lo standard W3C vuole che sia scritto così...se preferisci scrivere solo "selected" va bene ugualmente
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  4. #4
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ok, però l'errore lo da nella comparazione dei due valori
    Tipo di errore:
    (0x80020009)
    Eccezione.
    /remtech/Admin/aggiorna_db.asp, line 120
    Mostro tutta la parte interessata:
    codice:
    <select name="pagina_conf" class="inputform" id="pagina_conf" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                            <option value="1"  <%=selected_comp(rs_riepilogo("pagina"), 1)%>>Pagina 1</option>
                                            <option value="2"  <%=selected_comp(rs_riepilogo("pagina"), 2)%>>Pagina 2</option>
                                            <option value="3"  <%=selected_comp(rs_riepilogo("pagina"), 3)%>>Pagina 3</option>
                                          </select></td>
                                        </tr>
                                      </table>                                  
                                      <select style="margin-right:5px; width:300px;" name="garanzia_base" class="inputform" id="garanzia_base" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                        <%if rs_base.eof AND rs_cons.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write "<option value=""#"" selected>- Garanzia base -</option>"
    						   end if%>
                                        <%do while not rs_base.eof%>
                                        <option value="<%=rs_base("cod_art")%>" <%=selected_comp(rs_riepilogo("comp_base"), rs_base("cod_art"))%>><%=rs_base("desc_art")%></option>
                                        <%rs_base.movenext
    						   loop%>
                                      </select>
                                      <select style="margin-right:5px; width:300px; margin-top:4px; margin-bottom:4px;" name="garanzia" class="inputform" id="garanzia" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';" multiple onChange="lim_select(this);">
                                        <%do while not rs3.eof%>
                                        <option value="<%=rs3("cod_art")%>;" <%=selected_comp(rs_riepilogo("comp_01"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_02"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_03"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_04"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_05"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_06"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_07"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_08"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_09"), rs3("cod_art"))%>><%=rs3("desc_art")%></option>
                                        <%rs3.movenext
    						   loop%>
                                        <%if rs3.eof AND rs3.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write ""
    						   end if%>
                                      </select>
                                      <select style="margin-right:5px; width:300px;" name="garanzia_cons" class="inputform" id="garanzia_cons" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                        <%if rs_cons.eof AND rs_cons.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write "<option value=""#"" selected>- Garanzia consigliata -</option>"
    						   end if%>
                                        <%do while not rs_cons.eof%>
                                        <option value="<%=rs_cons("cod_art")%>" <%=selected_comp(rs_riepilogo("comp_cons"), rs_cons("cod_art"))%>><%=rs_cons("desc_art")%></option>
                                        <%rs_cons.movenext
    						   loop%>
                                      </select>
                                      <textarea name="p_garanzia" rows="5" class="inputform" id="p_garanzia" style="margin-top:4px; width:300px;" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';" onClick="value='';"><%=rs_riepilogo("promo")%></textarea>

  5. #5
    Che tipo di valori sono?
    Numerici, Stringa...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Purtroppo tutti e due i tipi nello stesso campo! Però la colonna è settata come "Testo". Non posso cambiare il database, il mio capo è duro d'orecchi e non capisce che così non va, ma visto che è lui che paga...

    Quì un link all'esempio in versione html. In pratica per fare l'aggiornamento io richiamo le informazioni che già son presenti nel database e le modifico reinviandole al database. Quel form va quindi ripetuto per ogni componente del pc (circa 20)
    P.S.: le modifiche che mi hai consigliato purtroppo non funzionano

  7. #7
    prova passando dei valori stringa:
    codice:
    <select name="pagina_conf" class="inputform" id="pagina_conf" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                            <option value="1"  <%=selected_comp(rs_riepilogo("pagina"), "1" )%>>Pagina 1</option>
                                            <option value="2"  <%=selected_comp(rs_riepilogo("pagina"), "2")%>>Pagina 2</option>
                                            <option value="3"  <%=selected_comp(rs_riepilogo("pagina"), "3")%>>Pagina 3</option>
                                          </select></td>
                                        </tr>
                                      </table>                                  
                                      <select style="margin-right:5px; width:300px;" name="garanzia_base" class="inputform" id="garanzia_base" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                        <%if rs_base.eof AND rs_cons.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write "<option value=""#"" selected>- Garanzia base -</option>"
    						   end if%>
                                        <%do while not rs_base.eof%>
                                        <option value="<%=rs_base("cod_art")%>" <%=selected_comp(rs_riepilogo("comp_base"), rs_base("cod_art"))%>><%=rs_base("desc_art")%></option>
                                        <%rs_base.movenext
    						   loop%>
                                      </select>
                                      <select style="margin-right:5px; width:300px; margin-top:4px; margin-bottom:4px;" name="garanzia" class="inputform" id="garanzia" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';" multiple onChange="lim_select(this);">
                                        <%do while not rs3.eof%>
                                        <option value="<%=rs3("cod_art")%>;" <%=selected_comp(rs_riepilogo("comp_01"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_02"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_03"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_04"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_05"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_06"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_07"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_08"), rs3("cod_art"))%> <%=selected_comp(rs_riepilogo("comp_09"), rs3("cod_art"))%>><%=rs3("desc_art")%></option>
                                        <%rs3.movenext
    						   loop%>
                                        <%if rs3.eof AND rs3.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write ""
    						   end if%>
                                      </select>
                                      <select style="margin-right:5px; width:300px;" name="garanzia_cons" class="inputform" id="garanzia_cons" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';">
                                        <%if rs_cons.eof AND rs_cons.bof then%>
                                        <option value="#" selected>Nessun componente</option>
                                        <%else
    						   response.write "<option value=""#"" selected>- Garanzia consigliata -</option>"
    						   end if%>
                                        <%do while not rs_cons.eof%>
                                        <option value="<%=rs_cons("cod_art")%>" <%=selected_comp(rs_riepilogo("comp_cons"), rs_cons("cod_art"))%>><%=rs_cons("desc_art")%></option>
                                        <%rs_cons.movenext
    						   loop%>
                                      </select>
                                      <textarea name="p_garanzia" rows="5" class="inputform" id="p_garanzia" style="margin-top:4px; width:300px;" onFocus="this.style.background = '#EDEDED';" onBlur="this.style.background = '#F7F7F7';" onClick="value='';"><%=rs_riepilogo("promo")%></textarea>
    oppure prova modificando la funzione come l'ho modificata io in questo modo:

    codice:
    function selected_comp(rs_comp, mem_comp)
     if CStr(rs_comp) = CStr(mem_comp) then
      ris = "selected=""selected"""
     else
      ris = ""
     end if
     selected_comp = ris
    end function
    oppure in questo modo ancora (occhio che questo metodo è case sensitive)
    codice:
    function selected_comp(rs_comp, mem_comp)
     if strComp(rs_comp,mem_comp)=0 then
      ris = "selected=""selected"""
     else
      ris = ""
     end if
     selected_comp = ris
    end function
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  8. #8
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ho rifatto da capo i campi del form e non mi da più eccezione, ma allo stesso tempo mi fa il confronto sempre col prima riga del database! Eppure la prima volta che l'ho fatto funzionava diversamente!

  9. #9
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ci son riuscito! Ora però il problema è che con tutte quelle selezioni non mi invia più il form Come posso fare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.