Visual Basic.NET - problema con relaciones de tablas usando dataset

 
Vista:

problema con relaciones de tablas usando dataset

Publicado por MAP (3 intervenciones) el 10/08/2006 20:42:51
Estoy desarrollando una aplicación en vb2005 xpress y necesito filtrar los datos de una tabla (expedientes) que debe estár relacionada con otra (tareas) por un campo común. El código que tengo es este:

Dim cnn As New OleDb.OleDbConnection(cnnString)
Try
cnn.Open()
Dim da As New OleDb.OleDbDataAdapter(SQL, cnn)
Dim miDs As New DataSet
da.Fill(miDs, tableName)
Dim daTareas As New OleDb.OleDbDataAdapter("SELECT * FROM TAREAS", cnn)
daTareas.Fill(miDs, "Tareas")

miDs.Relations.Add("xExpediente", miDs.Tables("expedientes").Columns("expe_id"), miDs.Tables("Tareas").Columns("expe_id"), True)

Return miDs
Catch ex As Exception
MessageBox.Show(ex.Message, "Crear DataSet")
Finally
cnn.Close()
End Try

Mi problema es que cuando le paso la sentencia SQL con SELECT * FROM EXPEDIENTES, no tengo ningún problema y la relación se crea correctamente y al usar el dataset enlazado con controles como textbox y datagridview funciona correctamente. Pero si le paso la sentencia SQL con alguna claúsula WHERE (SELECT * FROM EXPEDIENTES WHERE expe_id=7) al crear la relación me da el error:

NO SE PUEDE HABILITAR ESTA RESTRICCIÓN YA QUE TODOS LO VALORES NO TIENEN LOS VALORES PRIMARIOS CORRESPONDIENTES.

no entiendo donde está el problema. Los datos de las tablas son correctosy los campos que los une están bien.

Alguien me puede echar una mano.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder