Pagina 6 di 8 primaprima ... 4 5 6 7 8 ultimoultimo
Visualizzazione dei risultati da 51 a 60 su 77
  1. #51
    certo così è solo per un nome composto da due sole parti ma è un inizio ... anche se non ho ancora capito una cosa, ma il trim funziona? ovvero posso richiamarlo nella query oppure no?


    codice:
    SELECT 
    (
    iif
          (instr(1,trim(nome),' ')=0,trim(nome),(left(trim(nome),instr(1,trim(nome),' ')-1)&right(trim(nome),instr(1,trim(nome),' '))))
    )
     as prova 
    from  ciccio;

  2. #52
    si', trim funziona. cosi' come anche left, right, mid, instr, ecc (che sono tutte funzioni 'vecchiotte'). purtroppo non funziona la replace, che e' proprio quella che ci vorrebbe...

  3. #53
    nello specifico:
    codice:
    SELECT 
                *
    from  
                 ciccio
    where 
     (
     (
     iif
          (instr(1,trim(nome),' ')=0,trim(nome),(left(trim(nome),instr(1,trim(nome),' ')-1)&right(trim(nome),instr(1,trim(nome),' '))))
     )
     &
     (
     iif
          (instr(1,trim(cognome),' ')=0,trim(cognome),(left(trim(cognome),instr(1,trim(cognome),' ')-1)&right(trim(cognome),instr(1,trim(cognome),' '))))
     )
    
    )
     = 'francovaleriaciccio'
    ;

  4. #54
    l'ultima poi bvasta, vabbè che oggi non ho nulla da fare però ... eheheh ... arriva fino ad un nome od un cognome composto da tre parti ... non serve a niente lo so ma tant'è:

    codice:
    SELECT 
                *
    from  
                 ciccio
    where 
     (
     (
    iif (instr(1,trim(nome),' ' )=0,
                    trim(nome),
                    (
                   iif (
                         instr(instr(1,trim(nome),' ' )+1,trim(nome),' ' )=0,
                         (left(trim(nome),instr(1,trim(nome),' ')-1)&right(trim(nome),instr(1,trim(nome),' '))),
                          (
                              left(trim(nome),instr(1,trim(nome),' ')-1)
                              &mid(trim(nome),(instr(1,trim(nome),' ')+1),(instr(1,right(trim(nome),instr(trim(nome),' ')),' ')))
                              &right(trim(nome), len(trim(nome))-(instr(1,trim(nome),' ')+instr(1,right(trim(nome),instr(trim(nome),' ')),' '))-1)
                          )     
                    )
                    )
    )
    )
     &
     (
    iif (instr(1,trim(cognome),' ' )=0,
                    trim(cognome),
                    (
                   iif (
                         instr(instr(1,trim(cognome),' ' )+1,trim(cognome),' ' )=0,
                         (left(trim(cognome),instr(1,trim(cognome),' ')-1)&right(trim(cognome),instr(1,trim(cognome),' '))),
                          (
                              left(trim(cognome),instr(1,trim(cognome),' ')-1)
                              &mid(trim(cognome),(instr(1,trim(cognome),' ')+1),(instr(1,right(trim(cognome),instr(trim(cognome),' ')),' ')))
                              &right(trim(cognome), len(trim(cognome))-(instr(1,trim(cognome),' ')+instr(1,right(trim(cognome),instr(trim(cognome),' ')),' '))-1)
                          )     
                    )
                    )
    )
    ))
     = 'raffaelemanosantaergo'
    ;

  5. #55
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da vaargard
    l'ultima poi bvasta, vabbè che oggi non ho nulla da fare però ... eheheh ... arriva fino ad un nome od un cognome composto da tre parti ... non serve a niente lo so ma tant'è:

    codice:
    SELECT 
                *
    from  
                 ciccio
    where 
     (
     (
    iif (instr(1,trim(nome),' ' )=0,
                    trim(nome),
                    (
                   iif (
                         instr(instr(1,trim(nome),' ' )+1,trim(nome),' ' )=0,
                         (left(trim(nome),instr(1,trim(nome),' ')-1)&right(trim(nome),instr(1,trim(nome),' '))),
                          (
                              left(trim(nome),instr(1,trim(nome),' ')-1)
                              &mid(trim(nome),(instr(1,trim(nome),' ')+1),(instr(1,right(trim(nome),instr(trim(nome),' ')),' ')))
                              &right(trim(nome), len(trim(nome))-(instr(1,trim(nome),' ')+instr(1,right(trim(nome),instr(trim(nome),' ')),' '))-1)
                          )     
                    )
                    )
    )
    )
     &
     (
    iif (instr(1,trim(cognome),' ' )=0,
                    trim(cognome),
                    (
                   iif (
                         instr(instr(1,trim(cognome),' ' )+1,trim(cognome),' ' )=0,
                         (left(trim(cognome),instr(1,trim(cognome),' ')-1)&right(trim(cognome),instr(1,trim(cognome),' '))),
                          (
                              left(trim(cognome),instr(1,trim(cognome),' ')-1)
                              &mid(trim(cognome),(instr(1,trim(cognome),' ')+1),(instr(1,right(trim(cognome),instr(trim(cognome),' ')),' ')))
                              &right(trim(cognome), len(trim(cognome))-(instr(1,trim(cognome),' ')+instr(1,right(trim(cognome),instr(trim(cognome),' ')),' '))-1)
                          )     
                    )
                    )
    )
    ))
     = 'raffaelemanosantaergo'
    ;
    Sei fuori come un balcone... Trovati qualcosa da fare, dai... :maLOL:

    Roby

  6. #56
    ehehehehe bella però vero?

    quasi un'opera d'arte!

  7. #57
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Stupenda... Ne hai il copyright o posso usarla per decorare le pareti della mia camera?

    Roby

  8. #58
    ehehehehhehehehehhehe

    fai pure, sono per la libra divulgazione dell'arte e del buongusto!!!

    :-)

  9. #59
    Un'ultima, (conclusiva?) considerazione su un tema che è stato stimolante e ricco di spunti.

    Da una parte la teoria e l'indagine accademica, dall'altra l'esigenza di risolvere un problema pratico.

    La soluzione? Guarda caso.......di compromesso!

    A quanto pare ci sono funzioni ASP, come "replace", non utilizzabili in una clausola WHERE.

    Peccato. Non potendone far uso la manipolazione dei dati diventa complicatissima (vedi i metri quadri di codice postati sopra.......pura accademia, un po' di buon umore, certo).

    Sembra inevitabile utilizzare un recordset "esterno".....se è così, si può fare in modo che sia il più elementare possibile, lasciando il grosso della routine all'interno della query risolutiva.

    Apriamo la tabella con

    codice:
    sql1 = "SELECT * FROM tabella"
    ed otteniamo un primo recordset.

    Eseguiamo la query

    codice:
    sql2 = "SELECT  * FROM tabella WHERE tabella."&campo1&"='"&rs(campo1)&"' AND 
    '"&trim(replace(rs(campo1).value, " ", ""))&trim(replace(rs(campo2).value, " ", ""))
    &"'='valoredicampo1ecampo2senzaspazi'"
    Risultato?

    Beh....innanzitutto abbiamo risolto il nostro problema pratico, il che non è poco.

    Abbiamo eseguito una specie di inner join tra la tabella e il primo recordset (siccome questo non è ammesso, abbiamo sostituito inner join con la prima clausola WHERE).

    Il vantaggio è che sul primo recordset si possono eseguire quelle funzioni ASP che prima non avevamo potuto usare, in particolare la "replace" risolutiva.

    Lo script funziona qualunque sia il numero di parole che formano il valore dei campi 1 e 2 (e, quel che più conta, confrontando il valore nei campi con qualsiasi stringa contenente gli stessi caratteri, tipo

    "valore di campo1 e campo2 senza spazi",
    "val oredicam po1ecampo2senza spazi"

    ecc. ecc., basta sottoporre anche l'input a trim e replace.....)

    Un esempio è qui:

    http://www.larianaweb.com/utilities_..._originale.asp

    e noi.........siamo sempre più

    CREATIVI I I I I I ! ! ! ! ! ! ! ! !


    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #60
    permetta, egregio.... la seconda query la esegui 'secca' dopo aver generato il primo recordset, o all'interno di un ciclo do...loop che scorre il primo recordset?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.