Newsgroup: it.comp.appl.access
Titolo: IMMISSIONE IN TABELLA DI UN CAMPO NON DIGITATO

Salve essendo un neofita di Access mi trovo in difficoltà ad immettre
un campo ANNO in una tabella, il campo è stato estratto dalla data
fattura, ma non riesco ad aggiornarlo in tabella.
Nome elemento: ANNO
Origine controllo: =year([FT-DFT)]
poi ho provato a inserire nella riga
Prima di aggiornare: Me![FT-ANNO]=ANNO
e non funziona
allora sempre sulla stessa riga ho provato a creare una routine
evento:
Private Sub ANNO_BeforeUpdate (Cancel As Integer)
   Me![FT-ANNO]=ANNO
End Sub
stesso risultato, qualcuno mi può dire dove sbaglio, grazie Toto


ho l'impressione che tu ti confonda con i nomi dei *CAMPI* delle
tabelle ed io nomi dei *CONTROLLI* sulla maschera.
non capisco nel tuo codice perchè esegui Me![FT-ANNO]=ANNO prima
dell'aggiornamento, quando basta che l'origine controllo del tuo
controllo sia impostata a =year([FT-DFT)] (ovviamente il controllo
deve essere collegato al giusto campo della tabella)
cmq io ti consiglio di non seguire questa strada, perchè le regole di
normalizzazione dei database consigliano (o vietano?) di inserire
nella tabella dei campi che siano ricavadili da altri campi.memorizza
quindi soltanto il campo data, quando poi ti servirà saper l'anno
basterà calcolartelo.
ciao


Il controllo =year([FT-DFT]) funziona correttamente e mi prende l'anno
dal campo FT-DFT (data Fattura) solo che non so come fare ad
aggiornare il campo della tabella FT-ANNO che mi serve nell'indice per
evitare che nello stesso anno ci siano due fatture con uguale numero
ma con data diversa.
Ciao grazie


Al sourcecontrol  devi assegnare il nome di campo.
Sulla before update lascia l'istruzione che gia' hai immesso.
Se il sorgente del tuo controllo e' =year([FT-DFT)] come pretendi che ti 
aggiorni la tabella? In questo maodo hai "disassociato" il controllo
-- 
ac
y-1=x

 - Mostra testo tra virgolette -
Scusa ma a questo punto mi sento più stupido che mai
Se io nell origine controllo metto il nome del campo FT-ANNO me lo
devo anche digitare, io invece volevo ricavarlo dalla data


E' proprio per questo che ho detto di lasciare sulla before update della 
data il calcolo dell'anno. E' in quel momento che ne vieni a conoscenza, 
fermo restando che i campi calcolati, tranne casi moooooolto 
particolari, e' meglio non metterli in tabella. Possono essere 
ricalcolati sull'evento di current e se servono per un report basta fare 
derivare il recordsource del report da una query che prepari il campo e 
poi anche li e possibile calcolarlo a livello di formula sul controllo.
-- 
ac
y-1=x



Senti sarò di coccio scusami se insisto ancora ma il tutto non
funziona
considerando che io ho due campi di tabella "FT-DFT che contiene la
data fattura da me digitata"
e "FT-ANNO che è il campo che io vorrei riempire automaticamente con
l'anno della data fattura"
cosa devo inserire nei controlli
Nome lelemento:
Origine controllo:
e Prima di aggiornare:
???

 ???
OrigineControllo di FT-ANNO:FT-ANNO
BeforeUpdate di FT-DFT (anche afterupdate dovrebbe andare bene, una 
delle due)
FT-ANNO = year(FT-DFT)
end sub
-- 
ac
y-1=x

 y-1=x
Buongiorno a tutti, volevo ringraziare Ignazio e Alessandro, che mi
hanno dato una mano a risolvere il problema dell'aggiornamento campi
non digitati.