Tutto ciň lo vorrei fare per togliermi dalle mani un foglio XLS
che devo sempre smanettare prima di stamparlo, a seconda che ci sia un
fornitore
in + o in - o che ci siano + date o meno date di fattura.
GGRRAAZZIIEE per ogni aiuto!!!
Raffaele Farinelli
wcav...@tin.it
Come stradiavolo fai a non beccare il valore della valuta puntando una
fattura.
O forse sono io che non ho afferrato il problema......
cos'e` di preciso che trovi difficoltoso ?
Bye
wcavalie <wca...@tin.it> scritto nell'articolo
<01be1207$790fc420$3c302fc1@uno>...
GGGRRRAAAZZZIIIEEE per la Gentilezza!
Forse sono io che a forza di smenarci non riesco più a capire cosa sto
facendo..
mi permetto di proporvi le TRE tabelle (chmifnnschf)
PRIMA:
Cod_For Anag_For Cod_Valuta Cod_Azienda
2 FONFISK HANSTHOLM A/S 3 7
1 BERTUS - DEKKER SEAFOOD B.V. 2 7
SECONDA:
GIORNI HFL DKK F#F ESB KNV EQU GBP $USA
18/5/98;875,06;258,90;294,05;11,61;234,64;1942,18;2858,38;1761,93;
19/5/98;875,04;258,82;294,06;11,61;234,53;1942,95;2857,48;1757,69;
TERZA:
Cod_Valuta Cod_Anag Anag_Valuta
1 "LIT" "Lire Italiane"
2 "HFL" "Fiorini Olandesi"
3 "DKK" "Corone Danesi"
In una Maschera in cui inserisco Data Fattura (del Fornitore X) vorrei
avere il
VALORE alla Data(=DataFattura) del HFL o DKK o ecc. in base a
PRIMA_Cod_Valuta .
Il problema mi sembr... non so neanch'io.....
Non riesco a spiegarmi meglio (crashincorso)
Preciso (e sto diventando troppo peso) che le vostre Idee possono anche
prevedere una
ristrutturazione diversa delle tabelle (l'importante è il risultato)
Non so se ho scritto troppo - ho poca esperienza di NG - chiedo pazienza -
accetto Consigli e Critiche-
GGRRAAZZIIEE per ogni aiuto!!!
Raffaele Farinelli (raffo)
wcav...@tin.it
Molto piu' chiaro. Grazie.
Vuoi sapere il cambio, per la valuta scelta dal cliente,
nel giorno della fattura. Giusto?
La soluzione dipende da come gestisci la tab dei cambi
SECONDA;
1) nella tab. SECONDA hai i cambi per tutti i giorni
dell'anno (!!!), la soluzione e' piu' semplice;
2) hai il cambio solo in determinati giorni, la cosa si
complica!
Premesse
I nomi dei campi nella SECONDA sono identici ai Cod_Anag
della TERZA
Nella form hai un ctrl che visualizza il Cod_Anag relativo
al cliente
Ometto come ottenere Cod_Anag una volta sel. il cliente, do
per scontato che tu sappia come fare, se non e' cosi'
faccelo sapere.
Caso 1
nell'evento AfterUpdate del ctrl DataFattura scrivi una
procedura del tipo
dtFattura = Format(Me![DataFattura], "mm/dd/yyyy")
strSQL = "SELECT SECONDA.* FROM SECONDA " & _
"WHERE (((SECONDA.Giorno)=#" & dtFattura &
"#));"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSQL)
'Uso l'insieme fields per puntare al campo cercato.
VEDI HELP
cambioCercato = rst.Fields(Me![Cod_Anag]).Value
a questo punto la var cambioCercato contiene il valore
cercato e ci fai quello che ti pare.
Caso 2
le cose si complicano perche' la data della fattura
potrebbe non esserci nella SECONDA, quindi dovresti andare
al giorno prec/succ piu' vicino.
L'unico modo per fare questo, penso, sia creare una qualche
funzione che ti restituisce tale record.
Tempo fa ho fatto qualcosa di simile, fammi sapere se ti
serve.
Comunque una volta identificato il record il cambio lo
trovi come sopra.
Spero di essere stato chiaro.
Federico
fluc...@tin.it
Esatto....
Se "normalizzi" la tabella dei cambi trasformandola in:
Data, IDValuta, Valore PK=(Data + IDValuta)
e se in particolare hai un valore valuta x ogni giorno possibile
la query e` banale....
Se al contrario non hai valori x ogni giorno sicuramente ci si
risale prima tramite dei find...
Cmq direi che la normalizzazione dello "storico valute" e`
assolutamente necessaria...
Quella che x te ora e` la tabella [SECONDA] la otteresti senza
problemi con una query a campi incrociati....
Bye
raffo
Raffaele Farinelli (a proposito ... in Prov. di FERRARA)
wcav...@tin.it
nell' altro (Federico)
presumo di aver capito ma nel mare della mia ignIoranza ci sono pochissime
lacune
(a proposito esatto il riferimento a funzione di ricerca cambio precedende
se non
presente dataCambio = dataFattura)
vi propongo di inviarvi il DB (11,rotti K) per farvi un idea precisa
su AZIENDE
Fornitori x AZIENDA
Fatture per Fornitore
Cambi per Data Fatture Fornitore
se siete d'accordo (scongiuri & preghiere) datemi
Ok, vabbè, massì valà!
Grazie
Perche` mai ?
Che differenza di lavoro c'e` a fare una tabella........
SECONDA:
GIORNI HFL DKK F#F ESB KNV EQU GBP $USA
18/5/98;875,06;258,90;294,05;11,61;234,64;1942,18;2858,38;1761,93;
19/5/98;875,04;258,82;294,06;11,61;234,53;1942,95;2857,48;1757,69;
rispetto ad una....
SECONDA:
Giorno IDValuta Valore
18/05/98 HFL 875,06
18/05/98 DKK 258,90
18/05/98 F#F 294,05
........
Altrimenti la tabella valute che te la sei fatta a fare ?
Che non ti passi x la testa di dirmi che l' utente deve inserire
n-volte la data, eh ?!?! :)))
>vi propongo di inviarvi il DB (11,rotti K) per farvi un idea precisa
>su AZIENDE
> Fornitori x AZIENDA
> Fatture per Fornitore
> Cambi per Data Fatture Fornitore
>se siete d'accordo (scongiuri & preghiere) datemi
>
>Ok, vabbè, massì valà!
Non e` che non lo voglia, ma ho afferrato l' architettura
delle tabelle che ti ritrovi e ti confermo che e` sbagliata
non essendo normalizzata...
Poi con qualche artificio i dati si riescono ad utilizzare
egualmente ma cio` non toglie che sia fatta male...
Se hai necessita di ricostruire la visione precedente
puoi sempre fare una query a campi incrociati tra
la tabella valute e la tabella SECONDA (un po` scarsino
come nome, forse StoricoValute andava meglio...)
Ciao
Dammi un SECONDO di credito!!!!
il nome Tab non è "SECONDA" e nemmeno "2°"
GGGGGRRRRRAAAAAZZZZZIIIIIEEEEE
raffo
se comunque ti viene voglia ..... ti posso mandare oltre al DB anche gli
XLS ;-)))))))))
ciaao