Newsgroup: it.comp.appl.access
Titolo: aggiornamento dati in checkbox

ciao a tutti
se cambio un'importo nella sottomaschera il valore con checkbox nella
maschera principale mi si aggiorna solo se tolgo e rimetto la spunta.
Come posso fare affinchè si aggiorni da solo?
Grazie


puoi provare col metodo forms!nomemaschera.Refresh , oppure
specificando il nome del camp oda ricalcorare e poi fare un requery


ciao Loli
devo togliere e rimettere la spunta
ugualmente per farla agiornare.
Slt.

 ha scritto nel messaggio 
news:56454ac8-95ca-43e5...@w2g2000yqb.googlegroups.com...
ciao a tutti

ma che vor dì?
Antonio 

 Antonio
ciao Antonio
vuol dire ciò che ho detto,
cioè che ho un campo calcolato visibile o meno
tramite una checkbox nella maschera principale.
Nel caso in cui sia visibile (checkbox spuntata) e cambio un valore
nella sottomaschera che comporta una modifica al valore finale,
quest'ulitmo cambia solo se tolgo e rimetto
la spunta o se chiudo e riapro la maschera.
Slt.


Non credo di aver capito , cmq provo a darti un indizio ,
sull'aggionamento del checkbox , fai ricalcolare il campo tipo
Private Sub checkbox_AfterUpdate()
me.campo=(quello che deve fare)
oppure me.campo.requery
End Sub
sinceramente non ho capito benissimo , ma credo che ti basti questo
Ciao Lolince


ciao Leo e grazie
ho fatto come mi hai detto ma purtroppo non mi funziona.
Private Sub CasellaControllo32_AfterUpdate()
Me.RIT_ACCONTO.Requery
End Sub
Se può esserti d'aiuto,
questo è l'evento su click che trasferisce i dati dalla sottomaschera
alla maschera principale:
Private Sub CasellaControllo32_Click()
If CasellaControllo32 = True Then
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
Else
RIT_ACCONTO = 0
End If
End Sub


Be mi pare ovvio , hai una condizione che dice che se il tuo check e a
true lo fa , quindi in fase di modifica non ti esegue nulla perche la
variabile e gia passata .
Fai una cosa nel campo dove cambi l'importo su dopo aggiornamento :
Private Sub Campoinmodifica_AfterUpdate()
 If CasellaControllo32 = True Then
 RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
 Else
 RIT_ACCONTO = 0
 End If
End Sub
Ovviamente se la casellacontrollo e a false il valore sarà 0
se vuoi che lo modifiche sempre elimina l'if e ti basta solo
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
ciAO


ciao Leo
ma poi devo togliere pure else?
Ed avrò errore perchè senza lo zero ho problemi nel conteggio
successivo.
PFV scrivimi il codice completo.
Grazie


Sinceramente non ti ho capito per nulla, tu hai una casella di
controllo che sul click ti attiva o disattiva il check(true /false) e
all'interno hai la condizione if , ora la domanda è questa , se tu
modifichi un importo , e ovvio che non ti fa nulla perche la modifica
la legge al momento in cui attivi il true nel check .Mi sa che hai
sbagliato a programmare la situazione o nn hai descritto per bene il
problema , se poi ti serve un contenggio di non so cosa puoi usare
dcount("nomecampo",[nometabella]) per risalire alla numerazione , ma
cosi non ti so dire e troppo vaga la problematica


Cmq visto che hai postato la problematica per come aggiornare il
controllo , su dopo aggionramento del campo "importo" puoi fare
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto (oppure non sapendo come e
strutturata la maschera anche Forms![maschera].
[campo]=me.TxtRit_Acconto se parte dalla sottomaschera ,ma non so)
poi sul check elimina la funzione attuale, per il discorso conteggio
successivo sinceramento non cio capito una cippa


ciao Loli
posso inviartela?


Inviarmi cosa il db? puo ma credo che si a piu giusto pubblicare qui
la problematica per risolvere il problema .Ora cerca di analizzare
cosa ti serve esattamente . Su modifica importo vuoi che un campo
porti il totale e fin qui il problema non si pone come abbiamo visto
sopra. Ora la mia domanda e , il tuo check a cosa serve ? cosa deve
fare? Lo 0 che parlavi prima per portare un conteggio di non so cosa a
cosa serve?


ciao Loli
per farti capire cosa ho fatto bisogna che ti spiego la struttura
delle tabelle,
dove credo che qualcosa abbbia sbagliato.
Ecco le tabelle:
TbClienti, TbDescrizione, TbEsenzioni, TbTipo_Documento,
TbDettaglio_Fattura e TbTestata_Fattura
in TbDettaglio_Fattura ho i seguenti nome campo:
Iddettagliofattura
idtestatafattura
iddescrizione
ncolli
quantita
prezzo
iva
sconto
mentre in TbTestata_Fattura sono:
IdTestataFattura
IdCliente
numero (numero fattura)
data (data fattura)
IdTipoDocumento
IdEsenzioni
DataPagamento
Rit_Acconto
quest'ultimo nome campo è il problema di tutto.
tipo dati impostato su Si/No
Ora io ho maschera con sottomaschera, in quest'ultima
ho impostato i seguenti totali:
imponibile =[DETTAGLIO].[Form]![txtSomma]
sconto =[DETTAGLIO].[Form]![txtSCONTO]
iva =[DETTAGLIO].[Form]![txtSommaIva]
checkbox con casella di testo per la Rit. Acconto
che spunterò all'occorrenza dando luogo
alla seguente espressione su click:
Private Sub CasellaControllo32_Click()
If CasellaControllo32 = True Then
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
Else
RIT_ACCONTO = 0
End If
End Sub
da casella di testo in sottomaschera TxtRit_Acconto:
=Somma(nz([QUANTITA]*[PREZZO]*(1-[SCONTO]/100)*0,115))
Questo è tutto, cosa posso fare?
Grazie


OK non ho capito , questa e la struttura e va bene , ora cerchiamo
come i bambini di fare chiarezza quando tu abiliti la ritenuta
d'acconto cosa deve accadere quale evento? io ancora non ho capito
cosa devi fare , abilito la ritenuta d'acconto e poi? su quale campo
bisogna fare qualcosa? per logica devi detrarre la ritenuta? se si
basta che fai sul true del check box ad esempio
If CasellaControllo32 = True Then
 RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
 Else
il valore che dovrebbe essere
 End If
End Sub
se cosi non e credimi davvero non sto capendo

 d'acconto cosa deve accadere quale evento?
nella casella di testo della maschera principale si visualizza
l'importo calcolato, vale a dire (imponibile_netto * 0,115)=
e così avrò nella casella di testo: TotaleFattura
=([Imponibile])-([Sconto])+([Iva])-([Rit_Acconto])
il netto Fattura
Nella Tabella: TbTestata_Fattura
io ho il nome campo: RIT_ACCONTO
che memorizza a secondo se spuntato o meno, -1 oppure 0
e non 11.5 o 0,
cosa devo fare affinchè possa avere questi due valori?
Grazie



Creati un'altro campo in tabella Val_ritenuta sulla e sul click del
check:
Private Sub CasellaControllo32_Click()
If CasellaControllo32 = True Then
me.Val_ritenuta=11,5
else
me.Val_ritenuta=0
end if
se ho capito e questo che vuoi , tu volevi che nel campo si o no ti
scrivesse il valore? se la risposta e si , non puoi avendolo definito
campo si /no quindi i accettera solo i valori -1 e 0 ,
ma ti dico anche se e solo una visualizzazione puoi inserire in
maschera un campo non associato tipo testoe sempre sul flag del chek
fai la stessa cosa
If CasellaControllo32 = True Then
me.testo=quello che vuoi
else
me.testo=0
end if
almeno eviti di aggiungere un campo in tabella , ma questo vale solo
se e sempre lo stesso valore ovvio che non va bene se i valori
cambiano.

 cambiano.
la % della rit. Acconto è sempre 11.5,
ma a me serve avere 11.5 nella tabella per il buon esito delle altre
espressioni nelle query
ad esempio:
Rit_Acc: Somma(CCur([TbDettaglio_Fattura]!
[QUANTITA]*[TbDettaglio_Fattura]![PREZZO])*(1-[TbDettaglio_Fattura]!
[SCONTO]/100)*([TbTestata_Fattura]![RIT_ACCONTO]/100))
Non possiamo far scrivere in tabella direttamente 11.5 quando è -1 e 0
per 0?
Poi ho ancora il problema della requery che non mi funziona.
Grazie

 leggi tutto
Ryc forse non hai capito , il check lascialo cosi com'e valore si/no ,
creati un'altro campo in tabella (ovviamente poi lo devi aggiungere in
maschera visibile oppure no dipende da te ) e poi sul click del check
fai l'espressione

 leggi tutto
ciao Loli e scusami
io ho già impegnato l'evento su click del chek
CasellaControllo32
con :
Private Sub CasellaControllo32_Click()
If CasellaControllo32 = True Then
    RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
Else
    RIT_ACCONTO = 0
End If
End Sub
e l'ho anche su: :
Private Sub Form_Current()
come posso fare?
Grazie


forse così:
Private Sub CasellaControllo32_Click()
If CasellaControllo32 = True Then
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
Me.VAL_RITENUTA = 11.5
Else
RIT_ACCONTO = 0
Me.VAL_RITENUTA = 0
End If
End Sub
Private Sub Form_Current()
If CasellaControllo32 = True Then
RIT_ACCONTO = DETTAGLIO.Form!TxtRit_Acconto
Me.VAL_RITENUTA = 11.5
Else
RIT_ACCONTO = 0
Me.VAL_RITENUTA = 0
End If
End Sub
Grazie

Si puoi aggiungere tranquillamente gli eventi senza problema , pero
non capisco il perche sul current hai la stessa formula se e scritto
in tabella e dovrebbe leggerlo normalmente.Per curiosita ora che hai
capito mi mandi il db giusto per capire? l'email e quella che leggi
nell'ng

 > > > > > > > > > > > > tramite una checkbox nella maschera principale.
ecc ecc
e secondo te è la stessa cosa?
SAREBBE IL CASO DI SFOLTIRE DI TANTO IN TANTO
**************
la % della rit. Acconto è sempre 11.5,
ma a me serve avere 11.5 nella tabella per il buon esito delle altre
espressioni nelle query
ad esempio:
Rit_Acc: Somma(CCur([TbDettaglio_Fattura]!
[QUANTITA]*[TbDettaglio_Fattura]![PREZZO])*(1-[TbDettaglio_Fattura]!
[SCONTO]/100)*([TbTestata_Fattura]![RIT_ACCONTO]/100))
Non possiamo far scrivere in tabella direttamente 11.5 quando è -1 e 0
per 0?
****************
Espressioni condizionali queste sconosciute
iif(campobooleano=-1;11,5;0)
questa la usi come ti pare!!!
Antonio 

 Antonio
ciao Antonio
come e dove va inserita??
in più da errore di compilazione per i ";"

 ha scritto nel messaggio 
news:ed81d854-e6c5-4d45...@l17g2000yqe.googlegroups.com...


in pi� da errore di compilazione per i ";"
Ryc, io e qualche altro qua dentro ci teniamo che l'aiuto non sia la pappa 
pronta, ma che ognuno che chiede aiuto dimostri voglia di imparare e 
perderci del tempo, come noi stessi abbiamo fatto a suo tempo e facciamo 
ancora oggi.
Per questo questa sar� la mia ultima risposta, perch� questa tua ulteriore 
domanda � a dimostrazione che non hai provato neanche a spulciare un attimo 
l'help on line, dove avresti trovato fior di esempi chiarificatori.
un'espressione � una combinazione di costanti, variabili e operatori che 
restituiscono alla fine un valore
il valore lo usi dove ti serve quindi invece di mettere una variabile o una 
costante ci metti l'espressione.
pertanto x * 2 - iif(i=1,3,0) ecc ecc
quando invece mi parli di compilazione, capisco che sei in vba, dove la 
sintassi prevede la , come separatore
il ; si usa nelle query o nei controlli delle maschere
Antonio 

 ha scritto nel messaggionews:ed81d854-e6c5-4d45...@l17g2000yqe.googlegroups.com...

Grazie mille Antonio
Incredibile a dirsi ma ci sono riuscito.
Grazie ancora. Ora
spero che mi aiuti a fare lo scadenziario
nell'altro Thread.
SLt

 ha scritto nel messaggionews:ed81d854-e6c5-4d45...@l17g2000yqe.googlegroups.com...

ciao Antonio
ho dovuto riprendere questo thread
perchè mi è rimasto in sospeso
l'aggiornamento del valore (rit. Acconto) da checkbox posizionato
nella maschera principale
ad ogni eventuale modifica dei valori nella sottomaschera,
senza tuttavia dovermi spostare in un'altro record o chiudere e
riaprire la maschera stessa.
con Me.Requery non sono riuscito a risolvere.
Grazie