Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Migliorare Function Split

    Ho scritto una function che separa una stringa dopo la virgola; provata da sola funziona perfettamente.
    A volte però, quel campo del database non viene compilato, quindi la variabile è vuota.

    Il codice è:
    codice:
    Function DividiNomeDaWeb(NameLinkTo, PerCosa)
    
     If NameLinkTo = "" Then
    	DividiNomeDaWeb = "testo...."
     Else
    	Dim intSizNomeWeb, intSizNome, intSizWeb
    	
    	intSizNomeWeb = split(NameLinkTo, PerCosa) 
    	intSizNome = intSizNomeWeb(0) 
    	intSizWeb = intSizNomeWeb(1) 
    	
    	DividiNomeDaWeb = ""&intSizNome&""
     End If
    End Function
    Provata con la variabile che contiene una stringa funziona, allora ho pensato di mettere un If che controlla se NameLinkTo è vuoto, mostra una scritta, altrimenti può procedere con lo split.
    Però provando, mi da utilizzo non valido di null! Ma con l'If non deve saltare il passaggio?

    Richiamo la function cosi:
    codice:
    " & DividiNomeDaWeb (objSizRs("Collaboration"), ",") & "

  2. #2
    Ho capito nulla.
    L'unica cosa che ho capito è che

    intSizNome = intSizNomeWeb(0)
    intSizWeb = intSizNomeWeb(1)
    è un costrutto molto pericoloso perchè se per sbaglio lo split non genera almeno 2 posizioni sei fritto.

    Puoi fare un controllo con ubound(nomearray).
    Se maggiore di 0 allora assegni anche l'indice 1

  3. #3
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Allora io passo alla funzione il valore di
    objSizRs("Collaboration")
    Che nella funzione corrisponde a "NameLinkTo"
    E' sempre una stringa di due parti separata solo da una ",".
    Un esempio di stringa può essere:
    nomesito,dominio.it

    quindi volevo fare in modo che se NameLinkTo è vuoto, nel caso che nel database non sia scritto quel campo, venga mostrato un testo. In caso contrario si procede con lo Split.

    Ora mi capite meglio?

  4. #4
    E dov'è il problema?
    Controlla che la variabile sia valorizzata e se lo è procedi.

  5. #5
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    infatti non capisco il motivo per cui non vada!!!
    Se i campi sono tutti compilati mi funziona, ovvero mi esegue la parte dell'else con lo split. Nel caso di variabile vuota mi da quell'errore!!!

    Questa funzione è all'intenro di un ciclo, per quello c'è l'alternanza di variabile vuota o piena in base ai record :master:

  6. #6
    Ti ho scritto sopra perchè da errore.
    Ser la variabile è vuota non esistono 2 indici dell'array.

  7. #7
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ah non avevo capito che il controlla andava fatto per la variabile vuota... ora provo!

  8. #8
    Il controllo lo fai per quello che vuoi, l'importante è che non cerchi di accedere ad un indice di un array che non esiste.

  9. #9
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    ok, grazie

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ho provato cosi:
    codice:
    Function DividiNomeDaWeb (NameLinkTo, PerCosa)
    
     If UBound(DividiNomeDaWeb, 1) = "" Then
    	DividiNomeDaWeb = "L'ho fatto da solo[img][/img]"
     Else
    '...
    errore: Tipo non corrispondente: ubound

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.