Newsgroup: it.comp.appl.access
Titolo: Inserire un valore calcolato automaticamente

In un database che gestisce la protocollazione di documenti inviati e
ricevuti ho la maschera "mProtocolli inviati" in cui inserisco i dati d
ogni documento inviato (data, mittente, destinatario, oggetto....). Ad
ogni documento associo un numero progressivo annuale che lo identifica
(conteggio separato per protocolli inviati e ricevuti). Nell'implementare
il database ho riscontrato i seguenti problemi:
1) Vorrei inserire automaticamente nella casella "nroprotocollo" della
tabella relativa ai protocolli inviati il numero successivo all'ultimo
protocollo archiviato, ma nn riesco a farlo visualizzare.
2) Devo fare un controllo sulla coerenza tra data e numero associato al
protocollo (cioe' controllare che non risulti un protocollo con data
1/1/90 e numero 5, e un altro con data 2/1/90 e numero 3), come posso fare?
3) Nella maschera del menu principale devo fare in modo di imporre la
selezione preliminare dell'anno di esercizio corrente,proponendo l'anno
della data di sistema e nn so come farlo. Inoltre posso fare in modo di
bloccare il valore dell'anno in ogni occasione in cui devo inserire una
data nel resto del database?
Ringrazio anticipatamente chi potesse darmi una mano, un saluto
 
                                                 Veronica
-------------------------------------------------------
Messaggio inviato da 
http://www.sandlab.org/newsgroup/
Accesso gratuito via web ai Newsgroup

Allora, prima di tutto io mi farei 2 semplici tabelle, una per il n°Prot. in
entrata ed una per il n°Prot in uscita;non so, chiamale Prot_in e Prot_out
,che contengono un campo solo, chiamato "nroprotocollo", tipo
numerico,valore predefinito 0 ;(sarebbe stato tutto più facile usare un
campo tipo contatore ma.....ti darebbe dei problemi con le cancellazioni
ecc.ecc.)
Poi immagino che tu ti sia creata 2 maschere : una per l' inserimento
documenti in entrata ed una per quelli in uscita....(se hai utilizzato una
maschera sola e su una tabella sola ti consiglio vivamente di dividere le 2
cose...) con, la casella di testo nroprotocollo_in e nroprotocoloo_out  a
seconda che si tratti della maschera in entrata o quella in uscita.
Ok ora scriviamo 4query per il numero di prot : una di selezione ed una di
aggiornamento.
Allora una la chiami "QueryProt_in" : ed è una semplice query basata sulla
tabella Prot_in.
Un'altra la chiami "QueryProt_out" : ed è una semplice query basata sulla
tabella Prot_out.
Poi fai un'altra che chiamerai "AggiornaProt_in" : ed è la query , mi
raccomando tipo aggiornamento, che aggiornerà in n di prot, basata anche
questa sulla tabella Prot_in, sul campo "aggiorna a" della query scrivici il
percorso della maschera e della casella di testo del nroprotocollo che si
deve aggiornare (es. se la maschera di insermento protocolli in entrata si
chiamasse "Protocolli_in" e la casella che contiente il n di prot si
chiamasse "nroprotocollo" allora devi scrivere :
Forms!Protocolli_in!nroprotocollo)
Fai lo stesso anche per la corrispondenza in uscita.
Ok, ora nelle tue 2 maschere aggiungici 2 pulsantini che serviranno a
calcolare in nroprotocollo e visualizzarlo: allora per la maschera dei prot
in entrata fa così:
Sull' evento click del pulsante scrivi:
Dim varProt As Variant
varProt = DLookup("[nroprotocollo]", "QueryProt_in")
Me!nroprotocollo= varProt + 1
DoCmd.OpenQuery ("Aggiorna_Prot_in")
Mentre nella maschera della corr in iuscita sull' evento click del pulsante
scrivi :
Dim varProt As Variant
varProt = DLookup("[nroprotocollo]", "QueryProt_out")
Me!nroprotocollo= varProt + 1
DoCmd.OpenQuery ("Aggiorna_Prot_out")
Quindi accadrà che dopo aver inserito i dati nella maschera, premendo sul
pulsante lui calcolerà il nroprotocollo, sempre progressivo di uno.
(per le date il discorso si fa un po complicato comunque....)
ciaoooooo
se non hai capito dimmi
a riciaoooooo
-- 
Posted from 
smtp1.libero.it
 [193.70.192.51] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Per i punti 1) e 3) penso che la soluzione la dovresti trovare nel Sito
comune (link qui sotto), Sezione General, nella FAQ di Sib intitolata
"Numerazione Crescente per fatture ed altro".
Quanto al punto 2) mi sembra che sia un falso problema; visto che il numero
di protocollo è progressivo e lo asegni (in qualche modo) automaticamente,
io assegnerei automaticamente anche la data di protocollo, facendola
coincidere con la data di sistema, evitando così errori. D'altra parte,
rilevata l'incongruenza di cui al punto 2), cosa pensi di fare? Ricambiare i
numeri di protocollo già assegnati? E poi non è forse vero che la data di
protocollo deve coincidere con la data di registrazione?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ---------------------------------------------
-------------------------------------------------------


norica wrote:








Grazie per avermi aiutato, ora provo,se ho problemi ti faccio fasere!
Grazie ancora, ciao!
