!!!Ayuda, ¿Porqué no me deja actuliazar la tabla?

01/09/2005 - 19:10 por Paloma M S | Informe spam
Hola a todos/@s,

Tengo un problema que no se porque ocurre y ya no se donde buscar, he leido
todo lo que he podido pillar y me he basado y seguido todos los pasos que El
Guille indica en su curso colgado en la msdn de microsof.

Bueno no exactamente porque nuestro Guille utiliza una base de datos SQL y
yo como venía utilizando Access 2000 de momento lo he intentado con esta
base de datos.

Para no enrollarme mucho os cuento lo que adjunto es un programita en .Net
2005 beta 2 que es un formulario MAESTRO-DETALLE donde pongo los datos de
dos tablas relacionadas entre si de uno a muchos por un campo.

Pues bien para no liarme mucho con el código he dejado que sea el propio
.Net el que lo hago todo, pasos seguidos:

- Creo un origen de datos nuevo del tipo base de datos
- Le digo que creo una nueva conexión
- Elijo el data source como: Microsoft Access Database File (el data
provider cambia a ".NET Framework Data Provider for OLE DB)
- Selecciono el Database file name: c:\PruebaDB\db2.mdb
(la cadena de conexion que se crea es "Microsoft.Jet.OLEDB.4.0;Data
Source=c:\PruebaDB\db2.mdb")
- Selecciono incluir todas la tablas en el dataset


- Cambio el tipo de la tabla maestro(Clientes) en la venta del Data Sources
(Origenes de datos) para que sea del tipo detalle y el campo que enlaza las
tablas lo hago del tipo label.

- En la tabla detalle (Lecturas) cambio un par de campos a label y la dejo
como de tipo grid.

- Arrastro para que se añada la formulario la tabla maestro (Clientes) y
después la tabla detalle (Lecturas).

Pues bien aparece el BindingNavigator y todos los controles perfectamente y
aparentemente funciona todo perfecto.

Pues no, cuando incluyo en el formulario la tabla maestro (Clientes) puedo
hacer lo que quiera con los datos pero al incluir el grid de la tabla
detalle (lecturas) al intentar modificar datos de la tabla maestro me dice:

OleDbException was Unhandled
"El registro no se puede eliminar o cambiar porque la tabla 'Lecturas'
incluye registros relacionados."

Como dice la excpetion solo pasa cuando intento modificar datos de un
cliente para el que existen datos relacionados en la tabla Lecturas ya que
el primero de los clientes no tiene datos en la tabla detalle (lectuas) y
si que deja modificar sus campos pero del resto de clientes nada de nada.

Ya no se por donde salir con este tema porque he seguido los pasos tal y
como aparecen en los manuales pero nada de nada siempre la misma historia y
con VB6 esto no pasaba.

¿Qué puede ser lo que estoy pasando por alto?

Agradeceré toda la ayuda que me podais pensar porque ya no se si cortarme la
venas o dejarmelas largas.

PD. He intentado adjuntar el fichero zip con el proyecto pero me dice el
servidos que pesa mucho incluso zipeado.

Saludos
Luc

Preguntas similare

Leer las respuestas

#6 Jesús López
06/09/2005 - 19:52 | Informe spam
Comprueba que el commandText del UpdateCommand del TableAdapter que te
generó Visual Studio no esté intentando actualizar la clave primaria de la
tabla clientes. Si el campo no es autonumérico, Visual Studio genera la
instrucción SQL para actualizar todos los campos incluyendo la clave
primaria. Tienes dos soluciones a este problema:
(1) Elimina Toda referncia a la clave primaria en el commandText del
UpdateCommand
(2) Configura la relación entre las dos tablas para hacer una "actualización
en cascada"

Saludos:

Jesús López
MVP



"Paloma M S" escribió en el mensaje
news:%
Utilizo dos campos numericos que son el ID del cliente y quiero cambiar
otro campo que es su nombre y el campo nombre solo está en la tabla
maestro (Clientes) no en la de detalle (lecturas) donde solo aparece el
campo del ID del cliente.

Saludos.
Luc

"tecsys" escribió en el mensaje
news:
¿Cuales son los campos que utilizas para relacionar las tablas?, el error
que
te arroja al parecer significa que estas tratando de modificar algún
campo
que utilizas como llave foranea de lecturas


"Paloma M S" escribió:

> Hola a todos/@s,
>
> Tengo un problema que no se porque ocurre y ya no se donde buscar, he
> leido
> todo lo que he podido pillar y me he basado y seguido todos los pasos
> que El
> Guille indica en su curso colgado en la msdn de microsof.
>
> Bueno no exactamente porque nuestro Guille utiliza una base de datos
> SQL y
> yo como venía utilizando Access 2000 de momento lo he intentado con
> esta
> base de datos.
>
> Para no enrollarme mucho os cuento lo que adjunto es un programita en
> .Net
> 2005 beta 2 que es un formulario MAESTRO-DETALLE donde pongo los datos
> de
> dos tablas relacionadas entre si de uno a muchos por un campo.
>
> Pues bien para no liarme mucho con el código he dejado que sea el
> propio
> ..Net el que lo hago todo, pasos seguidos:
>
> - Creo un origen de datos nuevo del tipo base de datos
> - Le digo que creo una nueva conexión
> - Elijo el data source como: Microsoft Access Database File (el data
> provider cambia a ".NET Framework Data Provider for OLE DB)
> - Selecciono el Database file name: c:\PruebaDB\db2.mdb
> (la cadena de conexion que se crea es "Microsoft.Jet.OLEDB.4.0;Data
> Source=c:\PruebaDB\db2.mdb")
> - Selecciono incluir todas la tablas en el dataset
>
>
> - Cambio el tipo de la tabla maestro(Clientes) en la venta del Data
> Sources
> (Origenes de datos) para que sea del tipo detalle y el campo que
> enlaza las
> tablas lo hago del tipo label.
>
> - En la tabla detalle (Lecturas) cambio un par de campos a label y la
> dejo
> como de tipo grid.
>
> - Arrastro para que se añada la formulario la tabla maestro (Clientes)
> y
> después la tabla detalle (Lecturas).
>
> Pues bien aparece el BindingNavigator y todos los controles
> perfectamente y
> aparentemente funciona todo perfecto.
>
> Pues no, cuando incluyo en el formulario la tabla maestro (Clientes)
> puedo
> hacer lo que quiera con los datos pero al incluir el grid de la tabla
> detalle (lecturas) al intentar modificar datos de la tabla maestro me
> dice:
>
> OleDbException was Unhandled
> "El registro no se puede eliminar o cambiar porque la tabla
> 'Lecturas'
> incluye registros relacionados."
>
> Como dice la excpetion solo pasa cuando intento modificar datos de un
> cliente para el que existen datos relacionados en la tabla Lecturas ya
> que
> el primero de los clientes no tiene datos en la tabla detalle
> (lectuas) y
> si que deja modificar sus campos pero del resto de clientes nada de
> nada.
>
> Ya no se por donde salir con este tema porque he seguido los pasos tal
> y
> como aparecen en los manuales pero nada de nada siempre la misma
> historia y
> con VB6 esto no pasaba.
>
> ¿Qué puede ser lo que estoy pasando por alto?
>
> Agradeceré toda la ayuda que me podais pensar porque ya no se si
> cortarme la
> venas o dejarmelas largas.
>
> PD. He intentado adjuntar el fichero zip con el proyecto pero me dice
> el
> servidos que pesa mucho incluso zipeado.
>
> Saludos
> Luc
>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida