Newsgroup: it.comp.appl.access
Titolo: Backup Fatture

Dopo i molti consigli acquisiti, avrei un problema per fare una copia
di backup delle fatture emesse da una azienda. I dati rilevanti vengono
estratti dalla query che gestisce la stampa della fattura (preparata
all'uopo una query di accodamento). Il problema è: come faccio ad
evitare di accodare più volte la stessa fattura? Questa operazione
dovrà essere automatica in fase di stampa della fattura e vorrei
evitare interventi da parte dell'utilizzatore.


Riferisciti all'id
se non c'è l'accodi altrimenti nisba
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

cioè con una verifica DLookup o DCount? (penso la prima cmq).

 cioč con una verifica DLookup o DCount? (penso la prima cmq).
Ci sono varie tecniche
In ogni caso ci potrebbe anche essere
select id ftom tuatabella not in (select id from tuobackup)
se la tabella č collegata.
Ma non conosco la tua struttura


pensavo ad una tbl non collegata per il backup.

 ha scritto nel messaggio

-------------
Per prima cosa non mi sembra che il tuo sia un problema di backup (nel qual 
caso si fa la copia della base dati intera e via)
Il tuo mi sembra invece un problema di verifica delle operazioni, in questo 
caso è ovvio che basta un paioi query di accodamento basata sull'ID Fattura 
che accodino l'intestazione fattura e le righe.
Una volta creata una copia non mi risulta chiaro quale sia il problema 
dell'evitare l'accodamento della stessa fattura, una volta che hai copiato 
l'ID è semplicissimo verificare se la copia esiste già oppure no.
D'altro canto il problema che sorge è che nel caso vengano fatte modifiche 
alla fattura bisogna stabilire se mantenere la vecchia copia o sostituirla 
con la fattura modificata.
Davide
-- 
www.gestionedati,com 

In effetti l'obiettivo di questa copia di sicurezza è legato al
problema delle variazioni del listino prezzi che avrebbe un effetto
anche sulle vecchie fatture. Adesso non vorrei stravolgere il db
costruito e l'intenzione era quella di accodare i dati delle fatture su
una tbl non associata per poi estrarre i dati (di archivio, appunto)
solo da quella tabella.

 ha scritto nel messaggio

-------------------------
AAAAAARRRRGGGGGHHHHH!!!
non ti sono comparsi messaggi ERROR da tutte le parti nel db?
Se ho capito bene quanto dici hai sbagliato la struttura delle tabelle.
Il prezzo di listino presente nel tuo db deve servire solo come origine del 
dato e non come campo di riferimento.
Cioè quando inserisci un articolo nella riga fattura tu devi COPIARE il 
prezzo di listino nel campo prezzo della riga e non usare il prezzo di 
listino per valorizzare la fattura!
Ciao
-- 
www.gestionedati,com 

non ho avuto particolari errori. interessante il tuo consiglio del
copiare il prezzo di listino. tanto per rimanere in tema, mi
spiegheresti anche come fare? magari con qualche piccola modifica
(spero) dovrei riuscire a risolvere questo problemino. grazie
dell'interessamento.

 dell'interessamento.
Semplicemente quando inserisci il codice articolo, da codice vai a prendere 
il prezzo e lo copi nel campo prezzo della riga.
Questo è l'unico modo di strutturare il db che ti garantisce di conservare 
l'informazione, si chiama "denormalizzazione" cioè non normalizzato. A prima 
vista può sembrare che tu abbia una ridondanza dato che il prezzo è 
riportato sia sul listino sia sulla riga fattura, ma non è così.
Ti do qualche altro spunto:
1. Puoi variare il listino senza alterare le fatture precedenti
2. Puoi variare liberamente il prezzo in una riga ad un particolare cliente 
senza alterare il listino
3. Puoi utilizzare come origine del prezzo diversi listini in funzione del 
cliente o di altri parametri e mettere quel prezzo calcolato in quel momento 
e con quei parametri nella riga dove in future visualizzazioni della stessa 
sarà facilmente accessibile.
Ciao
Davide
-- 
www.gestionedati,com 

Avevo sentito parlare di "denormalizzazione", ma non avevo mai appurato
la questione. Effettivamente in quetso modo risolverei parecchi
problemi, primo tra i quali la gestione del listino prezzi (che
attualmente ho "bloccato" in attesa di questo spunto...!).
Adesso vorrei chiederti quale è un esempio di codice (sono un newbie
in... parecchie cose) per fare la copia del campo prezzo. Cioè secondo
quanto ho capito: riconosce l'articolo inserito, lo cerca nella tbl del
listino prezzi, lo copia in un'altra tabella. Ma è per l'appunto farlo
in VBA che mi preoccupa.

 ha scritto nel messaggio

------------------
Ti suggerisco di riportare almeno parzialmente il testo cui rispondi.
Ascolta, se il prezzo è unico e collegato all'articolo e il controllo in cui 
inserisci l'articolo nella fattura è una casella combinata puoi inserire il 
prezzo nella query della combo e poi da codice usare l'evento after update 
(dopo aggiornamento) del controllo inserendo qualcosa come:
Me.TuoPrezzo=Me.TuoArticolo.Columns(2)
dove presumo che la terza colonna (2) sia il prezzo.
Se invece gestisci listini che variano a seconda del cliente puoi sempre 
sfruttare lo stesso evento ma inserire una o più DLookUp(..) che vadano a 
pescare il prezzo che ti interessa dal listino.
Peraltro nelle mie righe fattura inserisco tre campi:
PrezzoListino
Sconto
Prezzo
Nel campo PrezzoListino inserisco appunto il prezzo di listino applicato (ho 
sempre svariati listini che cambiano per cliente o gruppo di clienti) così 
ho una traccia storica
Nel campo sconto inserisco l'eventuale sconto che voglio aplicare
Nel campo prezzo inserisco l'eventuale prezzo netto (comanda sullo sconto)
Ciao
Davide
-- 
www.gestionedati,com