Newsgroup: it.comp.lang.visual-basic
Titolo: query dao con multiple and

ho una query di update con 3 condizioni :
update pippo
where ((campo1='1')and (campo1='2')and(campo1='3'));
la sintassi è corretta perché fino a 2 and me li gestisce dao e mi fa
l'aggiornamento , pero se metto piu di 2 and in where mi da errore syntax
error 3075
baco di dao?
grazie

 wrote in message
news:syn0c.39181$gk.16...@news3.tin.it...

scusate ho messo solo la parte finale della query la parte primaria è sempre
la solita update tabella set (campi=' ') where ecc.

where ((campo1='1')and (campo1='2')and(campo1='3'));
cioe' campo1 uguale contemporaneamente a '1' e a '3'?
Inoltre hai verificato i tipi di dato dei campi?
-- 
ciao,
hal

 hal

 ti da errore.
Escluso.
Pubblica l'intera ed esatta query.

 wrote in message
news:me14405hl56frksqu...@4ax.com...

non si possono permetteere bachi cosi , in oracle metto le parentesi, uno
non deve pagare cosi tanto e perdere tempo con bachi e sciocchezze come le
parentesi.
se vedete picosql o sqllite sono stupendi e conformi allo standard e
gratuiti, l'ultimo è opensource e supporta diversi terabyte di database.
quello che premia access è solo la gui, ma presto qualcuno la fara e vedremo
quante tonnellate di km daranno in termini di adepti.
Grazie
bye

 sciocchezze come le parentesi.
Ci puoi spiegare (con la query esatta) qual è/era il problema, relativamente
alle parentesi?

 wrote in message
news:c1t1l8$1llfre$1...@ID-174464.news.uni-berlin.de...

UPDATE Inserimento SET Cognome ='Bianchi' , Luogodinascita ='Praia a Mare' ,
Datadinascita =DateValue('22/02/1945') , Reparto ='Medicina' , Nome ='Matteo
Mario'  WHERE ((Cognome = 'Bianchi') AND (DatadiNascita=
DateValue('22/02/1945')) AND  (dataprelievo= DateValue('22/02/2004')));
eccoti servito ; trovami il baco senza che leggi il mio penultimo post,
guarda quato ci metti a capirlo.
bye

 bye

 
Io non vedo alcun baco, ho provato una query simile e funziona.
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 
Ho provato in espodama usando gli apici e funziona!


 Ho provato in espodama usando gli apici e funziona!
La where su 3 campi funzionava anche a me (e ci mancherebbe!), quindi, solo
per eccesso di zelo, ho preferito specificare (anche perchè non m'è parso
d'aver letto di che tipo di db si parla...)

 
Access, lo ha scritto alle 16.51.


 Access, lo ha scritto alle 16.51.
Ah, sě, quello con un che di spam ;-)

 Io non vedo alcun baco, ho provato una query simile e funziona.
il baco sarebbe ancora più grave se la cosa funziona su diverse macchine e
su altre no, quando devi dare la cosa a una azienda non puoi passaer per
cocomeraio.
grazie per l'attenzione


 puoi passaer per cocomeraio.
Guarda che non c'è nessun baco, non almeno con DAO 3.6, Access 97/2000, VB6
SP5.
Che Versione di DAO e di database stai usando? Che VB e con SP?

 access database 97.
Prova con DAO 3.6, con SP5 (forse anche con SP4) dovresti averlo fra i
riferimenti.
Non cambia nulla (tranne la CompactDatabase e la RepairDatabase che
scompare)

 funziona
Bene. Vedi anche la CreateDabase con le opzioni dbVersion30 (97) e
dbVersion40 (2000)

 
Non e' che in mezzo a quei cognomi e data di nascita qunado formi la 
stringa risulta qualche apice di troppo? Per capirci se il cognome e' 
"toto' de curtis" nella stringa sql avresti:
... WHERE ((Cognome = 'toto' de curtis') ...


si grazie tutto regolare lato apici:)
comunque spero che serva a qualcuno anche se difficile che qualcuno usi
ancora dao, nonostante ho dovuto farlo per scelta non mia..
bye

 
Scusa, ma serva a qualcuno cosa?
Guarda che il problema e' solo tuo. Non vorrai credere che una query 
abbastanza banale come la tua causi un baco in dao e ci si accorge del 
problema dopo 10 anni che dao e' in uso in milioni di pc?


 problema dopo 10 anni che dao e' in uso in milioni di pc?
Vedi nell'altro ramo. Parrebbe un problema di DAO 3.51. Con DAO 3.6 va...

 va...
Perň, effettivamente, ripensandoci: sarebbe comunque strano che DAO 3.51
abbia un baco cosě (se il problema sono le 3 AND e/o le parentesi...)

 
Ho fatto partire espodama da vb, ho selezionato tra i riferimenti 
dao3.51 ed ho rieseguito la query.
Continua a funzionare!


 
Appunto!


 Continua a funzionare!
E allora ... non so davvero cosa dire, mmm, oltre a quello che ho già detto
... ;-)

guarda quato ci metti a capirlo.
Vista cosi' e' davvero strana.
Ora, a parte le considerazioni stilistiche (io non avrei racchiuso la
where fra parentesi perche' aumentano solo la confusione), mi lascia
perplesso l'uso di DateValue.
Poiche' non l'ho mai usata (non mi pare che sia standard sql) sono
andato a cercare sulla guida ed ho letto, fra l'altro:
"The DateValue function uses the system's Short Date setting to
interpret the string you supply"
Questo inciso mi fa domandare: se la data fosse 01/02/2004, verrebbe
interpretata come 01-feb oppure 02-jan?
Se la stessa query venisse scritta in quest'altro modo, non sql
standard, ma access e' tutto fuori che standard, funzionerebbe?
UPDATE Inserimento 
SET Cognome ='Bianchi' , Luogodinascita ='Praia a Mare' ,
Datadinascita = #02/22/1945# , Reparto ='Medicina' , 
Nome ='Matteo Mario'  
WHERE (Cognome = 'Bianchi') 
AND (DatadiNascita = #02/22/1945#) 
AND (dataprelievo = #02/22/2004#)
 
-- 
ciao,
hal

-

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 hal

con dao).
Allora mi viene il sospetto che l'integrita' del tuo DAO sia andata a
farsi friggere. Query ben piu' incasinate di questa mi funzionavano
con Access 2.0 a 16-bit.
-- 
ciao,
hal

 se riesco a implementare per benino passo a sqllite.
arridaje...

 ... ;-)
Secondo me è solo colpa di
DateValue('22/02/1945')
Sicuramente viene male interpretato.
Ciao

 Ciao

 >con dao).
Le date tra ## sono sintassi specifica di Access.
Che tu mi dica che non funzionano proprio con Access... beh, mi lascia
quantomeno basito.
La forma piů chiara credo sia addirittura #AAAA/MM/GG#
Lascerei perdere DateValue che come diceva hal, ha molto del "tiriamo a
indovinare" sulla data passata.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net