Newsgroup: it.comp.appl.access
Titolo: Modifiche record, effetto su tabelle collegate e valori predefiniti

Premesso che sono alle prime armi con Access ed a zero con il
linguaggio SQL, ma avendo urgenza di imparere per completare un DB vi
prego di aiutarmi a risolvere i problemi che sto per descrivervi con
degli esempi.
PROBLEMA 1
Supponiamo di avere un DB composto da 3 tabelle di cui per ognuna
riporto i campi
TB_Risorse
IDRisorsa
NomeRisorsa
IDTipoRisorsa
TB_TipiRisorse
IDTipoRisorsa
TipoRisorsa
CostoGiornata
TB_Progetti
IDProgetto
NomeProgetto
IDRisorsa
Giornate
il mio obiettivo è calcolare il costo di ciascun progetto con la
formula CostoGiornata*Giornate
Tuttavia nel corso del tempo l'IDTipoRisorsa associato ad una
determinata Risorsa può cambiare: io avrei bisogno che a seguito di
una cambiamento i vecchi progetti continuino ad essere valorizzati al
vecchio costo e quelli nuovi al nuovo, cosa devo fare per ottenere
questo risultato? E cosa devo fare invece per ottenere il risultato
contario ovvero che l'aggiornamento di un CostoGiornata produca un
aggiornamento a cascata del costo di tutti i progetti?
Ad esempio poniamo che i tipi riosorsa siano:
ProjectManager => costo 500
Consulente => costo 250
Assistente => costo 100
e che la risorsa Pippo sia un Assistente e che dalla data x venga
promosso Consulente.
PROBLEMA 2
Supponiamo ora di inserire in TB_Progetti il campo CostoStandard in cui
voglio che venga proposto come valore predefinito (ma comunque
modificabile) il CostoRiorsa associato alla risora in base al suo
TipoRisorsa: cosa devo fare per ottenere questo risutato?
Tornando ai dati d'esempio di prima in un progetto a cui viene
assegnata la risorsa Pippo (che ormai è stato promosso consulente)
vorrei che mi venisse proposto come valore predefinito nel campo
CostoStandard 250 (con possibilità comunque di modificarlo
manualmente. In questo caso voglio che variazioni di presso abbiano
effetto solo sui nuovi Progetti che andrò a creare in futuro e non su
quelli già esistenti.
Grazie in anticpo a chiunque sarà consì gentile da offrirmi il suo
aiuto ;)))

 PROBLEMA 2



Ciao 
Nella maschera collegata a  TB_Progetti sull'evento [Dopo aggiornamento]
del controllo collegato a [IDRisorsa] puoi inserire qualche riga di codice
per esempio utilizzando la funzione [DLookup], vedi Help,  per popolare il
controllo associato al campo [CostoStandard] con il costo attuale della
risorsa che verrà storicizzato e mantenuto anche se cambierà il prezzo
della risorsa. per attualizzarlo invece puoi rilanciare lo stesso codice
per esempio da pulsante e per aggiornarli tutti lanciare una query di
aggiornamento.
Ciao
Luigi
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Grazie mille Luigi,
però di assicuro che io sono veramente alle prime armi quindi sperando
di non approfittare troppo della tua pazienza di pregherei di guidarmi
"passo dopo passo" in quello che devo fare perchè così non riesco a
raccapezzarmi :(((
Io riuscirei ad inserire qualche riga di codice solo facendo il copia
incolla del codice scritto da qualcun'altro :(((
Grazie ancora


 incolla del codice scritto da qualcun'altro :(((
Se ritieni che la struttura esistente sia sufficiente a gestire tutti i
casi puoi anche provare in questo modo:
Crei una query e nella  struttura inserirai la tabella T_Risorse e la
Tabella T_Tipo_Risorsa.
Trascini sulla griglia il campo ID_Risorsa,ed il campo Nome_Risorsa della
tabella T_Risorse ed il campo Costo_Giornata della tabella T_Tipo_Risorsa.
Crei trascinando una relazione tra i 2 campi ID_Tipo_Risorsa.
Salvi la query e crei in T_Progetti una casella combinata che chiamiamo
CcbRisorsa, come origine riga gli assegni la query appena creata, colonna
assogiata 1, origine controllo ID_Risorsa.
Nelle propretà di evento [Dopo Aggiornamento] di CcbRisorsa scriverai:
Dim CostoAttualeRisorsa as Currency 'Dichiari variabile tipo valuta
CostoAttualeRisorsa = me!CcbRisorsa.column(2) 'prende il valore della
terza  colonna
Me!CostoGiornata=CostoAttualeRisorsa 
Fai queste prove e poi vediamo, ciao


 Me!CostoGiornata=CostoAttualeRisorsa 

Dimenticavo di dirti che se vuoi visualizzare nella casella combinata il
Nome_Risorsa, devi impostare la proprietà di formato [Larghezza Colonna]
della prima colonna a zero


 Me!CostoGiornata=CostoAttualeRisorsa 

Dimenticavo di dirti che se vuoi visualizzare nella casella combinata il
Nome_Risorsa, devi impostare la proprietà di formato [Larghezza Colonna]
della prima colonna a zero


 costi giornata.
non so se questo mi può aiutare perchè un ulteriore complicazione a
cui io non ho fatto cenno prima è che comunque devo confrontare dati
di Budget e Consuntivo ed analizzare gli Scostamenti, e può accadere
che le risorse associate ad un progetto in fase di pianifcazione siano
diverse da quelle che poi ci lavorano effettivamente
 
Grazie ancora ;)
Gianluca

 Me!CostoGiornata=CostoAttualeRisorsa
ho provato a fare le prove che mi hai sufggerito ma arrivato a questo
punto mi sono perso :(((
come faccio a creare una casella combinata in una tabella???
grazie mille x la pazienza
gianluca

 gianluca
Ciao
Scusa ma, anche se si può creare una casella combinata in una tabella
tramite la proprietà [Ricerca] del campo, io ho scritto erroneamente
T_Progetti mentre intendevo [M_Progetti] cioè la maschera associata alla
tabella in cui immagino tu intenda inserire i dati.
Saluti
