Newsgroup: it.comp.appl.access
Titolo: Problemi con totali in sottomaschere

Ciao a tutti,
Vorrei sottoporvi questo problema. 
Ho una maschera associata ad una tabella di anagrafica cliente che contiene una sottomaschera con il
dettaglio delle fatture. 
Nel piè di pagina di questa sottomaschera ho inserito una casella di testo che calcola il totale
delle fatture visualizzate tramite '=Somma([importo])'. 
Il valore di questa casella di testo viene ripreso nella maschera principale con un'altra casella di
testo che all'interno dell'origine dati ha
'=[nomesottomaschera].Form!caselladitestochecalcolatotale'. 
Il problema si presenta quando non ci sono fatture per un determinato cliente e viene visualizzato
un antiestetico messaggio '#Errore'. 
Vorrei evitare che una simile situazione si presenti però non so come fare per fare in modo che in
questi casi venga visualizzato uno '0', oppure che venga posta a false la proprietà visible. 
Ho provato con la funzione iserror, isnull o isempty ma non sono riuscito a cavare un ragno dal
buco.
Qualcuno mi può aiutare ?
Grazie in anticipo.
Stay alive !
Pio Pio (utente newbe)
Win XP & Office 2000
www.ticom.it/tennisbuscate

 Grazie in anticipo.
Ciao, possono esserci molteplici soluzioni al tuo problema, ti espongo il
metodo da me utilizzato.
1) Creare una funzione a livello modulo Es.
Function Leggi_Campo(Frm As Form, NomeCampo As String)
    If Frm.Recordset.recordcount = 0 Then
       Leggi_Campo = 0
       Exit Function
    End If
    Leggi_Campo = Nz(Frm(NomeCampo), 0)
End Function
2) nella casella testo della maschera principale inserirai come origine dati
   =Leggi_Campo([nomesottomaschera].[Form];"caselladitestochecalcolatotale")
Ciao Giorgio.

 Win XP & Office 2000
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Vorrei sottoporvi questo problema. [cut]
Funziona, grazie mille per i suggerimenti.


Funziona, grazie mille per i suggerimenti.[cut]
Due puntualizzazioni:
La procedura illustrata da Giorgio ha bisogno di una piccola modifica:
Al posto di   Leggi_Campo = Nz(Frm(NomeCampo), 0) bisogna inserire
Leggi_Campo = Frm.nomecampochefailtotale.Value, altrimenti verrà visualizzato l'importo della prima
fattura e non la somma di tutte.
Quella di Roberto invece mi dà sempre #Errore 


 ha scritto nel messaggio
news:e997sus9i9usvej1m...@4ax.com...

Ciao Pio Pio, utilizzo questa funzione da Access2.0 (A.D. 1993) e non ha mai
dato problemi, controlla che il nome passato alla funzione sia
effettivamente il nome del controllo che contiene il totale e che detto nome
non sia uguale al nome di un campo dell'origine record.
Ciao Giorgio.

 Win XP & Office 2000
--


non sia uguale al nome di un campo dell'origine record.
[cut]
Avevi perfettamente ragione. Era quello il problema. Grazie 1000


Microsoft ADO.
Ciao Roberto,
Ho provato a cambiare i riferimenti come mi hai consigliato ma ho avuto problemi con altre
procedure, così ho desistito. 
Molto probabilmente però è come dici tu, io ho infatti l'ADO che precede il DAO.
Grazie mille per il chiarimento.
Stay alive !
Pio Pio (utente newbe)
Win XP & Office 2000
www.ticom.it/tennisbuscate