Ayuda por favor - problemas con la propiedad KeyField

26/05/2005 - 15:48 por alex lozano daza | Informe spam
Hola foro:
Intento reemplazar los datos de un solo registro de una vista actualizable
(la vista tiene muchos registros con el mismo codigo -indexado de tipo
normal-), pero cuando realizo los cambios, al actualizar la tabla me aparace
un mensaje que dice:
"La clave definida por la propiedad KeyField para la tabla no es única" y
me cambia todos los registros de la tabla que tienen el mismo codigo con la
información de un solo registro.
Cómo soluciono este problema?
Muchas gracias por sus sugerencias.
Alex lozano Daza
Flandes- Tolima - Colombia

Preguntas similare

Leer las respuestas

#1 Francisco Lorente
26/05/2005 - 18:09 | Informe spam
Alex para poder hacer una vista actualizable debes por lo menos tener
una clave índice que sea principal (que por extensión de be ser una
clave única)

*********************

Francisco Lorente
Murcia- España
Respuesta Responder a este mensaje
#2 alex lozano daza
26/05/2005 - 18:54 | Informe spam
Gracias Francisco por responder.
Es decir que no puedo utilizar una vista actualizable para
modificar datos de una tabla que no tenga un indice único?
Me estaba ilusionando, pues ya había podido insertar registros a la vista y
me actualizaba la tabla relacionada, por eso pensé que también podia
reemplazar datos.

Bueno ni modo, o sea que me tocará hacer las actualizaciones de forma manual
hacia la tabla.

De nuevo muchas gracias

"Francisco Lorente" escribió en el mensaje
news:
Alex para poder hacer una vista actualizable debes por lo menos tener
una clave índice que sea principal (que por extensión de be ser una clave
única)

*********************

Francisco Lorente
Murcia- España
Respuesta Responder a este mensaje
#3 Esparta Palma
26/05/2005 - 19:38 | Informe spam
Alex...

Es decir que no puedo utilizar una vista actualizable para modificar




datos de una tabla que no tenga un indice único

No es cuestión de índices, es cuestión de que debes de encontrar la
manera de identificar unívocamente cada uno de los registros, como es
obvio la mejor y más fácil manera es a travéz de un campo que además de
ser el Primary Key también tiene un índice relacionado, pero esto no es
una limitante, también puedes hacer una combinación de campos en los que
su suma puede generarte un KeyField que haga el trabajo antes descrito.

ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/
http://www.espartha.com/blog/

alex lozano daza wrote:
Gracias Francisco por responder.
Es decir que no puedo utilizar una vista actualizable para
modificar datos de una tabla que no tenga un indice único?
Me estaba ilusionando, pues ya había podido insertar registros a la vista y
me actualizaba la tabla relacionada, por eso pensé que también podia
reemplazar datos.

Bueno ni modo, o sea que me tocará hacer las actualizaciones de forma manual
hacia la tabla.

De nuevo muchas gracias

"Francisco Lorente" escribió en el mensaje
news:

Alex para poder hacer una vista actualizable debes por lo menos tener
una clave índice que sea principal (que por extensión de be ser una clave
única)

*********************

Francisco Lorente
Murcia- España





Respuesta Responder a este mensaje
#4 alex lozano daza
27/05/2005 - 14:59 | Informe spam
Gracias Esparta por responder.
Pero ahí está mi dilema:
Como hago para que, mediante la propiedad
DBSETPROP establecer que mi clave unica es una combinación de dos campos
cuando solo veo la opción de relacionar un campo de la vista con uno de la
tabla?

"Esparta Palma" escribió en el
mensaje news:%23STX$
Alex...

>> Es decir que no puedo utilizar una vista actualizable para modificar
datos de una tabla que no tenga un indice único

No es cuestión de índices, es cuestión de que debes de encontrar la manera
de identificar unívocamente cada uno de los registros, como es obvio la
mejor y más fácil manera es a travéz de un campo que además de ser el
Primary Key también tiene un índice relacionado, pero esto no es una
limitante, también puedes hacer una combinación de campos en los que su
suma puede generarte un KeyField que haga el trabajo antes descrito.

¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/
http://www.espartha.com/blog/

alex lozano daza wrote:
Gracias Francisco por responder.
Es decir que no puedo utilizar una vista actualizable para
modificar datos de una tabla que no tenga un indice único?
Me estaba ilusionando, pues ya había podido insertar registros a la
vista y me actualizaba la tabla relacionada, por eso pensé que también
podia reemplazar datos.

Bueno ni modo, o sea que me tocará hacer las actualizaciones de forma
manual hacia la tabla.

De nuevo muchas gracias

"Francisco Lorente" escribió en el mensaje
news:

Alex para poder hacer una vista actualizable debes por lo menos tener
una clave índice que sea principal (que por extensión de be ser una
clave única)

*********************

Francisco Lorente
Murcia- España




Respuesta Responder a este mensaje
#5 Francisco Lorente
30/05/2005 - 13:18 | Informe spam
Simplemente pon la propiedad KeyField de los dos campos como
verdadera con:

DBSetProp(<vista.campo>,"Field","KeyField",.T.)

pero ten en cuenta que para que funcione, la combinación de todos los
campo marcados así debe ser una combinación única


*********************

Francisco Lorente
Murcia- España
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida