Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB.NET] Relazionare piu' tabelle su un DataSet

    Popolando un Report "CrystalReport" realizzato con il "Crystal Report "di VB.NET 2002 tramite un DataSet, si puo fare un legame tra tabelle molteplici e non solamente tra 2 tabelle come si vede nel codice qui sotto ???

    Ho una ListView Che elenca una serie di Anagrafiche:
    nell'evento "DoubleClick" richiamo il Report in questione passandogli il DataSet:

    codice:
            If lvwPratiche.SelectedItems.Count > 0 Then
                Dim oConn As New SqlConnection("Data Source=127.0.0.1,1433; Network Library=DBMSSOCN; Initial Catalog=Web_Monster; User ID=sa; Password=;")
                Dim myReport As New CrystalReport1()
                Dim DS As New DataSet()
    
                Dim rel1 As New DataColumn()
                Dim rel2 As New DataColumn()
    
                Dim myCondition As Integer = lvwPratiche.SelectedItems.Item(0).Text
    
                oConn.Open()
                Dim da As New SqlDataAdapter("SELECT ID_Anagrafica, RagSoc FROM Anagrafica", oConn)
                da.Fill(DS, "Anagrafica")
    
                Dim da2 As New SqlDataAdapter("SELECT ID_Pratica, ID_Anagrafica FROM Pratiche WHERE ID_Pratica='" & myCondition & "'", oConn)
                da2.Fill(DS, "Pratiche")
                oConn.Close()
    
                rel1 = DS.Tables("Anagrafica").Columns("ID_Anagrafica")
                rel2 = DS.Tables("Pratiche").Columns("ID_Anagrafica")
    
                Dim relCustOrder As DataRelation
                relCustOrder = New DataRelation("CustomersOrders", rel1, rel2)
    
                DS.Relations.Add(relCustOrder)
    
                myReport.SetDataSource(DS)
                CrystalReportViewer1.ReportSource = myReport
            End If

    Si possono fare legami con Molteplici tabelle ???

  2. #2
    Ciao
    ho collegato due tabelle tramite datarelation
    ma quando elimino i record della prima tabella
    non mi vengono eliminati i record collegati della
    seconda tabella.
    Mi puoi aiutare?
    codice:
            Dim myRelation As New DataRelation _
             ("E", dtSet.Tables("scadenze_settori").Columns("id_s"), dtSet.Tables("scadenze_fornitori").Columns("id_settore"), True)
            dtSet.Relations.Add(myRelation)
    
            Dim parentColumn As DataColumn
            Dim childColumn As DataColumn
            Dim fkeyConstraint As ForeignKeyConstraint
    
            parentColumn = dtSet.Tables("scadenze_settori").Columns("id_s")
            childColumn = dtSet.Tables("scadenze_fornitori").Columns("id_settore")
            fkeyConstraint = New ForeignKeyConstraint(parentColumn, childColumn)
    
            fkeyConstraint.DeleteRule = Rule.Cascade
            fkeyConstraint.UpdateRule = Rule.Cascade
            fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
    
            dtSet.EnforceConstraints = True

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da illusione
    ho collegato due tabelle tramite datarelation
    ma quando elimino i record della prima tabella
    non mi vengono eliminati i record collegati della
    seconda tabella.
    Stai riempiendo il forum con la medesima richiesta.
    Se tutti si comportassero in questo modo, immagina il panorama.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    NON HO CAPITO NON POSSO NEANCHE CHIEDERE AIUTO ALL'INTERNO
    DI UN 3d?

    POSSO CAPIRE SE APRO UNA NUOVA DISCUSSIONE!!!!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da illusione
    NON HO CAPITO NON POSSO NEANCHE CHIEDERE AIUTO ALL'INTERNO
    DI UN 3d?
    POSSO CAPIRE SE APRO UNA NUOVA DISCUSSIONE!!!!
    Non mi sembra il caso di gridare.

    Chiaramente, puoi intervenire in un thread esistente per chiedere aiuto su un argomento, ma allora non apri una nuova discussione in quanto ne stai già parlando in quel thread, oppure - se lo ritieni necessario - apri una discussione ma in tal caso non intervieni in alcun thread parlando della stessa cosa. Insomma, non possiamo avere il forum impegnato da discussioni, vecchie e nuove, che affrontano tutte il tuo problema. Se tutti adottassimo questa pratica, sarebbe il caos.

    C'è già una discussione aperta, che hai aperto tu e che è stata lasciata aperta per affrontare l'argomento ed è quella che deve essere continuata, senza avviarne di nuove (non ha senso) o risollevare per lo stesso motivo discussioni che risalgono a più di due anni fa (!).

    Passo...e chiudo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.