Calcoli con gridview

venerdì 26 giugno 2009 - 16.33

lore21 Profilo | Newbie

ciao a tutti! data la mia poca esperienza chiedo a chi ne sa più di me

ho un semplice sistema di raccolta dati basato su Access e interfacciato con i classici Gridview.

Avendo la necessità di confrontare questi dati con dei dati più vecchi ho pensato di creare 2 database differenti in Access: uno nei quali inserisco i dati vecchi e nell'altro i dati nuovi.

Come risultato vorrei avere un Gridview che illustri i dati nuovi con affianco una colonna che indichi la differenza rispetto a quelli vecchi:

Anno | Matite vendute | confronto anno precedente

2009 | 100 | +20


potreste consigliarmi su come organizzare questo calcolo? c'è un modo per farlo con il Gridview (magari facendogli fare i calcoli) o devo fare tutto su Access?

grazie anticipatamente

TOPOAMORE Profilo | Expert

Ciao,

Prima domanda da porti:

I confronti vanno farti a giorni nel senso

giorno1vecchio = 100
giorno1nuovo= 90

diff = 10

oppure

riga(0)vecchio=100
riga(0)Nuovo=90
diff=10

Dai qualche dettaglio in piu altrimenti e difficile aiutarti

:)
ASP 2.0 - VB 2008

motogpdesmo16 Profilo | Senior Member

Ciao,
perchè anzichè creare due database distinti (che, nell'ottica di un utilizzo futuro della tua applicazione, potrebbero essere potenzialmente infiniti) non crei un'unica tabella in cui inserisci tutte le vendite effettuate? Se metti anche la data della vendita potrai in ogni momento effettuare il calcolo relativo a quanto hai venduto nel 2009, quanto nel 2008, quanto nel 2010 ecc ecc.
Se poi proprio non vuoi fare in questa maniera, potresti quantomeno creare tabelle separate nell'ambito dello stesso database. Esempio "Vendite2009", "Vendite2008", "Vendite2007" ecc.
Ritornando al tuo problema, secondo me potresti far fare tutto al database. Considerando la seconda ipotesi di progettazione che ti ho esposto, con le due tabelle "Vendite2009" e "Vendite2008", potresti effettuare una LEFT JOIN (Perchè un articolo potrebbe essere stato venduto nel 2009 e non nel 2008) tra di loro. Qualcosa del genere:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

In questa maniera i calcoli li effettua il DB e non devi "impazzire" tu, via codice, a scriverti la funzione per calcolare la differenza.
Se hai bisogno di altri chiarimenti scrivi pure senza problemi. ciao

freeteo Profilo | Guru

Ciao,
se hai dei dati nel record ed usi un DataTable, puoi pensare di fare il calcolo usando una colonna calcolata:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=20868
http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(VS.71).aspx

oppure cmq il metodo "Compute" di un DataTable:
http://msdn.microsoft.com/it-it/library/system.data.datatable.compute.aspx

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5