Query SQL che non funge... uff..

Discuti dei problemi relativi alla programmazione nel tuo linguaggio preferito!

Moderatori: cb_123, thrantir, tonertemplum

Query SQL che non funge... uff..

Messaggiodi tonertemplum il 12 set 2006, 13:03

Ho una maschera da cui da un menu a tendina scelgo:
1-il nome della teleseller
2-il mese in cui è stato preso
3-scelgo se vedere gli appuntamenti di un fornitore mettendolo SI o NO
4-scelgo se vedere gli appuntamenti di un altro fornitore mettendolo SI o NO

Questo è il codice della pagina asp che mi restituisce la tabella con la query sql creata

Codice: Seleziona tutto
teleseller=request.Form("teleseller")
mesepreso=request.form("mesepreso")
appuntamento3=request.Form("appuntamento3")
appuntamentoedison=request.Form("appuntamentoedison")
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("/mdb-database/appuntamenti.mdb")


sql = " select * from appuntamenti where teleseller like '%"&teleseller&"%' and mesepreso like '%"&mesepreso&"%' and appuntamento3 like '%"&appuntamento3&"%' and appuntamentoedison like '%"&appuntamentoedison&"%' ORDER BY giorno, mese, cap, ora, minuti"


Se nella maschera di selezione per appuntamento3 metto SI e appuntamentoedison NO (o viceversa) la query funge ottimamente....
Se metto entrambi su SI..... mi trova 0 risultati....., non è un grosso dramma, perchè a mente mi memorizzo il primo risultato, poi faccio il secondo e poi me li sommo a mente... ma se volessi vederli tutti....

Spero di essere stato chiaro...

Chi mi può helpare? Se avete bisogno di maggiori informazioni chiedete pure....
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

 

Messaggiodi thrantir il 12 set 2006, 13:15

credo che non funzioni perche' devi mettere un or al posto di un and, cosi' a naso e senza andare a vedere bene...

mi dici bene cosa vogliono dire i campi della tabella che sui nella query?
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi tonertemplum il 12 set 2006, 14:09

per or intendi tra

appuntamento3 like ..... OR appuntamentoedison like..... ?

I campi sono cosi

teleseller = nome della teleseller, nella forma nome_cognome

mesepreso = mese in cui l'appuntamento è stato preso, Settembre ad esempio

appuntamento3 = duevalori possibili, SI oppure NO (a seconda se l'appuntamento è stato preso perchè interessato a questo servizio)

appuntamentoedison = come appuntamento 3

per ogni ID del mio db in access dove avrò appuntamento3 = SI avrò apuntamentoedison = NO, e viceversa....

Ora cmq provo con or......
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi tonertemplum il 12 set 2006, 14:12

niente, mettendo OR laddove dicevo prima mi invalida praticamente tutta la query... addirittura scegliendo come mese settembre mi fa vedere *tutti* gli appuntamenti, compresi quelli di gennaio, sia appuntamento3=SI che appuntamentoedison = SI.... :(

dimenticavo, cmq grazie fin d'ora! :D
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi thrantir il 12 set 2006, 14:56

allora, due domande per capire meglio:

1 - Hai accesso al db? Se si, controlli se ci sono record in cui entrambi i valori appuntamento3 e appuntamentoedison sinao SI?

2 - Mi dici in linguagigo naturale che significato dai alla query?
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi tonertemplum il 12 set 2006, 15:09

ho accesso pieno al Database, e sono sicuro che se uno è SI l'altro è NO... :D perchè metti un esempio

4 appuntamenti del mese di settembre

2 sono appuntamento3 = SI appuntamentoedison = NO
2 sono il contrario

se cerco solo uno o l'altro li vedo correttamente, se nella maschera di ricerca cerco sia appuntamento3 = SI che appuntamentoedison = SI allora non mi trova nulla......

il significato naturale?

fammi vedere tutti gli appuntamenti che trovi nel db che siano della teleseller presa dal form, presi nel mese che ti dico io, che appuntamento3 e appuntamentoedison siano o SI o NO a seconda di come te lo dico e ordinameli......... cmq ti ho mandato un pm.... :D
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi thrantir il 12 set 2006, 15:14

allora, appurato che:

ho accesso pieno al Database, e sono sicuro che se uno è SI l'altro è NO


e' chiaro che se tu chiedi (la query che hai messo all'inizio) tutti gli appuntamenti in cui sia SI un campo e SI l'altro campo, il risultato e' vuoto. La mia modifica, con l'or al posto dell'and, ti da tutti gli appuntamenti che siano o di un tipo o di un altro

il significato naturale non e' tanto... naturale :P

e' naturale nella pirma parte, il fatto che l'appuntamento debba essere della teleseller selezionata, ma non traspare il significato dei campi... immagina che il db sia un archivio e che io sia il tuo archivista, e fammi una domanda a cui io possa rispondere :wink:
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi tonertemplum il 12 set 2006, 15:16

thrantir, ti ho fatto un pm, dandoti pieno accesso alla piattaforma.........
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi thrantir il 12 set 2006, 15:22

ho visto, e ti ho risposto :wink:

allora, me la fai questa query verbale come se fossi il tuo archivista? :P
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Messaggiodi tonertemplum il 12 set 2006, 15:24

c'è stata una incomprensione.....

hai ragione, la query funziona perfettamente, perchè non ci sono appuntamenti che siano entrambi su SI....

hai quindi capito perfettamente il comportamento....

Ma allora ti chiedo, se io volessi vedere sia quelli in cui

appuntamento3= SI
appuntamentoedison = NO

che quelli

appuntamento3= NO
appuntamentoedison = SI

tutti in una sola tabella?
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi tonertemplum il 12 set 2006, 15:33

ti ho aggiunto su msn come da pvt :D
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi tonertemplum il 12 set 2006, 16:34

risolto................

che dire... thrantir, ti ringrazio pubblicamente! :D
ASUS M3N78-PRO -- AMD ATHLON 64 X2 5200+@3100 vcore default -- ZALMAN CNPS9500A LED -- 2x2GB TEAM GROUP DDR2 800 -- ATI HD 3650 con ZALMAN VF900 CU-LED -- 2 X SEAGATE 160GB RAID 0 + 1 x MAXTOR 260 GB SATA + 1 x MAXTOR 120 GB SATA
Avatar utente
tonertemplum
Moderatore
Moderatore
 
Messaggi: 6906
Iscritto il: 11 set 2005, 19:11
Località: Roma

Messaggiodi thrantir il 12 set 2006, 16:43

e' stato un piacere :D

ogni tanto riesco ancora a dare qualche buon consiglio :wink:
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

 

Torna a Programmare

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron