none
pasar join entre datatables a otro datatable RRS feed

  • Pregunta

  • que tal? estoy con el siguiente problema, tengo dos datatables entre los cuales tengo que hacer un join, pero el resultado del join lo necesito en otro datatable.

    utilizo este metodo para hacer el join

    Dim tabla1 As New DataTable
            Dim tabla2 As New DataTable
            tabla1 = dt1 ' datatable 1
            tabla2 = tmpdt ' datatable 2

            Dim results = (From table1 In tabla1 Join table2 In tabla2 _
              On table1("var1").ToString Equals table2("z5").ToString _
              Select New With _
              { _
              .Marketid = table1("id"), _
              .MarketName = table2("z5") _
              })
            DataGridView1.DataSource = results.ToList

    DataGridView1.DataSource = results.ToList esta linea es para ver el resultado, pero lo que necesito ahi es ponerlo en otro datatable, ya que el resultado se utiliza para hacer un resporte

    si tienen alguna otra idea, metodo, etc, para hacer lo que necesito es bienvenido


    Saludos Maximiliano Ferrari, Uruguay
    domingo, 12 de junio de 2011 3:13

Respuestas

Todas las respuestas

  • hola

    tengo un ejemplo justametne que responde esto que plenteas

    Linq DataSet – Agrupar y totalizar

    la uncia macana es que lo arme solo en c#, pero si te aniams podrias tomar la ideas de este y traducirlo a vb.net, hay algunas tools que podrian ayudarte aunque no creo que lo haganmuy bien tratandose de linq

     

    Convert C# to VB.NET

    Code Converter

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 12 de junio de 2011 3:46
  • igualmente alguno puntos que detecto

    - no veo que uses el AsEnumerable() para poder usar los datatable en la consulta linq

    - no uses los mismo nombre de los datatable en los nombre de linq porque generar problemas

    algo como ser

    Dim results = (From item1 In tabla1.AsEnumerable() _
            Join item2 In tabla2.AsEnumerable() _
            On item1.Fiels(Of String)("var1") Equals item2.Fiels(Of String)("z5") _
              Select New With _
              { _
              .Marketid = item1.Fiels(Of String)("id"), _
              .MarketName = item2.Fiels(Of String)("z5") _
              })

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 12 de junio de 2011 4:11
  • leandro primero que nada mil gracias, me sirvio a la perfeccion. los nombres no son los mismos, en en linq use table y el datatable es tabla

    lo otro fue que los borre por accidente al hacer la limpieza del codigo para ponerlo aca.


    Saludos Maximiliano Ferrari, Uruguay
    domingo, 12 de junio de 2011 4:43