Rilevare dati da un db di testo

venerdì 01 agosto 2008 - 16.35

pieroalampi Profilo | Expert

Salve, ho un problema che vorrei esporre per vedere se riesco a risolvere.

ho dei dati su diversi file di testo, che rilevo come db dalla procedura che si ottiene con il file schema.ini, questi file hanno un contenuto delimitato da ; che separa una serie di prodotti, lo stesso prodotto si può ripetere più volte nel file, quello che dovrei fare io consite nel leggere il file e raggruppare una serie di valori evitando di elencare più volte il nome del prodotto esempio:

pane;1kg;tondo;cotto
pasta;500g;a;a;
pasta;700g;a;a;
pane;3kg;tondo;cotto

riesco a caricare tutto in un datagridview e poi sommare, ma non riescco a creare un eleco ridotto con le somme dei vari valori esempio

pane;4kg;tondo;cotto che sarebbe la somma dei kg delle due righe
pasta;1.2kg;a;a; che sarebbe la somma dei kg delle due righe

mi dareste una mano?^???
vb.net 2005
------------------------------------------------------
::::Sempre a manetta in curva::::
------------------------------------------------------

Cteniza Profilo | Guru

Io farei un datatable nuova o una sortedlist e poi appenderei a questa i valori scorrendo una volta la datatable da raggruppare (quest'ultima derivante dal file di testo caricato come database)

balfaz Profilo | Expert

uuuhhmm, e una cosa un po strana da capire cosi al volo potresti essere un po più dettagliato, cosi magari troviamo una soluzione per questa procedura.
"Ci sono due tipi di pazzi, quelli che dicono pazzie e quelli che le fanno diventare una realtà."

pieroalampi Profilo | Expert

si forse sono pazzo, ma la cosa non sarebbe nuova dato che la prima a dirlo è mia moglie.
Allora non so se riesco ad essere più preciso di quanto ho gia scritto, ma ci provo:
Questo è un sw che gira in una fab. all'interno della quale ci sono dei pc che in fase di produzione generano dei file txt che io poi porto su un server e li leggo come se fossero un db (grazie allo shema.ini).
In questi file ci sono le generalità di tutti i prodotti, per ogni singolo articolo le sue caratteristiche e cioe un pezzo di pane oppure una piastrella può essere prodotto con lo stesso nome perche si tratta dello stesso articolo ma con scelta o peso diverso esempio:
pane comune 1kg integrale
pane comune 1,3 kg integrale

in questo file esistono appunto tante linne con diversi prodotti che hanno diverse caratteristiche.
riesco a caricare e prelevare dati da questo file mettendoli in un datagridview, ma sempre elencando tutte le righe con le voci dei prodotti ripetute più vole ad esempio pane comune me lo ritrovo tutte le volte che esce un pane comune, al contrario io vorrei prelevare le voci mostrarne solo una e fare dal file che le ha tutte elencate le statistiche
esempio:
da
pane comune 1kg integrale
pane comune 1,3 kg integrale

vorrei arrivare a:
pane comune 2,3 kg integrale ---------------cioe la somma dei due prodotti----------


tutto qui grazie ancora

vb.net 2005
------------------------------------------------------
::::Sempre a manetta in curva::::
------------------------------------------------------

pieroalampi Profilo | Expert

si ma per la sortedlist non dovrei elencare i prodotti nel codice???? io non conosco i prodotti dato che li decidono in produzione, li dovrei scegliere ed ordinare dal txt
vb.net 2005
------------------------------------------------------
::::Sempre a manetta in curva::::
------------------------------------------------------

Cteniza Profilo | Guru

Con una sortedlist.
Definisci un oggetto di tipo sortedlis
fai un ciclo sulla datatable che vuoi totalizzare per colonna
per ogni elemento
una variabile double / decimal per l'accumulo delle quantità
usi il metodo sortedlist.contains per verificare se la tua voce da ricercare esiste già
se esiste usi il metodo sortedlist.indexofkey per ottenere il valore posizionato in corrispondenza (sortedlist.values(sortedlist.indexofkey(chiave)) valore che salvi su una variabile
rimuovi l'elemento eventualmente ritrovato
Accumuli la variabile con il valore presente nella datatable
Appendi di nuovo chiave e valore sulla sortedlist

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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5