Discussione:
campo calcolato
(troppo vecchio per rispondere)
davide
2005-11-18 08:34:20 UTC
Permalink
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Roberto da casa
2005-11-18 10:07:12 UTC
Permalink
Post by davide
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
Per prima cosa in una maschera non esistono i campi ma esistono i controlli:
i campi in Access sono contenuti solamente nelle tabelle e nelle queries.
Quindi immagino che il tuo controllo (e non campo) calcolato sia una casella
di testo non associata.
Post by davide
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Se come penso con "maschera in modalità elenco" intendi una maschera con
visualizzazione a Maschere continue, ti ricordo che il valore dei controlli
non associati in tale tipo di maschera non possono essere determinati
tramite il codice VBA, come mi sembra di capire tu fai, in caso contrario il
valore di tale controlli non associati risulterebbe uguale per tutti record,
che mi sembra sia il problema che tu lamenti.
Per risovere il tuo problema dei eliminare le righe di codice VBA che uavi
per calcolare il valore di quei controlli e inserire l'algortmo di calcolo
direttamente nell'origine controllo di quella casella di testo non
associate.
Insomma se attualmente hai generato a fronte dell'evento "Su corrente" della
maschera la seguente riga di codice VBA:

C = A * B

dovrai cancellare tale riga di codice e nell'origine controllo della casella
di testo C dovrai scrivere:

= [A] * [B]
--
Roberto

-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------
davide
2005-11-18 11:01:29 UTC
Permalink
Post by Roberto da casa
Post by davide
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
i campi in Access sono contenuti solamente nelle tabelle e nelle queries.
Quindi immagino che il tuo controllo (e non campo) calcolato sia una casella
di testo non associata.
Post by davide
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Se come penso con "maschera in modalità elenco" intendi una maschera con
visualizzazione a Maschere continue, ti ricordo che il valore dei controlli
non associati in tale tipo di maschera non possono essere determinati
tramite il codice VBA, come mi sembra di capire tu fai, in caso contrario il
valore di tale controlli non associati risulterebbe uguale per tutti record,
che mi sembra sia il problema che tu lamenti.
Per risovere il tuo problema dei eliminare le righe di codice VBA che uavi
per calcolare il valore di quei controlli e inserire l'algortmo di calcolo
direttamente nell'origine controllo di quella casella di testo non
associate.
Insomma se attualmente hai generato a fronte dell'evento "Su corrente" della
C = A * B
dovrai cancellare tale riga di codice e nell'origine controllo della casella
= [A] * [B]
Ciao roberto,
inizio a dire che non lavoro spesso in access....
cmq ho fatto come hai detto: ho inserito nell'origine controllo una cosa
del genere

=CalcolaScadenza(datauscita,24)

dove CalcolaScadenza è una function che mi restituisce una data

forse non digerisce function create?....
Roberto da casa
2005-11-18 11:42:26 UTC
Permalink
Post by davide
Post by Roberto da casa
Post by davide
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
i campi in Access sono contenuti solamente nelle tabelle e nelle queries.
Quindi immagino che il tuo controllo (e non campo) calcolato sia una casella
di testo non associata.
Post by davide
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Se come penso con "maschera in modalità elenco" intendi una maschera con
visualizzazione a Maschere continue, ti ricordo che il valore dei controlli
non associati in tale tipo di maschera non possono essere determinati
tramite il codice VBA, come mi sembra di capire tu fai, in caso contrario il
valore di tale controlli non associati risulterebbe uguale per tutti record,
che mi sembra sia il problema che tu lamenti.
Per risovere il tuo problema dei eliminare le righe di codice VBA che uavi
per calcolare il valore di quei controlli e inserire l'algortmo di calcolo
direttamente nell'origine controllo di quella casella di testo non
associate.
Insomma se attualmente hai generato a fronte dell'evento "Su corrente" della
C = A * B
dovrai cancellare tale riga di codice e nell'origine controllo della casella
= [A] * [B]
Ciao roberto,
inizio a dire che non lavoro spesso in access....
cmq ho fatto come hai detto: ho inserito nell'origine controllo una cosa
del genere
=CalcolaScadenza(datauscita,24)
dove CalcolaScadenza è una function che mi restituisce una data
forse non digerisce function create?....
Quello che non digerisce, visto che stai usando il generatore di espressioni
con la versione italiana di Access e con le Impostazioni internazionali di
Windows presumibilmente settate ad italiano standard, è la virgola; se
CalcolaScadenza è una funzione utente pubblica memorizzata in un modulo
standard, prova così:

=CalcolaScadenza(datauscita; 24)
--
Roberto

-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------
davide
2005-11-18 13:38:50 UTC
Permalink
Post by Roberto da casa
Post by davide
Post by Roberto da casa
Post by davide
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
Per prima cosa in una maschera non esistono i campi ma esistono i
i campi in Access sono contenuti solamente nelle tabelle e nelle
queries.
Post by davide
Post by Roberto da casa
Quindi immagino che il tuo controllo (e non campo) calcolato sia una
casella
Post by davide
Post by Roberto da casa
di testo non associata.
Post by davide
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Se come penso con "maschera in modalità elenco" intendi una maschera con
visualizzazione a Maschere continue, ti ricordo che il valore dei
controlli
Post by davide
Post by Roberto da casa
non associati in tale tipo di maschera non possono essere determinati
tramite il codice VBA, come mi sembra di capire tu fai, in caso
contrario il
Post by davide
Post by Roberto da casa
valore di tale controlli non associati risulterebbe uguale per tutti
record,
Post by davide
Post by Roberto da casa
che mi sembra sia il problema che tu lamenti.
Per risovere il tuo problema dei eliminare le righe di codice VBA che
uavi
Post by davide
Post by Roberto da casa
per calcolare il valore di quei controlli e inserire l'algortmo di
calcolo
Post by davide
Post by Roberto da casa
direttamente nell'origine controllo di quella casella di testo non
associate.
Insomma se attualmente hai generato a fronte dell'evento "Su corrente"
della
Post by davide
Post by Roberto da casa
C = A * B
dovrai cancellare tale riga di codice e nell'origine controllo della
casella
Post by davide
Post by Roberto da casa
= [A] * [B]
Ciao roberto,
inizio a dire che non lavoro spesso in access....
cmq ho fatto come hai detto: ho inserito nell'origine controllo una cosa
del genere
=CalcolaScadenza(datauscita,24)
dove CalcolaScadenza è una function che mi restituisce una data
forse non digerisce function create?....
Quello che non digerisce, visto che stai usando il generatore di espressioni
con la versione italiana di Access e con le Impostazioni internazionali di
Windows presumibilmente settate ad italiano standard, è la virgola; se
CalcolaScadenza è una funzione utente pubblica memorizzata in un modulo
=CalcolaScadenza(datauscita; 24)
Ci ho già provato: ma niente ......
Roberto da casa
2005-11-19 07:09:56 UTC
Permalink
Post by davide
Post by Roberto da casa
Post by davide
Post by Roberto da casa
Post by davide
Salve, ho una maschera in modalità elenco; un campo di tale msk è il
risultato di una formula (campo calcolato).
Per prima cosa in una maschera non esistono i campi ma esistono i
i campi in Access sono contenuti solamente nelle tabelle e nelle
queries.
Post by davide
Post by Roberto da casa
Quindi immagino che il tuo controllo (e non campo) calcolato sia una
casella
Post by davide
Post by Roberto da casa
di testo non associata.
Post by davide
Succede che all'apertura della msk tale campo (per riga) viene popolato,
ma se scendo la barra di finestra (o scroll del mouse) per vedere gli
altri record, i campi vengono ricalcolati! . Ho controllato ma non ci
sono eventi che causano il ricalcolo.
Avete info in proposito?
Se come penso con "maschera in modalità elenco" intendi una maschera con
visualizzazione a Maschere continue, ti ricordo che il valore dei
controlli
Post by davide
Post by Roberto da casa
non associati in tale tipo di maschera non possono essere determinati
tramite il codice VBA, come mi sembra di capire tu fai, in caso
contrario il
Post by davide
Post by Roberto da casa
valore di tale controlli non associati risulterebbe uguale per tutti
record,
Post by davide
Post by Roberto da casa
che mi sembra sia il problema che tu lamenti.
Per risovere il tuo problema dei eliminare le righe di codice VBA che
uavi
Post by davide
Post by Roberto da casa
per calcolare il valore di quei controlli e inserire l'algortmo di
calcolo
Post by davide
Post by Roberto da casa
direttamente nell'origine controllo di quella casella di testo non
associate.
Insomma se attualmente hai generato a fronte dell'evento "Su corrente"
della
Post by davide
Post by Roberto da casa
C = A * B
dovrai cancellare tale riga di codice e nell'origine controllo della
casella
Post by davide
Post by Roberto da casa
= [A] * [B]
Ciao roberto,
inizio a dire che non lavoro spesso in access....
cmq ho fatto come hai detto: ho inserito nell'origine controllo una cosa
del genere
=CalcolaScadenza(datauscita,24)
dove CalcolaScadenza è una function che mi restituisce una data
forse non digerisce function create?....
Quello che non digerisce, visto che stai usando il generatore di espressioni
con la versione italiana di Access e con le Impostazioni internazionali di
Windows presumibilmente settate ad italiano standard, è la virgola; se
CalcolaScadenza è una funzione utente pubblica memorizzata in un modulo
=CalcolaScadenza(datauscita; 24)
Ci ho già provato: ma niente ......
Non so che dirti, visto che il database ce lo hai in mano tu e a me si è
rotta la sfera di cristallo. ;-)
Resta il fatto che non ci sono problemi a richiamare delle funzioni utente
dal campo calcolato di una query.
Potresti almeno dirci che errore ti viene segnalato e quale sia il codice
VBA della tua funzione CAlcolaScadenza.
--
Roberto

-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------
Continua a leggere su narkive:
Loading...