Actualizar datos con vistas

08/04/2005 - 17:09 por FoxMan | Informe spam
Buenos días, antes de todo gracias por leer mi consulta.

Estoy trabajando con una vista actualizable, en VFP 6.0, la cual es
parametrizada por el numero de un socio (tipo numérico), de la siguiente
forma:

El campo numérico en una tabla llamado codsocio, posee todos los registros
generales de los socios, en otra tabla existen todos los beneficiarios que
este socio puede tener, en el formulario, el grid lo "lleno" con los datos
de la vista actualizable, en el momento de grabar todo ok, no me da ningún
error, pero al momento de querer borrar algún beneficiario y darle
tableupdate a la vista me dar el error que el campo clave de la vista no es
único, entiendo que esto se da puesto que en la tabla de beneficiario un
socio puede tener o tiene mas de un beneficiario (y la tabla de
beneficiarios el campo clave es codsocio tambien), consultando con un
compañero me decia que le asigne el recno a la vista y que al momento de
eliminar vuleva a recorrer la vista y que los campos actualizables sean
codsocio + recno(), habrá alguna forma mas "decente" de hacerlo??, yo tengo
pensado asignarle un codigo nuevo a cada beneficiario pero no se si esa
forma pueda ser la mas optima, que me aconsejan??

saludos y perdon por lo grande la pregunta

Preguntas similare

Leer las respuestas

#1 Esparta Palma
08/04/2005 - 18:30 | Informe spam
Esto se puede evitar con un mejor diseño de base de datos, en esquema
cliente servidor es *indispensable* que cada entidad tenga una columna
que lo identifique unívocamente. El usar RECNO() no te asegura para nada
que sea un identificador válido ya que éste se mueve cuando borras y
haces pack().

Si no te es posible modificar la BD, entonces puedes generar un
identificador basándote en varios campos, esto por medio del generador
de vistas.


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

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

FoxMan wrote:
Buenos días, antes de todo gracias por leer mi consulta.

Estoy trabajando con una vista actualizable, en VFP 6.0, la cual es
parametrizada por el numero de un socio (tipo numérico), de la siguiente
forma:

El campo numérico en una tabla llamado codsocio, posee todos los registros
generales de los socios, en otra tabla existen todos los beneficiarios que
este socio puede tener, en el formulario, el grid lo "lleno" con los datos
de la vista actualizable, en el momento de grabar todo ok, no me da ningún
error, pero al momento de querer borrar algún beneficiario y darle
tableupdate a la vista me dar el error que el campo clave de la vista no es
único, entiendo que esto se da puesto que en la tabla de beneficiario un
socio puede tener o tiene mas de un beneficiario (y la tabla de
beneficiarios el campo clave es codsocio tambien), consultando con un
compañero me decia que le asigne el recno a la vista y que al momento de
eliminar vuleva a recorrer la vista y que los campos actualizables sean
codsocio + recno(), habrá alguna forma mas "decente" de hacerlo??, yo tengo
pensado asignarle un codigo nuevo a cada beneficiario pero no se si esa
forma pueda ser la mas optima, que me aconsejan??

saludos y perdon por lo grande la pregunta



Respuesta Responder a este mensaje
#2 FoxMan
08/04/2005 - 19:54 | Informe spam
hola, esparta entonces lo que me dices es que cree en la tabla de donde se
carga la vista actualizable que genere un identificador unico, como por
ejemplo el número del beneficiario amarrado con el numero del socio


Saludos

"Esparta Palma" escribió en el
mensaje news:u#
Esto se puede evitar con un mejor diseño de base de datos, en esquema
cliente servidor es *indispensable* que cada entidad tenga una columna
que lo identifique unívocamente. El usar RECNO() no te asegura para nada
que sea un identificador válido ya que éste se mueve cuando borras y
haces pack().

Si no te es posible modificar la BD, entonces puedes generar un
identificador basándote en varios campos, esto por medio del generador
de vistas.


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

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

FoxMan wrote:
> Buenos días, antes de todo gracias por leer mi consulta.
>
> Estoy trabajando con una vista actualizable, en VFP 6.0, la cual es
> parametrizada por el numero de un socio (tipo numérico), de la siguiente
> forma:
>
> El campo numérico en una tabla llamado codsocio, posee todos los


registros
> generales de los socios, en otra tabla existen todos los beneficiarios


que
> este socio puede tener, en el formulario, el grid lo "lleno" con los


datos
> de la vista actualizable, en el momento de grabar todo ok, no me da


ningún
> error, pero al momento de querer borrar algún beneficiario y darle
> tableupdate a la vista me dar el error que el campo clave de la vista no


es
> único, entiendo que esto se da puesto que en la tabla de beneficiario un
> socio puede tener o tiene mas de un beneficiario (y la tabla de
> beneficiarios el campo clave es codsocio tambien), consultando con un
> compañero me decia que le asigne el recno a la vista y que al momento de
> eliminar vuleva a recorrer la vista y que los campos actualizables sean
> codsocio + recno(), habrá alguna forma mas "decente" de hacerlo??, yo


tengo
> pensado asignarle un codigo nuevo a cada beneficiario pero no se si esa
> forma pueda ser la mas optima, que me aconsejan??
>
> saludos y perdon por lo grande la pregunta
>
>
>
Respuesta Responder a este mensaje
#3 Esparta Palma
09/04/2005 - 02:05 | Informe spam
En una palabra: *si*.
Aunque lo ideal sería que tuvieran un campo identificador, pero si no te
es posible agregárselo, entonces dejarlo así como comentas.


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

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

FoxMan wrote:
hola, esparta entonces lo que me dices es que cree en la tabla de donde se
carga la vista actualizable que genere un identificador unico, como por
ejemplo el número del beneficiario amarrado con el numero del socio


Saludos

"Esparta Palma" escribió en el
mensaje news:u#

Esto se puede evitar con un mejor diseño de base de datos, en esquema
cliente servidor es *indispensable* que cada entidad tenga una columna
que lo identifique unívocamente. El usar RECNO() no te asegura para nada
que sea un identificador válido ya que éste se mueve cuando borras y
haces pack().

Si no te es posible modificar la BD, entonces puedes generar un
identificador basándote en varios campos, esto por medio del generador
de vistas.

FoxMan wrote:

Buenos días, antes de todo gracias por leer mi consulta.

Estoy trabajando con una vista actualizable, en VFP 6.0, la cual es
parametrizada por el numero de un socio (tipo numérico), de la siguiente
forma:

El campo numérico en una tabla llamado codsocio, posee todos los





registros

generales de los socios, en otra tabla existen todos los beneficiarios





que

este socio puede tener, en el formulario, el grid lo "lleno" con los





datos

de la vista actualizable, en el momento de grabar todo ok, no me da





ningún

error, pero al momento de querer borrar algún beneficiario y darle
tableupdate a la vista me dar el error que el campo clave de la vista no





es

único, entiendo que esto se da puesto que en la tabla de beneficiario un
socio puede tener o tiene mas de un beneficiario (y la tabla de
beneficiarios el campo clave es codsocio tambien), consultando con un
compañero me decia que le asigne el recno a la vista y que al momento de
eliminar vuleva a recorrer la vista y que los campos actualizables sean
codsocio + recno(), habrá alguna forma mas "decente" de hacerlo??, yo





tengo

pensado asignarle un codigo nuevo a cada beneficiario pero no se si esa
forma pueda ser la mas optima, que me aconsejan??

saludos y perdon por lo grande la pregunta










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