prova con
i campi devono essere alfanumerici.... altrimenti hai persoSQL = "SELECT * FROM nome_tabella WHERE INSTR(campo1+campo2+campo3+campo4+campon,'5') > 0"
ps per Andrea ...parliamo di ricerca testo naturalmente
ciao
prova con
i campi devono essere alfanumerici.... altrimenti hai persoSQL = "SELECT * FROM nome_tabella WHERE INSTR(campo1+campo2+campo3+campo4+campon,'5') > 0"
ps per Andrea ...parliamo di ricerca testo naturalmente
ciao
Ultima modifica di vic53; 09-10-2014 a 20:13
Vic53
Grazie per le risposte...che vedo solo ora in quanto qui da me a Genova ho purtroppo avuto altro a cui pensare in questo WE...
Due domande due:
- esiste on-line un manuale di access SERIO che davvero illustri come risolvere certe situazioni?
- possibile che per fare quanto sopra devo scrivere il nome di TUTTI i campi interessati? non esiste un modo per far eseguire la query su tutti i campi senza doverli scrivere ad uno a uno? qualcosa tipo *?
mi sembra perlomeno strano....
e, importante: come faccio a fare in modo che poi vengano scritti SOLO i risultati in cui quanto richiesto appare? voglio dire: se il valore cercato appare SOLO nel campo N. 2, come faccio a fare un response.write che scriva appunto solo quel campo? devo fare una marea di IF o esiste qualche possiblità che mi sfugge?
Ultima modifica di giorgius; 13-10-2014 a 09:18
Giorgius
Ti do una indicazione che esiste nei manuali antichi del basic... che puo rispondere alla tua domanda:
se moltiplichi -1 per un valore -1 questo vale 1... che cosa serve dirai tu ... segui il mio ragionamento ora
tu hai vari campi tipo campo1, campo2 campo3 campo4... campoN e vuoi scoprire se uno di questi campi vale per esempio "5" in formato testo allora possiamo fare in modo che la matematica ci risolva il tutto con le uguaglianze...
campo1 diciamo che è il campo indicizzato 1, campo2 è indicizzato da 2 etc etc.
ora facciamo questa operazione di uguaglianza usando una variabile che chiamiamo x
x = (campo1="5")
questa variabile vale -1 se l'uguaglianza è vera, altrimentio vale zero.
ora facciamo in modo che il risultato della condizione faccia diventare x = al puntatore voluto cioe 1 per il campo 1
cioè
x = -1 * (campo1="5")
vediamo cosa succede per il campo2
x = -2 *(campo2="5")
e per campo3
x = -3 *(campo3="5)
ora se la condizione e che solo uno dei campi vale "5" possiamo dedure con una sola istruzione il valore del pointer
x = -1 * (campo1="5") + -2 *(campo2="5") + -3 *(campo3="5) ...
x varrà 1 , 2 o 3 a seconda che uno di questi campi valga "5" ....
Be vale la pena fermarsi un attimo per ragionare poi altre strade ma questa è sicuramente una strada percorribile
naturalmente nel caso che i valori = "5" siano piu di uno vale la pena soffermarsi a come risolvere il quesito....
se il pointer a 1 lo facciamo valere 1 e il pointer a 2 lo facciamo valere 20 e il poiter a 3 lo facciamo valelre 300 etc, la somma di tutti i campi se tutti i campi sono uguali a "5" varrebbe 321 come vedi la cifra gia ti indicherebbe che sono tutti e tre uguali a "5"
mentre se il campo1 e il campo3 sono uguali a "5", x sarebbe uguale a 301 ...convieni con me che puo funzionare ?
Be inutile dilungarci oltre ti auguro buon lavoro
ciao
Ultima modifica di vic53; 13-10-2014 a 22:49
Vic53