Pregunta: | 44320 - RELACIONES DOBLES EN DATASETS |
Autor: | ibai imaz |
Tengo una duda, se como se hacen las relaciones con el data relation, pero tengo dos tablas que tienen claves compuestas y quiero relacionar los dos campos, no solo uno de ellos, como puedo hacer una relacion con los dos campos???? Gracias |
Respuesta: | Hugo Aristizábal |
Existe una sobrecarga del constructor DataRelation que admite, primero un string con el nombre de la relaciín, y luego dos arreglos de columnas, padre e hijo, para la relación, así que lo que tenés que hacer es lo siguiente:
Private Sub CrearRelacion() ' Arreglos de columnas para los campos que se van a relacionar Dim ColumnasPadre() As DataColumn Dim ColumnasHijo() As DataColumn ' Traemos del DataSet las columnas a relacionar, y las almacenamos ' en cada una de las posiciones del vector que acabamos de crear ColumnasPadre(0) = DataSet1.Tables(0).Columns(0) ColumnasPadre(1) = DataSet1.Tables(0).Columns(1) ColumnasHijo(0) = DataSet1.Tables(1).Columns(0) ColumnasHijo(1) = DataSet1.Tables(1).Columns(1) ' Creamos la relación Dim Relacion As DataRelation Relacion = New DataRelation("Nombre", ColumnasPadre, ColumnasHijo) ' Agregamos la relación al Dataset DataSet1.Relations.Add(Relacion) End Sub Obviamente, debés poner los nombres de las tablas y de las columnas de acuerdo con tu relación. Si cualquier cosa me escribís. [email protected] |