Newsgroup: it.comp.appl.access
Titolo: Fusione query da 2 a 1..........

Salve a tutti!
Scusate l'oggetto un pò "bizzarro" ma non sapevo come "identificarlo".
Dunque, spiego subito il mio problema:
avrei necessità di ottenere da due campi di una tabella, esempio, datainizio 
e datafine, con un format(datainizio;"aaaa"),
e con il raggruppamento, ottengo l'anno e/o i soli anni. Fin qui, nessun 
problema ma la stessa cosa la devo fare per il campo datafine.
Ok, anche qui nessun problema perchè nella query, a fianco della datainizio 
imposto anche data fine. Ora:
come faccio a prendere i risultati della prima "colonna" della query e 
"incolonnarli" con i dati della seconda in un'unica colonna?
Mi spiego meglio:
con l'esempio di sopra ottengo, da una semplice query:
format(datainizio;"aaaa")         |    format(datafine;"aaaa")
        2005                                                2005
        2006                                                2006
        2007                                                2007
può sembrare una cosa banale, cioè, in sostanza, ho ottenuto gli stessi 
anni........ e qui viene il bello..... :-)
io inserisco dai controlli di una maschera, dei periodi con il controllo 
datainizio e datafine.
Ipotizziamo datainizio=15.12.2005 e datafine=15.1.2006.
In questo caso, se dovessi fare un controllo sui soli anni esistenti in un 
periodo, o lo faccio in base alla datainizio o a quella della datafine
perchè se la faccio sulla datainizio io perdo, come risultato, i 15 giorni 
di gennaio 2006 e, quindi, l'anno 2006 interessato, viceversa, se lo faccio 
in base a datafine, perdo i 15 giorni di dicembre 2005.
La query in base alla datainizio, non fornirà l'anno 2006 e in base alla 
datafine, non fornirà l'anno 2005.
Insomma, vorrei che in una query mi uscissero, ovviamente raggruppati per il 
solo anno, tutti gli anni relativi ai periodi in una sola colonna.
Spero di essere stato abbastanza chiaro.
Marco. 


Se quello che vuoi è una cosa del tipo:
da
 Rossi    |Mario    |0891234567
 Rossi    |Mario    |0897654321
ottenere
 Rossi    |Mario    |0891234567/0897654321
vedi
http://www.rogersaccesslibrary.com/Otherdownload.asp?SampleName='Generic%20Function%20To%20Concatenate%20Child%20Records
'
Ciao Sabrina

 ha scritto nel messaggio 
news:ep9pq3$fue$1...@news.task.gda.pl...

Grazie per l'attenzione ma non è così.
Vorrei ottenere, in una sola colonna, tutti gli anni interessati ai periodi 
d'inserimento:
in raggruppamento
periodo 15.12.2005 - 15.1.2006
...........
periodo 22.12.2007 - 3/1/2008
quindi, anni esistenti:
2005
2006
2007
2008


"Mark" <SPAM_NO_c...@yahoo.it_TOGLI_SPAM_NO> ha scritto nel messaggio 
news:KC0uh.6366$qN4.1...@twister1.libero.it...

Scusa ma io non capisco ancora!
Forse se posti come è fatta la tabella e la query capisco cosa stai facendo
(ci provo almeno)
Ciao Sabrina 

 ha scritto nel messaggio 
news:epa5qr$r1a$1...@news.task.gda.pl...

Come già detto, ho necessità di sapere quali anni esistono in un determinato 
intervallo di date.
esempio:
controllo 1=datainizio
controllo 2=datafine
inserisco un intervallo di date:
periodo di retribuzione:
datainizio=15.12.2006
datafine=3.1.2007
per sapere QUALI anni esistono nell'intervallo delle date, o fai la query 
FORMAT(DATAINIZIO;"AAAA") e ricevi l'anoo 2006
oppure FORMAT(DATAFINE;"AAAA") e ricevi l'anno 2007 ma, purtroppo, non 
tutt'e due, cioè, 2006 e 2007 in un raggruppamento e/o riepilogo di anni.
Spero sia stato abbastanza chiaro.
Marco.

"Mark" <SPAM_NO_c...@yahoo.it_TOGLI_SPAM_NO> ha scritto nel messaggio 
news:45b8b4c8$0$22289$4faf...@reader1.news.tin.it...

Penso di aver capito adesso(spero sai è un po' tardi)
Se quello che ho inteso è giusto potresti aggirare il problema in questo 
modo:
Ti crei una tabella di appoggio così fatta:
ID_Query di tipo contatore
Data di tipo Data/ora
Poi scrivi due query di accodamento
Con una accodi  i dati selezionati da data inizio
Con l'altra acodi i dati selezionati da data fine
Ho provato così nella tabella di appoggio hai
  tabella2 nome data
      1 15/12/2005
      2 22/12/2007
      3 15/01/2006
      4 03/01/2008
Spero sia quello che volevi
Ciao Sabrina

 ha scritto nel messaggio 
news:45b906f4$0$30040$4faf...@reader4.news.tin.it...

Sì, grazie, l'avevo già fatto però è sorto un altro problema che quando fai 
eseguire le query, ad esempio in un controllo "dopo aggiornamento":
docmd.setwarnings false
docmd.runquery "datainizio"............ecco, qui ci vorrebbe un comando, 
un'istruzione che dia conferma di eseguire questa query anche in presenza di 
errori perchè se non si voglia ripetere gli anni in questa tabella di 
appoggio, la query, facendola funzionare in modo "liscio", da errore nel 
campo "anno" ovviamente impostato come chiave primaria e, quindi, non 
accettando valori duplicati.
Penso, a questo punto se non puoi essermi più d'aiuto, di postare un opzione 
di istruzione sulla query in modo che senza l'intervento dell'utente la 
query venga eseguita in toto.
Grazie dell'attenzione e aspetto notizie.
Marco.

"Mark" <SPAM_NO_c...@yahoo.it_TOGLI_SPAM_NO> ha scritto nel messaggio 
news:45b9bc8a$0$3205$4faf...@reader3.news.tin.it...

Ma nella query di accodamento se scrivi che se l'anno esiste di non 
inserirlo la query non da errori!
Qualcosa del tipo:
INSERT INTO CertificatiLP ( ID_Fascicolo )
SELECT Intestazione.ID_Fascicolo
FROM Intestazione LEFT JOIN CertificatiLP ON 
Intestazione.ID_Fascicolo=CertificatiLP.ID_Fascicolo
WHERE (((CertificatiLP.ID_Fascicolo) Is Null));
In questo esempio ID_fascicolo è PK e non viene inserita se c'è gia
Ciao Sabrina

"Mark" <SPAM_NO_c...@yahoo.it_TOGLI_SPAM_NO> ha scritto nel messaggio 
news:45b9bc8a$0$3205$4faf...@reader3.news.tin.it...

Anche se metti il campo Anno come PK se la query è scritta bene con 
l'opzione di inserire i dati anno solo se non sono presenti non dovrebbe 
dare errore!
Ciao Sabrina 

 ha scritto nel messaggio 
news:45bb1664$0$32017$4faf...@reader1.news.tin.it...

Sto per risolvere diversamente con l'aiuto di @Alex. Grazie comunque. - vedi 
Query creazione tabella con chiave primaria da Mark 26.1.2007