Newsgroup: it.comp.appl.access
Titolo: problemino complicato... forse

ciao a tutti, (scusate per il subject poco esplicativo)
ho una maschera Fatture legata con IDFattura a maschera Rate.
ho un campo Fatture.Pagata (boolean) che deve essere = true se e solo
se tutte le rate relative a tale fattura hanno il campo
[Rate].[Pagata] = true
e un campo che in realta non e utilissimo ma serve al cliente per
sapere subito, senza dover accedere alla sottomaschera RATE per
dettagli, se la fattura e stata pagata o meno.
avevo pensato di crearlo come checkbox ed abilitarlo al click solo
dopo che tutte le rate della tale fattura risultassero avere
Pagato=true, ma non riesco ad implementarlo.
va bene anche come semplice textbox con scritto Si/No a seconda di
vedi sopra.
consigli?
ditemi anche se e inutile perdere tempo per una questione simile (in
realta e un surplus)
pensavo di dover mettere, come valore predefinito del campo, qualcosa
che adoperasse la funzione dmax per avere l'id piu alto della rata
relativa alla fattura, verificare se il campo Pagato di tale IDRata
fosse = true/false e di conseguenza abilitare il campo
FatturaPagata.enable = true.
il problema e che a parole o in sql non ho molti dubbi, ma con access
ancora non mi ci trovo alla perfezione e non so bene dove/come mettere
le mani.
grazie fin da ora
-giacomo-

 [Rate].[Pagata] = true
[CUT]
Potresti usare per il controllo checkbox la seguente origine dati:
=iif(DCount(...) = 0; true; false)
Dove con DCount conteggi tutte le rate con pagato uguale a false se e' zero
vuol dire che tutte le rate sono state pagate.
Se vuoi i dettagli su come impostare la DCount dovresti indicarmi la
struttura delle tabelle interessate.
Saluti, Antonio.

struttura delle tabelle interessate.
grazie antonio, e presto detto:
la tabella Fatture e cosi composta:
IDFattura, RagSociale, Bla bla bla, NumeroRate, PeriodoScadenza (30,
60 giorni etc), Importo, PagamentoFineMese etc.
la tab Rate:
IDFattura (chiave esterna), IDRata, ScadenzaRata, ImportoRata,
PagamentoRata.
dovrei quindi fare un 
ciao
-g-

struttura delle tabelle interessate.
dimenticavo,
nella tabella Fatture e presente il campo FatturaPagata (Si/No) su cui
dovrei effettuare le operazioni ed i controlli relativi alla
sottomaschera

Saluti, Antonio.
ciao Antonio, 
stando alle tue indicazioni
ho provato a mettere come valore predefinito della checkbox
PagamentoFattura la seguente espressione =
=IIf(DCount("[IDRata]","Rate","[Pagato] = 'false' AND [IDFattura] = "
& [Mostra Fatture].[Form]![IDFattura]),Vero,Falso)
ma non mi va.
ho sbagliato la sintassi o la logica della query?
il dcount dovrebbe darmi il numero di IDRata per cui vale Pagato =
false e IDFattura = IDFattura della mascheraFattura, giusto?
devo mettere forse anche un ISNULL prima del DCOUNT?
grazie,
giacomo

 giacomo
Prova cosi':
=IIf(DCount("[IDRata]","Rate","[Pagato] = false AND [IDFattura] = "
& [Mostra Fatture].[Form]![IDFattura]) = 0;Vero;Falso)
false non e' una stringa e non va messo tra apici.
devi testare il risultato di DCount(...) = 0
; al posto della ,.
Fammi sapere.
Antonio.

Antonio.
grazie, ma mi dice:
"operando o operatore mancante carattere o virgola non valida oppure
testo immesso non racchiuso tra virgolette"
e ti pongo anche due domande:
la differenza tra , e ; (spesso se ho ; mi da errore! sara access2000
o sono cose diverse?)
e per pescare il dato IDFattura dalla maschera "Mostra Fatture", va
bene come ho messo sopra [Mostra Fatture].[Form]![IDFattura]?
con i separatori "." e "!" non ho ancora ben chiara la questione...
anche form se va messo prima o dopo o quando prima e quando dopo...
;-P
scusa!
ciao, grazie

 ciao, grazie
Fammi sapere.
Saluti, Antonio.

Forms -> insieme maschere aperte
ah,
cmq non trovo le virgole mancanti nell'espressione sopra!
:)
ultima cosa poi ti saluto, (intanto grazie)
come posso realizzare un contatore (come variabile locale e non come
campo del db!) in modo tale che mi scriva sulla maschera Rate il
numero della rata che sto inserendo semplicemente restituendomi il
risultato della sottrazione tra la prima rata inserita per la tale
fattura e la idrata della rata che stiamo inserendo ora.
es: IDFattura = 20 ed ha 12 rate
IDRata = 200 (e deve andare fino a 212) relativa ad IDFattura = 20
(chiave ext)
contatoreRata = IDRata (attuale, pes: 207) - IDPrimaRata (il mio 200)
?
cosi mentre inserisco i dati della rata so se sto inserendo la prima,
la seconda etc etc...
come posso definire IDPrimaRata? dove memorizzarla? con quale
sintassi? e come farla apparire?
se i campi non fanno parte della tabella del database non capisco come
fare per fare apparire valori calcolati, o mi scrive fischi per
fiaschi o mi scrive "#Nome?"
scusa il disturbo.
grazie.
ciao
-g-