Eliminare gruppo di dati

lunedì 10 agosto 2009 - 12.15

Peppino Profilo | Junior Member

Ciao a tutti
Stò creando una piccola applicazione di fatturazione (esempio classico per cercare di imparare) inizialmente con Visual Basic 2005 successivamente con Visual Studio 2008, con ADO.NET quindi con i DataSet e DataGridView e con DataBase Access con relative Tabelle (Società, Cliente, DatiFattura e DettagliFattura). Funziona tutto (perlomeno per quello riuscito a fare fino a questo momento). La domanda è questa: come posso fare ad eliminare una "x" fattura con i relativi dettagli di un "x" cliente cliccando sù un bottone, senza doverli cancellare uno alla volta?. Se bisogna creare una query, da dove crearla dal DataSet o DataAdapter e in che modo? oppure bisogna creare qualche riga di codice? non sò aprendo il database e creare un ciclo While? (che comunque non sò come si fà). Se qualcuno vorrebbe darmi un aiutino magari con qualche esempio o indicarmi dove cercare. Ringrazio anticipatamente come sempre. Saluto tutti.
Ciao Peppino.

lbenaglia Profilo | Guru

>La domanda è questa: come posso fare ad eliminare una "x" fattura
>con i relativi dettagli di un "x" cliente cliccando sù un bottone,
>senza doverli cancellare uno alla volta?. Se bisogna creare una
>query, da dove crearla dal DataSet o DataAdapter e in che modo?
>oppure bisogna creare qualche riga di codice? non sò aprendo
>il database e creare un ciclo While? (che comunque non sò come
>si fà).
I "cicli while" fanno a cazzotti con l'algebra relazionale.
Per eliminare una riga dalla tabella padre e tutte le righe correlate nella tabella figlia, è sufficiente definire un constraint FOREIGN KEY abilitando le cancellazioni a cascata sulla tabella figlia ed eseguire una banale DELETE sulla tabella padre.
http://office.microsoft.com/en-us/access/HA011739511033.aspx

>Ringrazio anticipatamente come sempre. Saluto tutti.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Peppino Profilo | Junior Member

Ciao Lorenzo, ciao a tutti, grazie per tempestività e disponibilità. Ho dato uno sguardo al link che mi hai indicato, onestamente non ho capito nulla, (da considerare che sono ancora un principiante in materia, come dichiarato prima, vorrei cercare di imparare e quindi non mi vergogno di dire che non ho capito nulla) mi è sembrato di capire (ma non ne sono sicuro) di dover agire sulle tabelle direttamente da access?. Forse ho esposto in modo sbagliato il mio quesito. Provo con le seguenti righe di codice a cercare di spiegare quello intendo fare.
----------------------------
Private Sub frmDettagliFattura_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.DettagliFatturaTableAdapter.FillByIDFattura(Me.CantieriDataSet.DettagliFattura, frmFattureCliente.FattureClientiDataGridView1.CurrentRow.Cells("IDFattura").Value)

End Sub
--------------------------
All'apertura del form una volta popolato il DatagridView in base al'"IDFattura", cliccando su un bottone vorrei poterli eliminare, ma tutti in una volta. Penso che dovrebbe essere una cosa banale, ma dalle mie parti si dice "chi non sà è come quello che non vede", quindi chiedo scusa se post certi quesiti. Ringrazio anticipatamente per la disponibilità e l'aiuto qualunque esso sia.
Saluto, ciao, Peppino.
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