English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Campi di pannello
  • Proprietà

Sum

funzione copia link

Scopo

Questa funzione calcola la somma dei valori del campo presenti nel set di dati del pannello. E' in grado di calcolare correttamente anche le eventuali righe modificate dall'utente ma non ancora confermate ed è quindi il modo più semplice di calcolare il totale di una colonna in fase di modifica.

Sintassi

decimal Somma = 0
// 
Somma := Pannello.Campo.Sum()

Argomenti

Questa funzione non ha argomenti.

Valore di ritorno

Viene ritornato un numero intero, decimale o float che rappresenta la somma dei valori del campo presenti nel set di dati del pannello oppure presenti nelle righe in fase di inserimento. Il tipo di valore ritornato dipende dal tipo dei valori presenti nel campo del pannello.

Esempio di codice

// ***********************************
// Fired when the panel changes status
// ***********************************

event Prodotti1.Prodotti.OnChangeStatus(
  int OldStatus // 
)
{
  // Mostro lo stato del pannello esplicitamente
  Prodotti.StatoPannello.Caption := Stato Pannello +c Decode(Prodotti.Status(),
    PanelStatus)
  // 
  // Mostro la somma dei prodotti solo se non sono in stato
  // inserimento criteri di ricerca

  Prodotti.Somma.SetVisible(Prodotti.Status() <> QBE)
  // 
  // Aggiorno il conteggio delle scorte.
  // Deve essere fatto anche nell'evento di AfterFind e OnUpdatingRow

  Prodotti.Somma.Caption := ToString(Prodotti.Scorte.Sum())
  // 
  // Pulisco i campi Where Clause

  Prodotti.WH.Caption := Empty String
  Prodotti.SWH.Caption := Empty String
}
  • La funzione Sum funziona in modo indifferente dal tipo di set di dati presente nel pannello (DB, IMDB, DO).
  • Se il campo non è numerico, il pannello è in stato QBE, nessun dato è presente nel pannello oppure il campo non appartiene alla master query allora viene ritornato un valore nullo.

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum