Newsgroup: it.comp.appl.access
Titolo: problema con query di selezione



ciao a tutti
ho realizzato questa 
query:
SELECT TbEmailFornitori.IDEmailFornitore, 
TbEmailFornitori.IdFornitore,
TbEmailFornitori.Contatto, 
TbEmailFornitori.Email,
TbEmailFornitori.Email_ChiusuraCarico, 
TbEmailFornitori.Esclusa,
IIf(IsNull([Email_ChiusuraCarico]),[Email],[Email_ChiusuraCarico]) 
AS Email1
FROM TbEmailFornitori;
ma non risco ad avere risultato 
desiderato;
se p.e. un fornitore ha entrmbi i campi
"Email" ed 
"Email_ChiusuraCarico" non nulli (considerando che le email sono
in
record 
diversi), vorrei avere nel campo "Email1"
solo le email del campo 
"Email_ChiusuraCarico"
e non di tutti e due i campi






















idfornitore


Email


 
Email_ChiusuraCarico
  


Email1




1-


12


u...@yahoo.it








2-


12




d...@yahoo.it


d...@yahoo.it




3-


16


tre@libero




t...@libero.it




4-


18


qua...@libero.it




qua...@libero.it




5-


20




cin...@yahoo.it


cin...@yahoo.it
Grazie 



 ha scritto nel 
messaggio 
news:52bbf8d3$0$1372$4faf...@reader1.news.tin.it
...



if 
  isnull(dlookup(["Email_ChiusuraCarico]","TbEmailFornitori","[IDEmailFornitore]=12"))  
  
then 


  
  EmailNew=dlookup(["Email]","TbEmailFornitori","[IDEmailFornitore]=12") 
  


 
else 


  
  EmailNew=dlookup(["Email_ChiusuraCarico]","TbEmailFornitori","[IDEmailFornitore]=12")


end if


 if isnull(EmailNew) then msgbox("ERRORE NOn 
  CI SONO MAIL")


 


Ciao


Graziano



 ha 
  scritto nel messaggio 
news:52bc46ab$0$1367$4faf...@reader1.news.tin.it
...


Ciao Graziano


non va bene perchè da come risultato sempre 
    la mail del campo "Email" nel caso 


in cui il campo "Email_ChiusuraCarico" non è 
    vuoto, in piu' a me servirebbe una


query



Non è cosi facile come sembra:
 
Premesso che i dati sono rindondanti perchè potresti avere più record con 
lo stesso "idfornitore" ma con "EMail" oppure "EMail_ChiusuraCarico" diversi
 
poi non mi è chiaro quello che vuoi ottenere
 
I casi che si presentano possono essere:
--------- Con 1 solo "idfornitore"
- 1  - EMail  pieno    - Email_ChiusuraCarico pieno .......
- 2  - EMail  pieno    - Email_ChiusuraCarico vuoto .......
- 3  - EMail  vuoto    - Email_ChiusuraCarico pieno .......
- 4  - EMail  vuoto    - Email_ChiusuraCarico vuoto .......
--------- Con piu "idfornitore"
- 5  - EMail  pieno    - Email_ChiusuraCarico pieno .......
- 6  - EMail  pieno    - Email_ChiusuraCarico vuoto .......
- 7  - EMail  vuoto    - Email_ChiusuraCarico pieno .......
- 8  - EMail  vuoto    - Email_ChiusuraCarico vuoto .......
 
Scrivici in ogniuno di questi 8 casi il risultato che vuoi ottenete
 
.
 
 
 
 
 

 ha 
scritto nel messaggio 
news:c8d979ca-3b3c-4bff...@googlegroups.com
...

ciao Mancini e grazie
non ho ben capito la tua richiesta, 
provo con questo nuovo
prospetto, sperando di rispondere anche alle tue 
domande;


























IDEmailFornitore


IdFornitore


Email


Email_ChiusuraCarico


Esclusa (si/no)


NewEmail(senza campi nulli)






1


12


u...@yahoo.it




no








2


12




d...@yahoo.it


no


d...@yahoo.it






3


16


tre@libero




no


tre@libero






4


18


qua...@libero.it




no








5


18




cin...@yahoo.it


no


cin...@yahoo.it






6


21


s...@libero.it




no








7


21




se...@yahoo.it


no


se...@yahoo.it






8


21


ot...@libero.it




no








9


22


no...@yahoo.it




no








10


22




di...@yahoo.it


no


di...@yahoo.it






11


22




und...@libero.it


no


und...@libero.it






12


23


dod...@libero.it




no


dod...@libero.it






12


23


dod...@yahoo.it




no


dod...@yahoo.it




































Esclusa=per escludere o meno 
      la mail (campo booleano)






.



 ha scritto 
  nel messaggio 
news:52bd341d$0$23120$4faf...@reader2.news.tin.it
...

.
ho risolto in 
  questo modo:


1 Query:SELECT TbEmailFornitori.IDEmailFornitore, 
  TbEmailFornitori.IdFornitore, TbEmailFornitori.Email_ChiusuraCarico
FROM 
  TbEmailFornitori
WHERE (((TbEmailFornitori.Email_ChiusuraCarico) Is Not 
  Null));


 


2: Query: SELECT TbEmailFornitori.IdFornitore, 
  TbEmailFornitori.Email, TbEmailFornitori.Email_ChiusuraCarico, 
  TbEmailFornitori.Esclusa, IIf(IsNull(IIf(Not 
  IsNull(DLookUp("Email_ChiusuraCarico","Q_EmailFornitori","IDFornitore= " & 
  [IDFornitore])),[Email]=Null,[Email])),[Email_ChiusuraCarico],IIf(Not 
  IsNull(DLookUp("Email_ChiusuraCarico","Q_EmailFornitori","IDFornitore= " & 
  [IDFornitore])),[Email]=Null,[Email])) AS EmailNew
FROM 
  TbEmailFornitori
WHERE (((IIf(IsNull(IIf(Not 
  IsNull(DLookUp("Email_ChiusuraCarico","Q_EmailFornitori","IDFornitore= " & 
  [IDFornitore])),[Email]=Null,[Email])),[Email_ChiusuraCarico],IIf(Not 
  IsNull(DLookUp("Email_ChiusuraCarico","Q_EmailFornitori","IDFornitore= " & 
  [IDFornitore])),[Email]=Null,[Email]))) Is Not 
Null));