Salve a tutti......mi chamo Stefano e giungo su questo bel forum per risolvere un problemino che ho con VB 2005.....e ovviamente per tanti altri motivi che mi anno portato a entrare in questa comunità. Vi descrivo la cosa.....spero possiate aiutarmi.

Allora....sto relizzando un semplice programma con VB 2005 che serve a realizzare dei preventivi.
Il programma usa un Database di Access (mdb) con 2 tabelle che hanno un campo in relazione fra loro ( premetto che fin ora ho sempre lavorato su singole tabelle, quindi le relazioni sono una cosa nuova ). Una è la tabella Anagrafica e l'altra è la tabella Dettaglio unite fra loro tramite il campo Ndoc ( numero documento ). Girando qua e la per il web sono riuscito a ottenere una connessione ed una relazione tra le due tabelle ed impostare il form in modo che su delle text ottengo i dati della prima tabella (ovvero il numero documento) e su di una DataGridView solo i record associati al numero documento della tabella padre. Ora, visto che nella tabella dettagli ( tabella figlia) ho un elenco di prezzi vorrei aggiungere al programma una text con la somma di questi prezzi....e qui c'è il problema.

Comincio con il postare il codice che ho usato per ottenere la connessione e la relazione fra le 2 tabelle.

codice:
    Dim con As New OleDbConnection
    Dim ds As New DataSet
    Dim da1 As OleDbDataAdapter
    Dim da2 As OleDbDataAdapter
    Dim bs1 As New BindingSource
    Dim bs2 As New BindingSource
    Dim Tab1 As DataColumn
    Dim Tab2 As DataColumn
    Dim relazione As DataRelation
    Dim sql1 As String
    Dim sql2 As String

            Dim Path As String = My.Application.Info.DirectoryPath
            con.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & Path & "\preventivo.mdb"

            sql1 = "select * from anagrafica"
            sql2 = "select * from dettaglio"

            da1 = New OleDbDataAdapter(sql1, con)
            da2 = New OleDbDataAdapter(sql2, con)

            ds = New DataSet()

            da1.Fill(ds, "anagrafica")
            da2.Fill(ds, "dettaglio")

            Tab1 = ds.Tables("anagrafica").Columns("ndoc")
            Tab2 = ds.Tables("dettaglio").Columns("ndoc")

            relazione = New DataRelation("relazione", Tab1, Tab2, False)

            ds.Relations.Add(relazione)

            bs1.DataMember = "anagrafica"
            bs1.DataSource = ds

            bs2.DataMember = "relazione"
            bs2.DataSource = bs1

            con.Close()
e fin qui tutto ok (almeno credo )....il programma fa propio quello che voglio. ora arriva il problema......tramite un ciclo For sto cercando di sommare i recod del campo Prezzo per avere un totale del preventivo dello specifico cliente.....ovvero il totale di ciò che mi compare nella datagridview.

Questo è il codice che ho scritto:

codice:
        Dim i As Integer
        Dim str As String
        Dim totale As Integer

        For i = i To bs2.Count - 1
            str = ds.Tables("dettaglio").Rows(i).Item(3)
            totale = totale + str
        Next

        txtTotale.Text = totale
Allora.....io sò qualè il problema...ovvero la stringa

str = ds.Tables("dettaglio").Rows(i).Item(3)

che non va a prendere i record in relazione con la tabella padre ma prende in considerazione tutti i record della tabella. Lo so.....sicuramente è una cavolata ma davvero....è tutto il giorno che giro su questa stringa senza trovare una soluzione. Potete aiutarmi??