Newsgroup: it.comp.appl.access
Titolo: Campo di selezione Si/No

Buon giorno a tutto il n.g.
Ho un problema molto complesso da spiegare ed al contempo difficile da
risolvere per quanto mi concerne.
Ho una maschera con all'interno una sottomaschera basata sulla seguente
query:
SELECT Anagrafica.RagSoc, Anagrafica.Ind, Anagrafica.nCiv, Anagrafica.Cap,
Anagrafica.Citta, Anagrafica.Prov, Anagrafica.pIva, Fatture.Nfat,
Fatture.Dfat, Fatture.ImpFat, Sum([ImpFat]-[SALDO]) AS [TOTALE ACCONTI],
[ImpFat]-Nz([Acconto],0) AS SALDO, Fatture.NumProt, Fatture.Contabilizzata
FROM Anagrafica INNER JOIN (Fatture LEFT JOIN [SELECT Acconti.IdFattura,
Sum(Acconti.ImportoAcconto) AS Acconto
FROM Acconti
GROUP BY Acconti.IdFattura;]. AS Pippo ON Fatture.IdFattura =
Pippo.IdFattura) ON Anagrafica.IdAnagrafica = Fatture.IdAnagrafica
GROUP BY Anagrafica.RagSoc, Anagrafica.Ind, Anagrafica.nCiv, Anagrafica.Cap,
Anagrafica.Citta, Anagrafica.Prov, Anagrafica.pIva, Fatture.Nfat,
Fatture.Dfat, Fatture.ImpFat, [ImpFat]-Nz([Acconto],0), Fatture.NumProt,
Fatture.Contabilizzata
HAVING (((Anagrafica.RagSoc)=[Forms]![Fatture Scoperte]![RS]) AND
((Fatture.Dfat) Between [Forms]![Fatture Scoperte]![dataI] And
[Forms]![Fatture Scoperte]![dataF]) AND (([ImpFat]-Nz([Acconto],0))<>0))
ORDER BY Fatture.Dfat;
Tale maschera mi permette di impostare il range di ricerca, dalla data X
alla data Y e la ragione sociale del fornitore. Successivamente il risultato
che ottengo sarà la lista delle fatture scoperte del fornitore in questione
ed in calce sulla maschera ottengo il totale. Vorrei fare in modo che di
default il campo Contabilizzata Si/No fosse selezionato su tutte le fatture
e deselezionandolo vorrei che il totale in calce alla maschera variasse in
base alle fatture selezionate.
E' fattibile? Cosa devo fare?
Grazie per l'attenzione.
Roberto

 selezionate. E' fattibile? Cosa devo fare?
"Contabilizzata" non è il nome di un controllo non legato, ma è un campo 
della tabella fatture, perciò, quando fai riferimento ad esso, ne viene recuperato 
il valore dalla relativa tabella.
Suppongo che la tua base dati sia vuota al momento, altrimenti non ho ben 
capito la tua domanda, visto che la tua frase "Vorrei fare in modo che di 
default il campo Contabilizzata Si/No fosse selezionato su tutte le fatture" 
si potrebbe interpretare come il desiderio di impostare, nella tabella Fatture, 
il campo Contabilizzata a TRUE di default. Ma questo comportamento interesserebbe 
solo i record che vengono aggiunti successivamente a tale impostazione.
Per poter invece influenzare i dati già presenti bisognerebbe invece fare 
una query di aggiornamento.
Poi, per ottenere un aggiornamento dei totali a seconda delle fatture visualizzate, 
non hai altra scelta che eseguire un requery dell'origine dati.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype: pbsoftsolution

La mia base dati è piena. Forse con un esempio mi spiego meglio.
Range di ricerca; dal 01/01/2006 al 13/05/2006 e voglio cercare tutte le 
fatture che devo ancora pagare al fornitore PIPPO. Sulla sottomaschera 
ottengo: N. fattura, data fattura, importo fattura, totale acconti, saldo. 
Ottengo la lista completa delle fatture ancora da pagare del fornitore 
PIPPO. A piè della maschera una casella di testo mi visualizza l'importo 
totale delle fatture visualizzate nella sottomaschera. Poniamo che non debba 
pagare 3 fatture su 5 ma che al contempo voglia visualizzare nella casella 
di testo solo il totale delle 3 fatture che intendo pagare. Il mio intento 
era quello di usare tale controllo per raggiungere questo risultato. E' 
fattibile oppure esiste qualche altro modo meno complesso?
Grazie.
Rob.
"PBsoft"  ha scritto nel messaggio ...


 esiste qualche altro modo meno complesso?
Non credo che sia in discussione il tuo metodo.
Io pensavo che tu stessi visualizzando una maschera in modalità maschere 
continue e ti volessi divertire a modificare il campo Contabilizzata di qualche 
fattura, avendo la possibilità di vedere cambiare il totale desiderato a 
pié di maschera.
A tal fine, a parte qualche eventuale problema di lentezza, credo che il 
tuo metodo funzioni.


 ...
Ciao
Se permetti ti consiglio un cambiamento metodologico.
Quando le query crescono oltre un livello ragionevole di JOIN e
raggruppamenti conviene spezzare, si fa il tutto scaricando su una tabella
di transito per poi operare delle 'sottrazioni' per passaggi successivi.
In molti casi ti risolve problemi, in particolare legati a valori null e
spesso si traduce in una riduzione di complessità dei JOIN e quindi un
notevole incremento di prestazioni.
Ciao