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!!!!![]()
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!!!!![]()
come lunedi mattina????![]()
sono curiosoooooooooooooooo
![]()
Non puoi capire quanto vorrei avere tutto qui e provarlo.Originariamente inviato da santino83
come lunedi mattina????![]()
sono curiosoooooooooooooooo
![]()
Cmq dovrebbe andare no?![]()
mah, io la mia prova l'ho fatta e sembra andare.
ricordati che al posto di
ci devi mettere i corrispettivi che passi. ad esempio se passi una stringacodice:oggetto="oggetto" parte="parte" azione="azione"
l'oggetto sarà "pippo", la parte "ciao", e l'azione "ergo"codice:Pippo1-Ciao2-Ergo3-Pippo2-Ciao1-Ergo50 etc etc
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
in che senso?Originariamente inviato da santino83
ps: l'or scritto in quel modo non tiene conto dell' AND...forse la query va un pò ripensata
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
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...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
Grazie 1000
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
^
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 ;-)
![]()
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![]()