Newsgroup: it.comp.appl.access
Titolo: operazioni tra celle

salve a tutti,
è possibile fare in modo che ad ogni apertura del database una cella di una
determinata tabella assuma un valore in base all'operazione di differenza
tra la data di sistema ed un'altra cella?
Mi spiego:
la cella "Idoneo" assume il valore "2"  se la differenza tra la data di
sistema e la cella "data_scad" è > di 20 gg
Grazie
Michele

 Michele
Creati una macro "Autoexec", ed una maschera che abbia il tuo Campo
"Idoneo". Valorizza il tuo campo tramite codice sull'evento Apertura della
maschera. In Autoexec quale azione inserisci l'apertura e la chiusura
della maschera in modalità nascosta. La tua tabella sarà aggiornata.
--
rgrds
SC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Ciao a entrambi.
Scusa se approfitto SV; non conoscevo questo fatto della macro Autoexec;
molto utile.
Scrivendo unicamente codice e non usando macro, mi chiedevo se tu fossi a
conoscenza di una Funzione, da salvare come modulo, che si autoattivi
all'evento caricamento database (che non ho mai trovato), senza ovviamente
dover ricorrere ad intercettare 1 evento scaturito da report/maschera.
Grazie in anticipo.
Ciao ;-)

 ha scritto nel
messaggio news:JfLvb.5132$up5.4...@news1.tin.it...

Scusa se mi intrometto ma se chiami la funzione Autoexec
e la salvi in un modulo tale funzione ti si attiverà all'apertura del db.
Sunrex

 Sunrex
Ho provato, ma non funziona.
Grazie lo stesso ;-)

Fabrizio Alessandri ha scritto:


A me non risulta che si possa creare una funzione Autoexec come una macro.
Nei sacri testi si parla sempre di macro Autoexec o di macro Autokeys.


 SC
Rispondo a tutti e due.
Vi fate la vostra bella macro poi la chiudete.
La rinominate Autoexec.Così facendo sarà la prima
cosa che la vostra applicazione andrà a fare quando l'aprirete.
Inoltre se ci cliccate sopra con il tasto dex del mouse e scegliete
Salva con Nome Esporta e poi scegliete "Come modulo di Visual Basic"
e premete OK avrete la vostra macro convertita in un modulo.
Sotto vi riporto un esempio di un modulo creato da una macro fatto come vi
ho spiegato.
Option Compare Database
Option Explicit
'------------------------------------------------------------
' Autoexec
'
'------------------------------------------------------------
Function Autoexec()
On Error GoTo Autoexec_Err
    DoCmd.OpenForm "frmGestioneAnalisi", acNormal, "", "", , acNormal
Autoexec_Exit:
    Exit Function
Autoexec_Err:
    MsgBox Error$
    Resume Autoexec_Exit
End Function
Inoltre tratto dalla guida in linea di Access 97
Eseguire un'azione all'apertura del database
È possibile utilizzare una speciale macro denominata AutoExec per eseguire
un'azione o una serie di azioni all'apertura del database. Quando viene
aperto un database, ha luogo la ricerca della macro con questo nome. Se la
ricerca ha esito positivo, la macro viene eseguita automaticamente.
1 Creare una macro contenente le azioni che si desidera eseguire
all'apertura del database.
Procedura
2 Salvare la macro con il nome AutoExec.
Alla successiva apertura del database, la macro viene eseguita
automaticamente.
Note
· Se non si desidera eseguire la macro AutoExec all'apertura del database,
tenere premuto MAIUSC.
· È inoltre possibile controllare l'avvio di un database o di
un'applicazione mediante l'impostazione delle opzioni della finestra di
dialogo Avvio del menu Strumenti. Per ulteriori informazioni, fare clic su
.
P.S.
Un consiglio accannate le macro.
SunRex


Grazie per la conferma, peccato ;-)
Ciao e buon lavoro.


Ma quella che viene eseguita all'apertura è la macro Autoexec, non il
codice.
Ciao
Salvatore

 SunRex
Ascolta Sunrex, quello che tu hai scritto per me è una cosa nota da quando
ho iniziato ad usare Access. Ti parlo di Access 2.0.
Una funzione che si chiami Autoexec non combina un bel niente: cioè non
esegue del codice come una macro. Prova a cancellare la macro e vedrai che
non funziona. Devi notare inoltre che le funzioni a differenza delle macro
hanno il pulsante "esegui" disattivato perchè per l'appunto Access non le
esegue, ma debbono essere richiamate da codice o da macro. E poi che senso
ha farsi una macro Autoexec che generalmente viene utilizzata per semplici
azioni(apri maschera, messaggio all'avvio etc..) e poi te la trasformi in
codice?


 codice?
Infatti per me non ha nessun senso.
SunRex
