Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
ciao Nicola,
trovo spesso anch'io i tempi di risposta di controlli calcolati delle forms non così efficiente ed è una della ragioni per la quali l'uso delle funzioni sui domini è da apprezzare "a piccole dosi".
nel tuo scenario non trovo sia così' ancora inaccettabile, comunque un importante miglioramento lo ottieni elaborando il calcolo con un recordset e assegnando ai controlli non associati il relativo risultato.
Ovviamente, personalizza il nome dei controlli, e....magari...anche il nome dei campi....id non è così significativo.
Option Compare Database
Option Explicit
Private rst As dao.Recordset
Private Sub Form_Current()
updateTotalCost
updateTotalHour
End Sub
Private Sub updateTotalCost()
Set rst = DBEngine(0)(0).OpenRecordset("select sum((Hour([tempo])+Minute([tempo])/60)*[costo]) from tblTurniIrrigazione where id=" & Me.ID, dbopensnapshot)
Me.txtHours = rst.fields(0)
Set rst = Nothing
End Sub
Private Sub updateTotalHour()
Dim strSql As String
strSql = "SELECT Sum(DatePart('h',[Tempo]))+Fix(Sum(DatePart('n',[tempo]))/60) & ':' & " & _
"Format$(Sum(DatePart('n',[tempo])) Mod 60,'00') FROM tblTurniIrrigazione where id=" & Me.ID
Set rst = DBEngine(0)(0).OpenRecordset(strSql, dbopensnapshot)
Me.txtTempo = rst.fields(0)
Set rst = Nothing
End Sub
ciao, Sandro.