Salve a tutti e auguri in anticipo per le festività natalizie. Ho il seguente problema che mi sta togliendo il sonno da un po' di tempo.

Ho una tabella Movimenti, al suo interno ci sono svariati campi tra cui un campo IDGenere che è la chiave primaria della tabella Genere, un campo IDContoDa che è la chiave primaria della tabella ContoDaA e poi ho un IDContoA che è la chiave primaria della tabella ContoDaA_1

per creare la suddetta struttura della tabella e metterla in in dataset uso questa stringa SQL

codice:
strsql = "SELECT Movimenti.IDMovimenti, Genere.IDGenere as IDGenere,Genere.DescGenere as DescGenere, Movimenti.DescMovimenti, ContoDaA.DescConto AS ContoDa, " _
        & " ContoDaA_1.DescConto as ContoA, Movimenti.Spesa, Movimenti.DataMovimento, Movimenti.isdeleted, " _
        & " Movimenti.MovimentiTime , ContoDaA.IdConto AS IDContoDa, ContoDaA_1.IdConto AS IDContoA " _
        & " FROM ContoDaA INNER JOIN " _
        & " Genere INNER JOIN " _
        & " Movimenti ON Genere.IDGenere = Movimenti.IDGenere ON ContoDaA.IDConto = Movimenti.IDContoDa INNER JOIN " _
        & " ContoDaA AS ContoDaA_1 ON Movimenti.IDContoA = ContoDaA_1.IDConto"

dsMovimenti = New DataSet("Movimenti")

        'crea dataadapter
        daMovimenti = New SqlDataAdapter(strsql, strconn)

        daMovimenti.Fill(dsMovimenti, "Movimenti")

        dsMovimenti.Tables("Movimenti").Columns(0).AutoIncrement = True
        dsMovimenti.Tables("Movimenti").Columns(0).AutoIncrementSeed = -1
        dsMovimenti.Tables("Movimenti").Columns(0).AutoIncrementStep = -1
        Dim drkey(0) As DataColumn
        drkey(0) = dsMovimenti.Tables("Movimenti").Columns(0)

        bdsMovimenti = New BindingSource() 'creazione del bindingsource
        bdsMovimenti.DataSource = dsMovimenti.Tables("Movimenti") 'associazione del datasource al Dataset 

CreaDatagridView(1)

        dsMovimenti.Tables("Movimenti").Columns("isdeleted").DefaultValue = False 

        dsMovimenti.Tables("Movimenti").Columns("IDGenere").DefaultValue = 1
   
        dsMovimenti.Tables("Movimenti").Columns("IDContoDA").DefaultValue = 1
    
        dsMovimenti.Tables("Movimenti").Columns("IDContoA").DefaultValue = 1
'imposto i valori di default delle colonne altrimenti addnew non mi funziona

dsGenere = New DataSet("Genere")
     

        'crea dataadapter
        daGenere = New SqlDataAdapter("SELECT IDGenere,DescGenere FROM Genere ORDER BY IDGenere;", strconn)

 
        daGenere.Fill(dsGenere, "Genere")

        bdsGenere = New BindingSource() 'creazione del bindingsource
        bdsGenere.DataSource = dsGenere.Tables("Genere") 'associazione del datasource al Dataset

        dsContoDaA = New DataSet("ContoDa")
        dsContoDaA2 = New DataSet("ContoA")

        ''crea dataadapter
        daContoDaA = New SqlDataAdapter("SELECT IDConto as IDContoDa,DescConto as ContoDa FROM ContoDaA ORDER BY IDContoDa;", strconn)
        ''Fill del dataset
        daContoDaA.Fill(dsContoDaA, "ContoDa")

        bdsContoDaA = New BindingSource() 'creazione del bindingsource
        bdsContoDaA.DataSource = dsContoDaA.Tables("ContoDa") 'associazione del datasource al Dataset

        ''crea dataadapter
        daContoDaA2 = New SqlDataAdapter("SELECT IDConto As IDContoA,DescConto as ContoA FROM ContoDaA ORDER BY IDContoA;", strconn)
        ''Fill del dataset
        daContoDaA2.Fill(dsContoDaA2, "ContoA")

        bdsContoDaA2 = New BindingSource() 'creazione del bindingsource
        bdsContoDaA2.DataSource = dsContoDaA2.Tables("ContoA") 'associazione del datasource al Dataset
Il form ha svariate textbox un checkbox e 3 combobox 1 che dovrebbe permettermi di scegliere tutti i valori presenti nella tabella Genere e gli altri due nella tabella ContoDaA

codice:
   Me.TextBox1.DataBindings.Add("text", bdsMovimenti, "IDMovimenti") 'associazione textbox1 alla sorgente bds "ID"
        Me.TextBox2.DataBindings.Add("text", bdsMovimenti, "DescMovimenti") 'associazione textbox2 alla sorgente bds "Descrizione"

        Me.TextBox3.DataBindings.Add("text", bdsMovimenti, "Spesa", True, DataSourceUpdateMode.OnPropertyChanged, "", "C")
        Me.TextBox4.DataBindings.Add("text", bdsMovimenti, "DataMovimento", True, DataSourceUpdateMode.OnPropertyChanged, "", "dd/MM/yyyy")
        Me.CheckBox1.DataBindings.Add("checked", bdsMovimenti, "isdeleted")

  Me.ComboBox1.DataSource = bdsGenere
        Me.ComboBox1.DisplayMember = "DescGenere"
        Me.ComboBox1.ValueMember = "IDGenere"
        Me.ComboBox1.DataBindings.Add("SelectedValue", bdsMovimenti, "IDGenere", True, DataSourceUpdateMode.OnPropertyChanged)
       Me.ComboBox1.SelectionStart = 0

        Me.ComboBox2.DataSource = bdsContoDaA
        Me.ComboBox2.DisplayMember = "ContoDa"
        Me.ComboBox2.ValueMember = "IDContoDa"
        Me.ComboBox2.DataBindings.Add("SelectedValue", bdsMovimenti, "IDContoDa", True, DataSourceUpdateMode.OnPropertyChanged)
        Me.ComboBox2.SelectionStart = 0


        Me.ComboBox3.DataSource = bdsContoDaA2
        Me.ComboBox3.DisplayMember = "ContoA"
        Me.ComboBox3.ValueMember = "IDContoA"
        Me.ComboBox3.DataBindings.Add("SelectedValue", bdsMovimenti, "IDContoA", True, DataSourceUpdateMode.OnPropertyChanged)
  
        Me.ComboBox3.SelectionStart = 0
Tutto bene si direbbe, ho però il problema che quando premo un bottone che mi lancia il comando bdsmovimenti.addnew() posso selezionare tutti i campi correttamente, quando poi però finisco di inserire i dati e lancio un bdsmovimenti.endedit() u poi un update tutte le textbox riportano i dati correttamente nel datagridview, però nella casella bianca del datagrid(non è impostata come combobox ma normale tabella di testo) la descrizione appare bianca, non ci sono errori di sorta perchè i comandi vengono eseguiti correttamente e il database si aggiorna con i dati corretti, infatti chiudendo e riaprendo il programma tutti i valori risultano essere inseriti correttamente ... direi che il mio problema è associare la propietà text delle combobox alla riga correntemente aggiornata ... ma come fare visto che il bindingsource mi ha lasciato a piedi ???