Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Emulare CERCA.VERT() in ACCESS97

455 views
Skip to first unread message

wcavalie

unread,
Nov 17, 1998, 3:00:00 AM11/17/98
to
Ho una tabella in cui per Data_Giorno ho inserito varie Valute ( HFL,
$USA, EQU, ecc.)
Ho un'altra tabella Fornitori_Esteri con Codice_Valuta, ecc.
Riesco con query a campi incrociati a beccare per ogni fornitore la propria
Valuta
Non Riesco in nessun Modo (Porc_X!) a beccare il Valore della Valuta in
Base a
Data ee Fornitore .

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

Stefano Bettini

unread,
Nov 17, 1998, 3:00:00 AM11/17/98
to

[Fornitori] IDFornitore, IDValuta (PK ->
IDFornitore)
[Valute] IDValuta, Denominazione (PK -> IDValuta)
[StoricoValute] DataValuta, IDValuta, Valore (PK -> DataValuta +
IDValuta)
[Fatture] IDFattura, DataFattura, IDFornitore (PK -> IDFattura)

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>...

wcavalie

unread,
Nov 18, 1998, 3:00:00 AM11/18/98
to

>
> [Fornitori] IDFornitore, IDValuta (PK ->
> IDFornitore)
> [Valute] IDValuta, Denominazione (PK -> IDValuta)
> [StoricoValute] DataValuta, ((NON C'E'-->)IDValuta), Valore (PK

-> DataValuta +
> IDValuta)
> [Fatture] IDFattura, DataFattura, IDFornitore (PK -> IDFattura)
>

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


Federico Luciani

unread,
Nov 18, 1998, 3:00:00 AM11/18/98
to
wcavalie ha scritto:

> 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 .

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


Stefano Bettini

unread,
Nov 18, 1998, 3:00:00 AM11/18/98
to

wcavalie wrote in message <01be12e4$1d536280$3c302fc1@uno>...

>
>>
>> [Fornitori] IDFornitore, IDValuta (PK ->
>> IDFornitore)
>> [Valute] IDValuta, Denominazione (PK -> IDValuta)
>> [StoricoValute] DataValuta, ((NON C'E'-->)IDValuta), Valore (PK
>-> DataValuta +
>> IDValuta)
>> [Fatture] IDFattura, DataFattura, IDFornitore (PK -> IDFattura)
>>
>
>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)


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


wcavalie

unread,
Nov 18, 1998, 3:00:00 AM11/18/98
to

GRAZIEGRAZIEGRAZIE
Ora leggo con calma
Capisco se ci riesco
Provo
Vi dico
Ciao a Te e Ciao a Te

raffo
Raffaele Farinelli (a proposito ... in Prov. di FERRARA)
wcav...@tin.it

wcavalie

unread,
Nov 19, 1998, 3:00:00 AM11/19/98
to

Caro FEDERICO e Caro STEFANO
ho letto (con Gratitudine)
ho capito in un caso (Stefano)
dovrei far lavorare di più i miei colleghi (Amici) aumentando
anche le probalità di errori di imputazione

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

Stefano Bettini

unread,
Nov 19, 1998, 3:00:00 AM11/19/98
to

wcavalie wrote in message <01be13cb$61305980$3c302fc1@uno>...

>
>Caro FEDERICO e Caro STEFANO
>ho letto (con Gratitudine)
>ho capito in un caso (Stefano)
>dovrei far lavorare di più i miei colleghi (Amici) aumentando
>anche le probalità di errori di imputazione


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


wcavalie

unread,
Nov 19, 1998, 3:00:00 AM11/19/98
to
> 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 ?!?! :)))
>
Forse hai ragione
ed il mio buco è proprio quello di essere rimasto
alla logica fel foglio xls dove gli (amici/colleghi) gli CI calcolavo anche
le date
provo tutto ex novo

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

0 new messages