Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Giorgio ti sono molto grado per il tempo che mi stai dedicando
    Quello che mi hai scritto purtroppo lo potrò provare solo lunedi mattina ma ti avvertirò subito subito

    Speriamo bene!Grazie 1000 ancora!!!!

  2. #12
    come lunedi mattina???? sono curiosoooooooooooooooo

  3. #13
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Originariamente inviato da santino83
    come lunedi mattina???? sono curiosoooooooooooooooo
    Non puoi capire quanto vorrei avere tutto qui e provarlo.
    Cmq dovrebbe andare no?

  4. #14
    mah, io la mia prova l'ho fatta e sembra andare.

    ricordati che al posto di

    codice:
    oggetto="oggetto"
    parte="parte"
    azione="azione"
    ci devi mettere i corrispettivi che passi. ad esempio se passi una stringa

    codice:
    Pippo1-Ciao2-Ergo3-Pippo2-Ciao1-Ergo50 etc etc
    l'oggetto sarà "pippo", la parte "ciao", e l'azione "ergo"


    cmq se non mi sono scordato qualche cosa dovrebbe andare

    ps: l'or scritto in quel modo non tiene conto dell' AND...forse la query va un pò ripensata

  5. #15
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Originariamente inviato da santino83

    ps: l'or scritto in quel modo non tiene conto dell' AND...forse la query va un pò ripensata
    in che senso?

    Ovvero da questa stringa:
    Oggetto1-Parte1-Azione1-Parte4-Azione2-Oggetto5-Oggetto9-Parte2

    non riesce a fare questa query?

    La query originata dovrebbe essere:
    select * from tabella where oggetto = oggetto1 and (parte = parte1 or parte = parte4) and (azione = azione1 or azione = azione2) or oggetto = oggetto5 or oggetto = oggetto9 and parte = parte2

  6. #16
    no no la query la fa come dici te....però secondo me quando testerai l'sql nel database non otterrai dei bei risultati...perchè in logica

    and istr or istr or istr and istr

    non è logico...sarebbe da fare and ( istr or istr or istr) and istr

    perchè l'or non è univoco come l'and

    cmq boh poi testa al massimo vediamo di cambiare

  7. #17
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Originariamente inviato da santino83
    no no la query la fa come dici te....però secondo me quando testerai l'sql nel database non otterrai dei bei risultati...perchè in logica

    and istr or istr or istr and istr

    non è logico...sarebbe da fare and ( istr or istr or istr) and istr

    perchè l'or non è univoco come l'and

    cmq boh poi testa al massimo vediamo di cambiare
    ah, probabile ma dovrei provarlo...cmq lo testo e te lo dico...
    Grazie 1000

  8. #18
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Ciao Santino mi da un errore

    dett="dett"
    parte="parte"
    attiv="attiv"
    response.Write(appo)
    response.End()
    arr_split = split(appo,"~")

    sql="select * from tabella where"

    voltaogg=0
    stopper=false
    for i=0 to ubound(arr_split)

    if ucase(left(arr_split(i),len(dett)))=ucase(dett) then

    if voltaogg>0 then sql=sql & " or"

    voltaogg=voltaogg+1

    sql=sql & " id_dettaglio_commessa=" & arr_split(i)

    'cerco tutte le parti
    h=i+1
    voltapar=0
    stopper=false

    while (h<=ubound(arr_split)) and stopper=false

    if ucase(left(arr_split(h),len(dett)))=ucase(dett) then
    stopper=true
    if voltapar>0 then sql=sql & ")": voltapar=0
    end if

    if ucase(left(arr_split(h),len(parte)))=ucase(parte) then

    if voltapar=0 then sql=sql & " and ("
    if voltapar>0 then sql=sql & " or "

    sql=sql & "id_parte=" & arr_split(h)

    voltapar=voltapar+1

    if h=ubound(arr_split) and voltapar>0 then
    sql=sql & ")"
    end if

    h=h+1
    wend

    'cerco tutte le azioni
    f=i+1
    voltazio=0
    stopper=false
    while (f<=ubound(arr_split)) and stopper=false

    if ucase(left(arr_split(f),len(dett)))=ucase(dett) then
    stopper=true
    if voltazio>0 then sql=sql & ")":voltazio=0
    end if

    if ucase(left(arr_split(f),len(attiv)))=ucase(attiv) then

    if voltazio=0 then sql=sql & " and ("
    if voltazio>0 then sql=sql & " or "

    sql=sql & "id_attivita=" & arr_split(f)

    voltazio=voltazio+1

    if f=ubound(arr_split) and voltazio>0 then sql=sql & ")"
    end if

    f=f+1
    wend

    end if

    next


    Expected statement

    line 83

    wend
    ^

  9. #19
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    Anzi ora funziona ma con una stringa del genere

    dett51~parte46~parte47~attiv40~dett53~parte48~

    mi da:

    select * from tabella where id_dettaglio_commessa=dett51 and (id_parte=parte46 or id_parte=parte47) and (id_attivita=attiv40) or id_dettaglio_commessa=dett53 and (id_parte=parte48

    dovrebbe chiudere l'ultima parentesi e dovrebbe mettermi nella condizione solo l'id ovvero 51, 46, 47
    Cmq la query sembra crearsi in questo modo ;-)

  10. #20
    Utente bannato L'avatar di javipampa2
    Registrato dal
    Nov 2003
    Messaggi
    210
    risolto per gli id

    select * from tabella where id_commessa = 67 and id_commessa_dettaglio=51 and (id_parte=46) or id_commessa_dettaglio=53 and (id_parte=48 or id_parte=49

    mi rimane il problema dell'ultima parentesi
    Se dopo ci fosse un "and" allora la chiude altrimenti rimane aperta.
    Solo per l'ultimo

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.