Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: split

  1. #1

    split

    Ciao a tutti. Ho un problema con la funzione split.

    Da un form ricevo la variabile da splittare (composta da 2 parti). Poi nell'asp metto la split:
    codice:
    varrif=split(var,"|")
    Devo poi verificare che la prima parte non sia vuota e ho messo:
    codice:
    if varrif(0) = "" then
    Ma quando eseguo mi dà l'errore:
    Microsoft VBScript runtime error '800a0009'
    Subscript out of range: '[number: 0]'
    /rif.asp, line 93
    La linea 93 è if varrif(0) = "" then

    Sapete dirmi cosa sbaglio?

    Ciao

    Alessandro

  2. #2
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Hai una qualche funzione nella pagina da cui arriva la variabile?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    if IsArray(varrif) then
    if varrif(0) = "" then
    ...
    ...
    end if
    end if
    Roby

  4. #4
    @Luis33: ho un po' di funzioni nella pagina, ma non riguardano quella che splitto

    @Roby_72: ho provato, non mi dà + errore, ma non funziona comunque.

    codice:
    if IsArray(varrif) then
    if varrif(0) ="" then
    response.write("Seleziona una voce")
    		else
    response.write("Modifica
    <form name='modulo' method='post' action='rif2.asp'>")
    sql="select * from [rif] where riferimento='" &varrif(0)& "' and set rs=con.execute(sql)
    response.write("Riferimento" &varrif(0)& "
    ")
    response.write("
    <INPUT TYPE=submit class=txt VALUE=Modifica></form>")
    		end if
    		end if

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    if varrif(0) ="" or IsNull(varrif(0)) then
    Roby

  6. #6
    Non funziona nemmeno così
    Sia che varrif(0) sia nullo o contenga un valore, non mi visualizza niente (nemmeno un msg d'errore).
    All'inizio, se non aveva un valore mi dava errore, ma se ne aveva uno mi visualizzava tutta la parte all'interno dell'ELSE.


  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non è che il carattere separatore che cerchi in realtà non esiste?

    Roby

  8. #8
    Come carattere separatore ho usato "|" ed esiste.
    Senza la condizione if (naturalmente quando non seleziono niente mi dà un errore nel db) funziona tutto, nel senso che la select filtra i risultati con varrif(0)

    Così:
    codice:
    response.write("Modifica
    <form name='modulo' method='post' action='rif2.asp'>")
    sql="select * from [rif] where riferimento='" &varrif(0)& "'"
    set rs=con.execute(sql)
    response.write("Riferimento" &varrif(0)& "
    ")
    response.write("
    <INPUT TYPE=submit class=txt VALUE=Modifica></form>")

  9. #9
    :master:

  10. #10
    Ho avuto anche io lo stesso problema ma lo ho risolto abbandonando la funzione split a favore di instr e mid.
    la prima ti trova il carattere nella stringa la seconda legge da una determinata posizione in avanti
    E' macchinoso ma almeno l'errore a me non si è più verificato.

    ex.

    posizione=instr(var,"|")
    if (posizione > 1) 'verifico che non sia vuota
    then
    etc.
    ciccio = mid(var,1,posizione-1) 'prima parte della stringa
    pasticcio = mid(var,posizione) 'seconda parte della stringa

    adesso lo ho fatto senza verificare magari al posto dell'1 ci vuole 0 non sono così calcolatore prova e basteranno pochi aggiustamenti

    Penso che split non funzi se ci sono più ricorrenze
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

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.