Se infringe la unicidad del indice "codibanc"

172 views
Skip to first unread message

Dunio

unread,
Feb 6, 2012, 8:30:23 PM2/6/12
to Comunidad de Visual Foxpro en Español
Holas
Soy nuevo en este foro y me gustaria si alguien me pueda explicar
porque se genera este problema.
Yo he programado hace mucho tiempo cuando todo era codigo plano y ya
entiendo de que se trata este tipo de programación, me estoy
actualizando porque quiero hacer un sistema para el uso de mi pequeña
empresa.
En resumen es una base de datos que contiene 5 tablas, una de ellas se
llama bancos y tiene un campo llamado codibanc tipo caracter 4 digitos
y otro descbanc caracter 60 digitos ambos son de textos, y esta
indexada (en el diseñador de tablas) por este campo dice principal y
ascendente.
Al hacer las pruebas de ingreso de datos de una manera muy sencilla
con un append blank y un gather memvar, se queda y me sale este error.
No he hecho nada mas que solo crear un codigo en click para agregar
con estos dos comandos, y otras cosas pequeñas que no tienen relación.
Primero pense que era por usar tablas que aparentemente se habia roto
el vinculo, pero despues volvi a comenzar de 0 (casi nada ya que estoy
comenzando) creando tablas nuevamente agregadas a una dbf con el
generador, luego las vinculé (aun no entiendo mucho para que se
necesitan o realizan estos vinculos y luego en un command buttom cree
este pequeño codigo para agregar datos.
No se si con esta información pueda ayudar.
Durante este mes he estado siguiendo sus mensajes y gracias a las
consultas de "Fiona", me ayudaron a mi, ya no tenia que consultar.
Entiendo bastante de programación pero de los 90s, programé en C++,
clipper, dbase, fox, assembler, basic, etc, pero ya estoy oxidado ya
entendí el enfoque de esta forma de programar pero no se donde andan
metidos los parametros jajajaja, a veces me da ganas de programar todo
en plano pero seria un desproposito, y creo yo que querer entender la
rueda cuando existen los F1.
Gracias anticipadamente por su ayuda.

Luis Maria Guayan

unread,
Feb 6, 2012, 8:37:42 PM2/6/12
to publice...@googlegroups.com
Seguramente tienes registros marcados para eliminación (DELETED()) con el campo CodiBanc en blanco u otro valor que quieras insertar.

Para esto tienes dos opciones: Le quitas el tipo de índice principal, o le añades el al índice el filtro NOT DELETED()


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Irlandes 1960

unread,
Feb 6, 2012, 8:50:21 PM2/6/12
to publice...@googlegroups.com
Hola Dunio, bienvenido a la comunidad. 
"Se infringe la Unicidad" surge cuando repetis el contenido de una clave que has declarado como única, concepto que no existía en los antiguos xbase en los cuales has efectuado tu experiencia.
Una probable fuente del problema está en tratar de agregar el registro con append blank, ya que en ese momento se inserta en el indice un campo vacío, o sea el banco "    ", situación que puedes no haber verificado.
Lo más saludable es no usar el comando append blank, sino el comando INSERT, con el que agregas el registro pero directamente con los datos, sin pasar por ese estado intermedio de vacío.
Si te fijas en el help., vas a encontrar diferentes formas de aplicar este comando.
Yo en su momento hice tu mismo camino, desde el foxpro 2.5 de dos al VFP 3.0 y la mejor inversión fue el curso oficial de MS, que en una semana me permitió dominar la programación orientada a objetos, las clases, herencias, etc.
Suerte.

Dunio

unread,
Feb 6, 2012, 9:03:32 PM2/6/12
to Comunidad de Visual Foxpro en Español
Gracias por la respuesta, entiendo que ponerlo como principal lo
convierte para que los campos sean "unicos" y debe ser un registro en
blanco.
Saludos

On 6 feb, 20:37, Luis Maria Guayan <luismar...@gmail.com> wrote:
> Seguramente tienes registros marcados para eliminación (DELETED()) con el campo CodiBanc en blanco u otro valor que quieras insertar.
> Para esto tienes dos opciones: Le quitas el tipo de índice principal, o le añades el al índice el filtro NOT DELETED()
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com

Dunio

unread,
Feb 6, 2012, 9:06:46 PM2/6/12
to Comunidad de Visual Foxpro en Español
Gracias por la pronta respuesta ya entendí la razon, gracias y si pues
me tomaré un tiempo para realizar un curso, tienes razón es la forma
mas rapida de retomar el conocimiento, la programación siempre ha sido
un hobbie para mi, y aunque un tiempo vivi de eso soy ingeniero civil
por profesión y trabajo, y un DJ frustado jajaja.
Saludos
Reply all
Reply to author
Forward
0 new messages