Newsgroup: it.comp.appl.access
Titolo: validation rule necessario?

In una maschera, per via di procedure cambiate in seguito, sono stato
costretto a far si' che un "textbox" che "nutre" una tabella venga calcolato
da altri dati inseriti, quindi nella maschera ho creato, su "oncurrent" (o
"sucrrente") il seguente codice:
Me.[campo della tabella] = Me.[campo calcolato]
(questo e' il secondo campo/controllo della maschera)
Tutto funziona bene tranne che per un fatto anomalo:
Con la rotellina del mouse mi sposto avanti e indietro nei records, e quando
sono su un nuovo record non posso andare avanti, a meno che non digiti
qualche valore per il campo/controllo della maschera.
Ma da quando ho inserito questo "me. ..." con la rotellina posso andare
avanti e avanti e cosi' ho valori nulli se non sto attento.
Perche' questo comportamento per me anomalo?
Per ovviare ho creato nella tabella una validation rule per il primo campo:
"Not is Null" (se metto la validation rule nella maschera access non la
considera per niente). Questo mi risolve il problema ma mi impiccia il
messaggio di errore, si puo' togliere? inoltre se mi trovo in un nuovo
record e non voglio inserire niente ma tornare al record precedente (insomma
scorro i record, arrivo all'ultimo + 1 e torno indietro) devo usare il tasto
"esc".
In breve quello che vorrei riottenere e' la navigazione nelle maschere tra i
records senza questo piccolo intoppo.
C'e' un modo?
Grazie
Beppe

 ha scritto nel messaggio
news:63Z_c.205697$OR2.9...@news3.tin.it...

Non ho capito molto di tutta la tua chiacchierata, ma una cosa l'ho capita:
hai memorizzato in una tabella un campo calcolato: come non mi stancherò mai
di dire, registrare un campo calcolato in una tabella è contro qualsiasi
elementare regola di un database relazionale ed inoltre provoca inaspettati
e fastidiosi mal di pancia di cui tu stai sentendo evidenti sintomi. I campi
calcolati è bene averli solamente nelle query; insomma calcolati quello che
devi calcolarti in un campo calcolato di una query basata sull'attuale
origine record della maschera, quindi usa questa query come origine record
della maschera, dopo di che elimina dalla tabella il campo calcolato.
La tabella di un database relazionale non è un foglio di calcolo dove invece
vanno memorizzati i calcoli, quindi va progettata e gestita con una logica
assolutamente diversa.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:x91%c.79708$1V3.1...@twister2.libero.it...

Eccome se l'ho capito... ma era un'emergenza. La questione era che
all'inizio quel campo non era asslutamente calcolato, e dopo due mesi...
ecco che invece e' diventato calcolato!

 ha scritto nel messaggio
news:uZi%c.269779$5D1.12...@news4.tin.it...

Scusami, ma non riesco a capire perché l'emergenza ti ha portato a inserire
in una tabella un campo calcolato e non hai usato il campo calcolato di una
query o un controllo calcolato di una maschera e/o di un report.
Non credo proprio che sia stato più facile, ed il fatto che ti sei trovato
in un "cul de sac" lo dimostra.
Comunque la programmazione è un piatto che va assaporato con calma senza
rischiare di strozzarsi per la fretta: insomma non è un panino da azzannare
in qualche fastfood.
