Newsgroup: it.comp.appl.access
Titolo: info su aggiornamento campi da sottomaschera a maschera

Salve a tutti, vorrei un'informazione, sull'aggiornamento dei campi nelle
maschere. Ho una maschera principale in cui è presente una sottomaschera, è
possibile aggiornare automaticamente un campo della maschera principale ogni
volta che si aggiorna un campo della sottomaschera?
Ad oggi sono riuscito ad aggiornarlo, ma non automaticamente, ovvero, una
volta aggiornato il campo nella sottomaschera, clicco nel campo della
maschera principale e questo si aggiorna con il nuovo valore, praticamente
vorrei eliminare il clic.
E' possibile?
Grazie Marceme.

"Marceme" scrisse...

E allora, nelle maschere hai *controlli* e non *campi*, il fatto che i
controlli possano o meno far riferimento ai campi delle tabelle non vuol
dire che essi stessi siano campi.
Dopodic, hai provato a mettere una requery nell'evento Dopo Aggiornamento
della maschera principale?
RoDAgo

 della maschera principale?
Non so cosa sia una requery, se mi permetti, perchè è evidente che mi sono
espresso una vera ...., cerco di esprimermi meglio:
ho un controllo di tipo testo, che prende il valore da un altro controllo in
una sottomaschera, che si aggiorna automaticamente cosi:"=[Pagamenti
Sottomaschera].Form![Tot importi]"
ora vorrei passare tale valore altrettanto automaticamente ad un'altro
controllo, (questo è associato ad un campo di una tabella, dove mi farebbe
piacere andasse a finire questo valore).
Ci sono riuscito, ma il passaggio avviene solo se clicco sul controllo che
voglio aggiornare cosa che vorrei evitare.
Ho provato a mettere questo codice nel controllo che si aggiorna
automaticamente:
Private Sub appoggio_Change()
me! Pagato = Me!appoggio
End Sub
dove pagato è il maledetto controllo che vorrei aggiornare,
ho provato anche con altri eventi ma è stato inutile,
L'unico che funziona è:
Private Sub pagato_GotFocus()
Me!Pagato = Me!appoggio
End Sub
Ma ci devo cliccare sopra per renderlo "attivo" ed è questo che vorrei
evitare.
Mi puoi dare qualche consiglio?
In ogni caso andrò subito a vedere cosa sono e a cosa servono le requery.
Grazie Marceme



Anzichè distruggerti su eventi e non eventi, aggiornamenti e non
aggiornamenti perchè non utilizzare una Dsum o una query di aggiornamento
per impostare il valore?
Se vuoi ti seguo nello sviluppo.
Potrà esserti molto utile anche per il futuro.
Cià e fammi sapere
RoDAgo

 Potrà esserti molto utile anche per il futuro.
Te ne sarei infinitamente grato.
Ti descrivo il piu concisamente possibile come è strutturato il db:
Una tabella "doc" in cui ho i campi
ndoc (chiave)
importo
iva
totale (importo più iva)
pagato
sospeso (totale - sospeso)
la tabella "doc" si trova in una relazione una a molti con una tabella
"pagamenti", (in pratica la cifra da versare, che corrisponde ad importo
viene versata in più momenti, questo spiega la presenza del campo pagato e
sospeso, e tutti questi pagamenti devono essere registrati).
Avevo risolto con una maschera per "doc" che conteneva una sottomaschera
dove si immettevano i pagamenti, ecco la necessità di aggiornare il valore
del controllo "pagato" con la soma dei pagamenti presenti nella
sottomaschera.
Tu, se ho capito bene, mi stai consigliando di levare il controlli pagato e
sospeso dalla maschera, e di "riempirli nella tabella, con una query di
aggiornamento.
La cosa mi interessa molto perchè ultimamente il db sta iniziando a dare un
po i numeri e spesso mi trovo dei valori errati nei controlli, non so se è
colpa di chi utilizza il db (mia moglie.....che si fa per amore) o se è il
db che ha smesso di funzionare bene, in questo modo lei non potrebbe
sbagliare, il lavoro la farebbe la query e io...... salvo il matrimonio.
Ciao e GRAZIE MILLE Marceme

"Marceme" scrisse...
megacut
Pappati questa, rimuggina sù 10 minuti, prendi un bel respiro e fammi
presente i tuoi dubbi:
doCmd.dunsql "update tabella set tabella.pagato = " & [pagamento] & " where
(((tabella.ndoc)=" & [ndoc] & "));"
RoDAgo

"RoDAgo" scrisse...
scusa
docmd.runsql .....
RoDAgo


Qualcosa in più di 10 minuti, questa è la query di aggiornamento del
campo pagato
ma non vedo la somma dei pagamenti della tabella collegata a quel record
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Per quella ti basta una select tipo questa:
select tabpagamenti.ndoc, sum(tabpagamenti.pagamento) as sommadipagamento
from tabpagamenti
group by tabpagamenti.ndoc;
cià
RoDAgo

 group by tabpagamenti.ndoc;
Ho dato un' occhiata al file che mi hai inviato.....č proprio quello che
cercavo, sto provando ad appliacarlo sul mio... ti faccio sapere al piů
presto, perň ti vorrei fare subito due domande:
- io per avere quel tipo di struttura e maschera con sottomaschera ho
stabilito una relazione tra le due tabelle, tu invece no
- il modulo non ho capito a che serve e cioč
Public Function SumStr(par As String) As String
    SumStr = SumStr & par
Grazie Marceme.

 Grazie Marceme.
Prego
RoDAgo