Newsgroup: it.comp.appl.access
Titolo: storico delle stampe come fare ??

ciao a tutti, mi servo di un Db anagrafico cone relazione 1>molti
per stampare ogni 3 mesi circa alle stesse persone dei prodotti, quindi 
ho una query_Scad che ad ogni stampa periodica mi azzera la data alla 
data di stampa e mi rende disponibile la stampa dopo circa 3 mesi, fin 
qui spero di essermi spiegato... ad ogni buon conto ecco il codice della 
query....(qualsiasi consiglio è ben accetto)
------------------------
SELECT Anagrafe.ID_Anagrafe, Anagrafe.TxTCognome, Anagrafe.TxTNome, 
Anagrafe.TxTCodiceFiscale, Anagrafe.Indirizzo, Tabprodotti.ID, 
Tabprodotti.Prodotto, Tabprodotti.CodASL, Tabprodotti.CodEsenzione, 
Tabprodotti.data_scadenza, Tabprodotti.quantità, 
Max(Tabprodotti.data_erogazione) AS MaxDidata_erogazione, 
Min(DateDiff("d",[data_erogazione],Date())) AS gg, 
IIf(Min(DateDiff("d",[data_erogazione],Date()))>60 And 
Min(DateDiff("d",[data_erogazione],Date()))<91,3,0) AS gg6090, 
(DateAdd("d",[MaxDidata_erogazione],80)) AS Scad
FROM Anagrafe INNER JOIN Tabprodotti ON Anagrafe.ID_Anagrafe = 
Tabprodotti.IdAnagrafica
GROUP BY Anagrafe.ID_Anagrafe, Anagrafe.TxTCognome, Anagrafe.TxTNome, 
Anagrafe.TxTCodiceFiscale, Anagrafe.Indirizzo, Tabprodotti.ID, 
Tabprodotti.Prodotto, Tabprodotti.CodASL, Tabprodotti.CodEsenzione, 
Tabprodotti.data_scadenza, Tabprodotti.quantità
ORDER BY Anagrafe.ID_Anagrafe, Max(Tabprodotti.data_erogazione);
-------------------
ebbene a me servirebbe poter fare 2 cose... ossia poter creare/stampare 
uno storico delle stampe che effettuo ogni 3 mesi, e poi poter stampare 
gli stessi sulle buste da lettera in modo da inviare via posta la 
stampa...
grazie dell'aiuto...
Gluigi
 

 ha scritto nel messaggio 
news:yhAWi.161258$U01.1...@twister1.libero.it...

Che intendi per "...storico delle stampe..."? Salvare i report stampati? 
Salvare la selezione dei dati che stampi? O cosa?
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:fgek2h$1f4

---------------
mi serve salvare e stampare la selezione dei dati che stampo...
in sostanza penso che le fasi siano 3...
(purtroppo il problema è l'azzeramento della data di stampa dei 
selezionati....)
perchè quando apro il DB e vedo che nella FrmScadenze ho 50 utenti da 
stampare
compresi tra >61gg<90gg devo poter stampare:
1- le ricette per ogni utente in scadenza;
2- (lo storico della stampa) quindi salvare i dati in una tabella/query, 
questi dati mi servirebbero per l'ultima fase ossia
3- stampare gli indirizzi dell'utente sulle buste...
spero di essermi spiegato....
Ciao 

 Ciao
Non so'; comunque puoi utilizzare delle tabelle dove salvare i dati 
selezionati con delle query di accodamento.
Altrimenti; se devi solo (poi) stampare gli indirizzi puoi creare subito 
l'etichetta (altro report).
Oppure, stampare il report creando un pdf, creare l'etichetta o accodare i 
record (solo dell'etichetta) nella tabella.
Dipende se ho capito...
Ciao.
-- 
Sergio MAZZA 

 Dipende se ho capito...
--------------
credo che hai capito.... e cmq dimmi se anche io ho capito..:-))
penso il primo passo da fare sarebbe (se funziona) poter fare una query 
di accodamanto dove salva i dati della stampa, (mi potresti spiegare 
come fare ?)...
dopo di che in base a questa tabella stampare i dati che interessano....
il problema però penso si ripresenti dopo i fatidici 3 mesi, quando devo 
poter stampare gli ulteriori utenti...se li accoda come faccio a vedere 
quali sono ??
qualche routine di data per il report ??
ciao

 ciao
Ciao.
-- 
Sergio MAZZA 

 Non c'è nessuna routine da inventarsi...
--------------
Ciao Sergio e scusa se ti rispondo solo ora... (dal lavoro) ma in questo 
fine settimana non sono proprio stato in casa....ho cmq provato a 
smanettare con il db ed ho visto (ora non ricordo l'errore)
ma con la query di accodamento mi dava qualche problema...
è possibile fare questa cosa anche con una query di creazione 
tabella...??
se affermativo poi dovrò chiederti il resto...
Ciao

 Ciao
Non cambia (quasi) nulla...
Ciao.
-- 
Sergio MAZZA 

 qualche routine di data per il report ??
<Non è difficile; si tratta di una query di accodamento con un campo
<(volendo) calcolato che contiene il valore predefinito Date() (es.
<dataStampa: date()).
<Non c'è nessuna routine da inventarsi...
qui non ti seguo +....vediamo se ho capito e procedo bene....
quindi per stampare lo storico dovrei prima fare le stampe delle 
ricette, poi
dovrei aggiornare la tabStorico con la QryStorico ed infine magari con 
una query creata ad hoc potrei fare le stampe dello storico inserendo 
nella query between da data a data...
quindi creare un report basato su questa queytabStorico, giusto ?
ciao e grazie 

 ciao e grazie
Ciao.
-- 
Sergio MAZZA 

 riconoscibile che li distingua dagli altri) nella tabella storico...
--------------
ok... fatto (quasi tutto)....perň vorrei fare una cosa.... siccome il Db 
č 1>molti
mi capita che quando stampo lo storico mi esce lo stesso utente ripetuto 
per le volte che ha
+ prodotti ad esso asegnato...
come posso produrre il report di stampa con il cognome dell'utente e i 
molti prodotti ad esso assegnato...??
spero di essermio spiegato...
Ciao 

 Ciao
Ciao.
-- 
Sergio MAZZA 

 per il lato "molti".
------------
sinceramente quest'ultima non l'ho capita...
io pensavo di fare una Sum in report per avere un solo utente (vedendo 
l'ID)
e visualizzare i prodotti ad esso assegnati... non si può fare ??
Ciao 

 e visualizzare i prodotti ad esso assegnati... non si può fare ??
Con la Sum sull'id non ci fai nulla; casomai puoi indicare nella casella di 
testo associata al nome (o id, o quello che ti serve) di non ripetere lo 
stesso valore...


 non ripetere lo stesso valore...
puoi farmi un esempio pratico.... non sono praticissimo di access....
grazie
Giuseppe 

 Giuseppe
Ciao.
-- 
Sergio MAZZA 

 hai un'altra?
Ciao Sergio... allora mi stò incartando... con la query di creazione 
tabella andava tutto bene... da quando ho creato la query di accodamento 
ho il problema che mi raddoppia i record... il codice che ho è come vedi 
sopra...faccio un esempio dell'errore...
Id   Cognome  etc...
1     Pippo      50
2     Pluto       30
quando lancio la query per accodare un terzo record mi esce
1     Pippo      50
2     Pluto       30
1     Pippo      50
2     Pluto       30
3     ciccio      20
Ciao
ps- ho scritto un'altro post "query accodamento che non funziona" 
spiegando la stessa cosa...
Giuseppe

 spiegando la stessa cosa...
L'ho visto e non capisco il perché.
Io proseguo qui, fino a quando tu non dirai che questo post è chiuso...


 -- 
Giuseppe 

 ha scritto nel messaggio 
news:wtVYi.167694$U01.1...@twister1.libero.it...

----------
ps... a proposito ma non è che nelle proprietà della query devo mettere 
anche in relazione la TabStorico quindi creare un Join ??
Ciao 

 ho tentato varie volte ma dice che manca sempre qualcosa....
Non è difficile; la query di accodamento che hai già, nella colonna dell'id 
alla riga "condizione" ci inserisci: not in (select id from Archivio)
Se Archivio è il nome della tabella dove accodare i file...


 Ciao
No; non serve...
Ciao.
-- 
Sergio MAZZA 

 Se Archivio è il nome della tabella dove accodare i file...
---------------
scusa Sergio... ma dove cavolo stà "condizione" ??
leggo solo:
campo
tabella
ordinamento
accoda a:
criteri
oppure
Ciao 

 oppure


 Sergio MAZZA
-------------
argghhh non funziona... accoda 0 record...!!
Not In (select id from TabStorico)
come mai ??
forse è un problema di ID ???
Ciao 

 forse è un problema di ID ???
Forse è un problema di nomi di tabella; si chiama TabStorico?
Hai messo il criterio(condizione) nella colonna dell'id?
Incolla l'sql.


 Incolla l'sql.
-------------
certo la tabella dove dovrebbe incollare i dati si chiama TabStorico
ecco il codice:
INSERT INTO TabStorico ( ID_Anagrafe, N_Protocollo, TxTCognome, TxTNome, 
TxtComResidenza, Indirizzo, Cap, IdAnagrafica, data_erogazione, 
Prodotto, quantità )
SELECT Anagrafe.ID_Anagrafe, Anagrafe.N_Protocollo, Anagrafe.TxTCognome, 
Anagrafe.TxTNome, Anagrafe.TxtComResidenza, Anagrafe.Indirizzo, 
Anagrafe.Cap, Tabprodotti.IdAnagrafica, Tabprodotti.data_erogazione, 
Tabprodotti.Prodotto, Tabprodotti.quantità
FROM Anagrafe INNER JOIN Tabprodotti ON Anagrafe.ID_Anagrafe = 
Tabprodotti.IdAnagrafica
WHERE (((Anagrafe.ID_Anagrafe) Not In (select id_anagrafe from 
TabProdotti)) AND ((Tabprodotti.IdAnagrafica) Not In (select id from 
TabProdotti)))
ORDER BY Anagrafe.ID_Anagrafe, Tabprodotti.data_erogazione;

 ORDER BY Anagrafe.ID_Anagrafe, Tabprodotti.data_erogazione;
E che c'entra l'And?
Ciao.
-- 
Sergio MAZZA 

 E che c'entra l'And?
----------------
se ti riferisci all' And del Where penso perchè i dati di TabStorico 
sono in origine sia in Anagrafe che in TabProdotti....
Ciao 

 Ciao
Pensi male.
Il confronto (criterio) lo devi fare solo con la tabella Anagrafe...
Ciao.
-- 
Sergio MAZZA 

 Il confronto (criterio) lo devi fare solo con la tabella Anagrafe...
-------------
Ciao Sergio... rieccomi a ripresentare il problema... da casa non posso 
scrivere in quanto ho il Pc fuori uso....
se ho capito bene il criterio l'ho inserito nell'Id di Anagrafe...ma il 
problema permane....
ecco il codice... dove sbaglio ???
INSERT INTO TabStorico ( ID_Anagrafe, N_Protocollo, TxTCognome, TxTNome, 
TxtComResidenza, Indirizzo, Cap, IdAnagrafica, data_erogazione, 
Prodotto, quantità )
SELECT Anagrafe.ID_Anagrafe, Anagrafe.N_Protocollo, Anagrafe.TxTCognome, 
Anagrafe.TxTNome, Anagrafe.TxtComResidenza, Anagrafe.Indirizzo, 
Anagrafe.Cap, Tabprodotti.IdAnagrafica, Tabprodotti.data_erogazione, 
Tabprodotti.Prodotto, Tabprodotti.quantità
FROM Anagrafe INNER JOIN Tabprodotti ON Anagrafe.ID_Anagrafe = 
Tabprodotti.IdAnagrafica
WHERE (((Anagrafe.ID_Anagrafe) Not In (select id from TabStorico)))
ORDER BY Anagrafe.ID_Anagrafe, Tabprodotti.data_erogazione;
Ciao

 Ciao
Ciao.
-- 
Sergio MAZZA 

> ORDER BY Anagrafe.ID_Anagrafe, Tabprodotti.data_erogazione;
---------------
scusa Sergio... continuo a non capire... la TabStorico contiene 
ID_Anagrafe !!
ciao

 ciao
Ciao.
-- 
Sergio MAZZA