Access: come effettuare una certa operazione?

martedì 23 novembre 2004 - 20.40

tom tom Profilo | Newbie

Salve sono nuovo del forum e utilizzo access da qualche mese. Mando un saluto a tutti. Ho necessità di approntare un database per il mio lavoro. Ciò che mi interessa conoscere è questo:
su questo database devo registrare alcune pratiche o documenti. Queste pratiche sono dirette a piu destinatari e prevedono per il loro compimento delle spettanze. Le tariffe sono di due tipi. La prima dipende dal numero dei destinatari della pratica, l’altra dalla distanza che c’è dal mio ufficio al luogo in cui vi sono questi destinatari. Le due tariffe quindi sono indipendenti tra di loro, ma dipendono entrambe da un terzo fattore e cioè se la pratica sia urgente o meno. Cioè se per esempio la pratica è urgente ed è diretta a due persone il primo tipo di tariffa sarà di un tipo, mentre se la pratica non è urgente ed è sempre diretta a due persone la tariffa sarà differente rispetto alla prima, nonostante il numero dei destinatari sia uguale. La stessa cosa vale anche per il secondo tipo di tariffa. Premesso ciò, vorrei che l’inserimento delle tariffe non avvenga digitando l’importo cifra per cifra ma che gli importi vengano visualizzati in automatico digitando nel primo caso il numero dei destinatari e nel secondo la distanza. Ma non è finita qui; vorrei che una volta impostata l’urgenza o meno della pratica (magari con un campo si/no) access capisca a quali tariffe debba riferirsi, cioè a quelle urgenti o a quelle non urgenti. Io ho provato a effettuare delle relazioni tra tabelle (ne ho create varie che contengono i singoli importi) ma non ottengo il risultato voluto. Un’altra piccola cosa. Come faccio a far si che all’apertura della maschera dove inserisco i dati il cursore si posizioni automaticante sulla barra di scorrimento dei records?
Spero di essermi spiegato e che qualcuno mi possa aiutare. Grazie

Brainkiller Profilo | Guru

Ciao,
:) rido perchè non è molto facile capire da un testo così effettivamnete qual è il problema. O meglio il problema si capisce ma si focalizza poco. Puoi fare degli esempi pratici e/o numerici ?

In genere creare relazioni non è molto complicato, però bisogna avere in testa bene il problema.

Aspettiamo tue notizie.

ciao
david

tom tom Profilo | Newbie

Grazie per l'attenzione, cercherò di essere il più pratico possibile. Nel mio lavoro per ogni pratica evasa il compenso è formato da due voci.
VOCE 1: si quantifica in base al numero di persone verso le quali va sbrigata la pratica.
VOCE 2: è quella che volgarmente si chiama trasferta e si basa su distanze kilometriche.
Entrambe le voci possono essere maggiorate in base alla presenza di un altro fattore (urgenza).
Io ho fatto un database nel quale vi è una tabella principale (A) con i vari campi testo, data, ecc e poi due coppie di tabelle, che chiamo B1-B2 e C1-C2. Sono 4 tabelle distinte tra loro, ma le indico in coppia per spiegarmi meglio. Tutte le 4 tabelle sono formate da un campo contatore ed uno valuta. Nelle tabelle B1e B2 sono elencate due serie di tariffe che si riferiscono alla VOCE 1. Nella prima serie sono elencate le tariffe urgenti nella seconda quelle non urgenti. Analogamente l'altra coppia C1-C2 è riferita alla VOCE 2.
B1 B2 C1 C2
1 persona 50(urg) 25 (non urg) 1 km 10(urg) 5(non urg)
2 persone 70(urg) 50 (non urg) 2 km 17(urg) 9(non urg)
e cosi via.
La variabile persone e kilometri è rappresentata dal campo contatore.
Ora il fattore urgenza determina l'utilizzo di una sola tabella per coppia, o B1-C1 o B2-C2, cioè o le tariffe urgenti presenti in ognuna delle due coppie o quelle non urgenti. Ho creato quindi nella tabella principale (A) 4 campi numerici e ognuno l'ho relazionato al campo contatore delle tabelle che contengono le tariffe. Poi ho immesso nella maschera di inserimento dati i 4 campi numerici della tabella esterna e i corrispondenti campi valuta delle tabelle primarie. Inserendo il numero dei destinatari e i kilometri nei campi numerici ottengo in automatico sui campi valuta la tariffa corrispondente. Ma il fattore urgenza fa si che per ogni record serva soltanto una tabella per ogni coppia. O le tariffe urgenti o quelle non urgenti (o B1-C1 o B2-C2). Il problema è la presenza nella maschera, almeno per come è strutturata ora, di tutti e quattro i campi numerici e valuta, ma in realtà per ogni record me ne serviranno soltanto due. Per cui la mia idea è o che, nella maschera, dei quattro campi numerici e valuta due vengano bloccati e inibiti in base alla selezione di urgenza(vero) o non urgenza(falso), quindi un'espressione del tipo se il campo urgenza corrisponde a vero blocca e inibisci i campi numerici e valuta che contengono tariffe non urgenti e se impostato su falso blocca e inibisci i campi numerici e valuta delle tariffe urgenti o, se fosse possibile, visualizzare nella maschera soltanto due coppie di campi numerici e valuta (una per i destinatari e un'altra per le distanze) e che, definendo record per record l'urgenza o meno, si collegassero ad una o all'altra coppia di tabelle tariffe che serviranno (destinatari e distanze urgenti o destinatari e distanze normali). Spero di essere stato più chiaro e che continuerai ad avere pazienza. Grazie

tom tom Profilo | Newbie

Grazie per l'attenzione, cercherò di essere il più pratico possibile. Nel mio lavoro per ogni pratica evasa il compenso è formato da due voci.
VOCE 1: si quantifica in base al numero di persone verso le quali va sbrigata la pratica.
VOCE 2: è quella che volgarmente si chiama trasferta e si basa su distanze kilometriche.
Entrambe le voci possono essere maggiorate in base alla presenza di un altro fattore (urgenza).
Io ho fatto un database nel quale vi è una tabella principale (A) con i vari campi testo, data, ecc e poi due coppie di tabelle, che chiamo B1-B2 e C1-C2. Sono 4 tabelle distinte tra loro, ma le indico in coppia per spiegarmi meglio. Tutte le 4 tabelle sono formate da un campo contatore ed uno valuta. Nelle tabelle B1e B2 sono elencate due serie di tariffe che si riferiscono alla VOCE 1. Nella prima serie sono elencate le tariffe urgenti nella seconda quelle non urgenti. Analogamente l'altra coppia C1-C2 è riferita alla VOCE 2.
B1 B2 C1 C2
1 persona 50(urg) 25 (non urg) 1 km 10(urg) 5(non urg)
2 persone 70(urg) 50 (non urg) 2 km 17(urg) 9(non urg)
e cosi via.
La variabile persone e kilometri è rappresentata dal campo contatore.
Ora il fattore urgenza determina l'utilizzo di una sola tabella per coppia, o B1-C1 o B2-C2, cioè o le tariffe urgenti presenti in ognuna delle due coppie o quelle non urgenti. Ho creato quindi nella tabella principale (A) 4 campi numerici e ognuno l'ho relazionato al campo contatore delle tabelle che contengono le tariffe. Poi ho immesso nella maschera di inserimento dati i 4 campi numerici della tabella esterna e i corrispondenti campi valuta delle tabelle primarie. Inserendo il numero dei destinatari e i kilometri nei campi numerici ottengo in automatico sui campi valuta la tariffa corrispondente. Ma il fattore urgenza fa si che per ogni record serva soltanto una tabella per ogni coppia. O le tariffe urgenti o quelle non urgenti (o B1-C1 o B2-C2). Il problema è la presenza nella maschera, almeno per come è strutturata ora, di tutti e quattro i campi numerici e valuta, ma in realtà per ogni record me ne serviranno soltanto due. Per cui la mia idea è o che, nella maschera, dei quattro campi numerici e valuta due vengano bloccati e inibiti in base alla selezione di urgenza(vero) o non urgenza(falso), quindi un'espressione del tipo se il campo urgenza corrisponde a vero blocca e inibisci i campi numerici e valuta che contengono tariffe non urgenti e se impostato su falso blocca e inibisci i campi numerici e valuta delle tariffe urgenti o, se fosse possibile, visualizzare nella maschera soltanto due coppie di campi numerici e valuta (una per i destinatari e un'altra per le distanze) e che, definendo record per record l'urgenza o meno, si collegassero ad una o all'altra coppia di tabelle tariffe che serviranno (destinatari e distanze urgenti o destinatari e distanze normali). Spero di essere stato più chiaro e che continuerai ad avere pazienza. Grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5