SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9

2,029 views
Skip to first unread message

xiloa

unread,
Mar 2, 2012, 9:01:23 AM3/2/12
to Comunidad de Visual Foxpro en Español
Buenos dias amigos !!!

Tengo un problema y es que cuando mando a insertar registros a una
tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
no se por que y no he encontrato una respuesta. La tabla es un
historial de movimiento de alumnos por lo tanto un alumno puede estar
registrado ahi mas de una vez pero cada movimiento me lo inserta dos
veces.

La tabla no tiene llave principal

AYUDA PLISSS !!!!

Este es el codigo que lo tengo colocado en un Boton

RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
tra_codescahora, tra_trasladonomb, "
RAYAq002 = "tra_succodigo,
tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_trasla,
"
RAYAq003 = "tra_system )"
RAYAq004 = "Values (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?
AcCodDepa,?AcCodMun, "
RAYAq005 = "?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema) "

comandoinsertarlo = RAYAq001+RAYAq002+RAYAq003+RAYAq004+RAYAq005

= SQLEXEC(lnConnectionHandle2,comandoinsertarlo)
= SQLCOMMIT(lnConnectionHandle2)

xiloa

unread,
Mar 2, 2012, 9:10:31 AM3/2/12
to Comunidad de Visual Foxpro en Español

Pablo Daniel Lissa

unread,
Mar 2, 2012, 9:30:29 AM3/2/12
to Comunidad de Visual Foxpro en Español
Hola:

Lo único que se me ocurre por preguntar es si el código está en el
evento Click del botón.

O sino, si desde algún otro lado que no sea el propio botón llamás a
boton.Click.

Una posible estrategia que te recomiendo es que pongas un
MESSAGEBOX("") antes del SQLEXEC como para tomar noción de si el
evento del botón se repite y en qué momentos.

Saludos.
------------------------------------------------------------------------

Samuel San Miguel

unread,
Mar 2, 2012, 9:36:54 AM3/2/12
to publice...@googlegroups.com
Amigo cambia tus instrucciones por esta, es mas legible y más flexible de utilizar:
TEXT TO comandoinsertarlo TEXTMERGE NOSHOW
  INSERT INTO traslados (tra_codigoalumno, tra_codescantes, tra_codescahora, tra_trasladonomb, tra_succodigo
        , tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_trasla,tra_system )
  Values (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?AcCodDepa,?AcCodMun
        ,?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema)
ENDTEXT

= SQLEXEC(lnConnectionHandle2,comandoinsertarlo)
= SQLCOMMIT(lnConnectionHandle2)

Luego nos cuentas..
Saludos.

Samuel San Miguel

unread,
Mar 2, 2012, 9:37:36 AM3/2/12
to publice...@googlegroups.com
??


El viernes 2 de marzo de 2012 09:01:23 UTC-5, xiloa escribió:

Viktor Velazquez

unread,
Mar 2, 2012, 10:00:19 AM3/2/12
to publice...@googlegroups.com
por que no pruebas  con  TEXTMERGE 


TEXT TO xcadena TEXTMERGE noshow
SELECT * FROM ... TU CADENA
ENDTEXT
SQLPREPARE(Nx,xcadena,'TUCURSOR')
SQLEXEC(Nx)


SALUDOS..


Date: Fri, 2 Mar 2012 06:37:36 -0800
From: sasa...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9

lm...@cclf.com.pe

unread,
Mar 2, 2012, 3:34:06 PM3/2/12
to Comunidad de Visual Foxpro en Español
Que extraña forma de trabajar con SQL Server..
 


logo2 Mata Figueroa, Luis A.
Procesos y Tecnología
TELF: (00 51 1) 617-4613
RPC : (00 51) 993597297
FAX : (00 51 1) 617-4601
lm...@cclf.com.pe
www.cclf.com.pe
imgfrm siguenos-fb

logo2[3].png
imgfrm[3].png
siguenos-fb[3].gif

xiloa

unread,
Mar 2, 2012, 3:58:41 PM3/2/12
to Comunidad de Visual Foxpro en Español
Buena tarde amigos!


Probe de esta forma pero igual me duplica el registro es como que le
diera click dos veces




On 2 mar, 08:36, Samuel San Miguel <sasam...@gmail.com> wrote:
> Amigo cambia tus instrucciones por esta, es mas legible y más flexible de
> utilizar:
> TEXT TO comandoinsertarlo TEXTMERGE NOSHOW
>   INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
> tra_codescahora, tra_trasladonomb, tra_succodigo
>         ,
> tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,tra_system
> )
>   Values
> (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?AcCodDepa,?AcCodMun
>         ,?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema)
> ENDTEXT
>
> = SQLEXEC(lnConnectionHandle2,comandoinsertarlo)
> = SQLCOMMIT(lnConnectionHandle2)
>
> Luego nos cuentas..
> Saludos.
>
> El viernes 2 de marzo de 2012 09:01:23 UTC-5, xiloa escribió:
>
>
>
>
>
> > Buenos dias amigos !!!
>
> > Tengo un problema y es que cuando mando a insertar registros a una
> > tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
> > no se por que y no he encontrato una respuesta.   La tabla es un
> > historial de movimiento de alumnos  por lo tanto un alumno puede estar
> > registrado ahi mas de una vez pero cada movimiento me lo inserta dos
> > veces.
>
> > La tabla no tiene llave principal
>
> > AYUDA PLISSS !!!!
>
> > Este es el codigo que lo tengo colocado en un Boton
>
> > RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
> > tra_codescahora, tra_trasladonomb,  "
> > RAYAq002 = "tra_succodigo,
> > tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,
>
> > "
> > RAYAq003 = "tra_system  )"
> > RAYAq004 = "Values (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?
> > AcCodDepa,?AcCodMun, "
> > RAYAq005 = "?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema) "
>
> > comandoinsertarlo = RAYAq001+RAYAq002+RAYAq003+RAYAq004+RAYAq005
>
> > = SQLEXEC(lnConnectionHandle2,comandoinsertarlo)
> > = SQLCOMMIT(lnConnectionHandle2)- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

xiloa

unread,
Mar 2, 2012, 3:59:11 PM3/2/12
to Comunidad de Visual Foxpro en Español
Buena tarde !!


Efectivamente el codigo esta en el evento click amigo



On 2 mar, 08:30, Pablo Daniel Lissa <pablo.daniel.li...@gmail.com>
wrote:
> Hola:
>
> Lo único que se me ocurre por preguntar es si el código está en el
> evento Click del botón.
>
> O sino, si desde algún otro lado que no sea el propio botón llamás a
> boton.Click.
>
> Una posible estrategia que te recomiendo es que pongas un
> MESSAGEBOX("") antes del SQLEXEC como para tomar noción de si el
> evento del botón se repite y en qué momentos.
>
> Saludos.
> ------------------------------------------------------------------------
>
> On 2 mar, 11:01, xiloa <xiloa2...@gmail.com> wrote:
>
>
>
> > Buenos dias amigos !!!
>
> > Tengo un problema y es que cuando mando a insertar registros a una
> > tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
> > no se por que y no he encontrato una respuesta.   La tabla es un
> > historial de movimiento de alumnos  por lo tanto un alumno puede estar
> > registrado ahi mas de una vez pero cada movimiento me lo inserta dos
> > veces.
>
> > La tabla no tiene llave principal
>
> > AYUDA PLISSS !!!!
>
> > Este es el codigo que lo tengo colocado en un Boton
>
> > RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
> > tra_codescahora, tra_trasladonomb,  "
> > RAYAq002 = "tra_succodigo,
> > tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,
> > "
> > RAYAq003 = "tra_system  )"
> > RAYAq004 = "Values (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?
> > AcCodDepa,?AcCodMun, "
> > RAYAq005 = "?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema) "
>
> > comandoinsertarlo = RAYAq001+RAYAq002+RAYAq003+RAYAq004+RAYAq005
>
> > = SQLEXEC(lnConnectionHandle2,comandoinsertarlo)

xiloa

unread,
Mar 2, 2012, 4:00:12 PM3/2/12
to Comunidad de Visual Foxpro en Español
Buena tarde !

Probe esta forma y nada




On 2 mar, 09:00, Viktor Velazquez <vive...@hotmail.com> wrote:
> por que no pruebas  con  TEXTMERGE
>
> TEXT TO xcadena TEXTMERGE noshowSELECT * FROM ... TU CADENA
> ENDTEXTSQLPREPARE(Nx,xcadena,'TUCURSOR')SQLEXEC(Nx)
>
> SALUDOS..
> Date: Fri, 2 Mar 2012 06:37:36 -0800
> From: sasam...@gmail.com
> To: publice...@googlegroups.com
> Subject: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
>
> ??
>
> El viernes 2 de marzo de 2012 09:01:23 UTC-5, xiloa  escribió:Buenos dias amigos !!!
>
> Tengo un problema y es que cuando mando a insertar registros a una
>
> tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
>
> no se por que y no he encontrato una respuesta.   La tabla es un
>
> historial de movimiento de alumnos  por lo tanto un alumno puede estar
>
> registrado ahi mas de una vez pero cada movimiento me lo inserta dos
>
> veces.
>
> La tabla no tiene llave principal
>
> AYUDA PLISSS !!!!
>
> Este es el codigo que lo tengo colocado en un Boton
>
> RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
>
> tra_codescahora, tra_trasladonomb,  "
>
> RAYAq002 = "tra_succodigo,
>
> tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,

xiloa

unread,
Mar 2, 2012, 4:01:00 PM3/2/12
to Comunidad de Visual Foxpro en Español
Tu conoces otra forma que funcione mejor amigo ???




On 2 mar, 14:34, <lm...@cclf.com.pe> wrote:
> Que extraña forma de trabajar con SQL Server..
>
> ---------------------------------------------------------------------------­-----
>
>         Mata Figueroa, Luis A.
>       Procesos y Tecnología
>       TELF: (00 51 1) 617-4613
>       RPC : (00 51) 993597297
>       FAX : (00 51 1) 617-4601
>       lm...@cclf.com.pe
>      www.cclf.com.pe
>
> From: xiloa
> Sent: Friday, March 02, 2012 9:01 AM
> To: Comunidad de Visual Foxpro en Español
> Subject: [vfp] SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
>
> Buenos dias amigos !!!
>
> Tengo un problema y es que cuando mando a insertar registros a una
> tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
> no se por que y no he encontrato una respuesta.   La tabla es un
> historial de movimiento de alumnos  por lo tanto un alumno puede estar
> registrado ahi mas de una vez pero cada movimiento me lo inserta dos
> veces.
>
> La tabla no tiene llave principal
>
> AYUDA PLISSS !!!!
>
> Este es el codigo que lo tengo colocado en un Boton
>
> RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
> tra_codescahora, tra_trasladonomb,  "
> RAYAq002 = "tra_succodigo,
> tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,
> "
> RAYAq003 = "tra_system  )"
> RAYAq004 = "Values (?AnCodigo,?AnCodEsc,?AcCodigo,?AcNomTras,?xSuc,?
> AcCodDepa,?AcCodMun, "
> RAYAq005 = "?AcCodAld,?AcFecha,?v2,?sexoz,?Trass,?Systema) "
>
> comandoinsertarlo = RAYAq001+RAYAq002+RAYAq003+RAYAq004+RAYAq005
>
> = SQLEXEC(lnConnectionHandle2,comandoinsertarlo)
> = SQLCOMMIT(lnConnectionHandle2)
>
>  logo2[3].png
> 16 KVerDescargar
>
>  imgfrm[3].png
> 52 KVerDescargar
>
>  siguenos-fb[3].gif
> 2 KVerDescargar

Guillermo MDQ

unread,
Mar 2, 2012, 4:07:22 PM3/2/12
to publice...@googlegroups.com
A mi lo que me llama la atencion es que decis que tu tabla no tiene clave principal.
Segun tengo entendido en un buen diseño de Base de Datos todas las tablas tienen que tener su clave principal.
Y mas aun si trabajas con SQL Server.
No estara por ese lado tu problema ?

Saludos
Guillermo

carlos SALCEDO

unread,
Mar 2, 2012, 4:12:46 PM3/2/12
to visual fox


Ponle a tu tabla un indice unico y te aseguro que se acaba el problema

Saludos
Carlos

> Date: Fri, 2 Mar 2012 12:59:11 -0800
> Subject: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
> From: xilo...@gmail.com
> To: publice...@googlegroups.com

mpulla

unread,
Mar 2, 2012, 5:54:20 PM3/2/12
to Comunidad de Visual Foxpro en Español
lo que dice Guillermo y Carlos es correcto, pero en algun lado debes
estar duplicando el codigo, utiliza el depurardor para ver donde esta
el problema...

Saludos.
Mauricio

On 2 mar, 16:12, carlos SALCEDO <carosam1...@hotmail.com> wrote:
> Ponle a tu tabla un indice unico y te aseguro que se acaba el problema
>
> Saludos
> Carlos
>
>
>
>
>
>
>
> > Date: Fri, 2 Mar 2012 12:59:11 -0800
> > Subject: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
> > From: xiloa2...@gmail.com

Miltiño

unread,
Mar 5, 2012, 9:03:14 AM3/5/12
to Comunidad de Visual Foxpro en Español
Muy de acuerdo a lo que dice Mpulla, en SQL Server es vital utilizar
una Clave principal. También puedes revisar si tienes una TRIGGER en
la tabla a lo mejor en la actualizción se está insertando nuevamente
el registro.

Att.

MILTON

Irlandes 1960

unread,
Mar 5, 2012, 11:46:18 AM3/5/12
to publice...@googlegroups.com
Más allá de las pautas de diseño que acertadamente indican los colegas, no debería duplicarse el registro. 
Como dice mauricio, me metería a seguir paso a paso lo que va pasando, y justo después de ejecutar el insert me fijaría que paso, a ver si tengo dos registros o uno solo. 
Lo de los TRIGGER puede ser una fuente del problema, pero me suena raro que pueda venir de ahí.
Por favor cuando lo resuelvas comenta por donde vino el tema.
Gracias

Nilton CPM

unread,
Mar 5, 2012, 12:10:28 PM3/5/12
to publice...@googlegroups.com
Isso me passo em um cliente com base FireBird, ja tenho uma rotina que guarda as operações dos usuarios, inclusão, alteração ou exclusão foi revisar as operações nessa tabela e descobrir que o usuario era que estava fazendo um processo de maneira errada no sistema.

Victor Espina

unread,
Mar 5, 2012, 1:42:44 PM3/5/12
to publice...@googlegroups.com
Dado que el codigo esta en un evento click, haz lo siguiente:

1) Elimina el contenido de la tabla
2) Pon un MESSAGEBOX() justo despues del SQLCOMMIT
3) Cuando aparezca el MESSAGEBOX(), verifica en la BD si el movimiento aparece duplicado o no

Una causa comun de registros duplicados en tablas sin clave primaria es la ejecucion inadvertida del mismo codigo varias veces 

Saludos

Victor Espina

xiloa

unread,
Mar 6, 2012, 8:31:36 AM3/6/12
to Comunidad de Visual Foxpro en Español
Hola amigo milton

el problema es que esa tabla es para historial de transacciones de
alumnos es decir la tabla contendra el mismo codigo del alumno varias
veces por lo tanto no puedo ponerle llave principal al menos
utilizando el codigo del alumno para ello....



mil gracias

Carlos Miguel FARIAS

unread,
Mar 6, 2012, 8:37:41 AM3/6/12
to publice...@googlegroups.com
Toda tabla debe y puede tener una clave primaria, solo es cuestion de diseño.
En tu tabla debe haber un conjunto de columnas (campos) que no pueden duplicarse en otra fila (registro), sobre ese conjunto de columnas debes crear una clave primaria.
Si no hay una clave natural, deberás crear una clave artificial, mediante un autoincremental u otro tipo de campo que te permita diferenciar un registro de otro.
No tengo todo el hilo a mano por lo tanto no se como es que detectabas que tenias registros duplicados.
Si refrescas esa parte, y pasas la estructura de la tabla, podría darte una idea de solución.
Saludos: Miguel, Santa Rosa (LP)

Nilton CPM

unread,
Mar 6, 2012, 8:51:52 AM3/6/12
to publice...@googlegroups.com
La tabla de auditoria tengo separada, onde gravo ID usuario, Data, Hora,
tabela, Campo princiapal e Valor do indice principal. isso a cada opera��o
do usuario.

--------------------------------------------------
From: "xiloa" <xilo...@gmail.com>
Sent: Tuesday, March 06, 2012 10:31 AM
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>


Subject: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9

> Hola amigo milton


>
> el problema es que esa tabla es para historial de transacciones de
> alumnos es decir la tabla contendra el mismo codigo del alumno varias
> veces por lo tanto no puedo ponerle llave principal al menos
> utilizando el codigo del alumno para ello....
>
>
>
> mil gracias
>
>
>
> On 5 mar, 08:03, Milti�o <servysis...@hotmail.com> wrote:
>> Muy de acuerdo a lo que dice Mpulla, en SQL Server es vital utilizar

>> una Clave principal. Tambi�n puedes revisar si tienes una TRIGGER en
>> la tabla a lo mejor en la actualizci�n se est� insertando nuevamente
>> el registro.
>>
>> Att.
>>
>> MILTON
>

Daniel Sánchez

unread,
Mar 6, 2012, 9:06:36 AM3/6/12
to publice...@googlegroups.com
En los gestores de BD, normalmente puede ocurrir una duplicación de datos o sobre escribir algunos datos con otro más reciente cuando no defines o no tienes bien claro los campos claves o campos únicos para la actualización, y peor si no tienes un número único o autoincremental, lo que te recomendaría es que le adiciones un campo de este tipo, para cuando hagas la actualización la realices mediante este campo y no por otros campos que podrían coincidir en varios registros.

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Irlandes 1960

unread,
Mar 6, 2012, 9:10:15 AM3/6/12
to publice...@googlegroups.com
SI, Si, Pero igual no debería duplicarse. 
¿o me van a decir que los todopoderosos y súper mágicos SQL son inferiores a los modestos DBF del pauperrimo VFP ? Porque con un DBF del vfp sin clave única, los registros no se duplican por si solos... no me parece que el problema pase por un diseño con o sin clave única, más allá de coincidir con la conveniencia de tenerla.
¿Analizaste si el tema es que la lógica del evento click se dispara dos veces? ¿O viene por algún lado de los triggers como sugirió a esta altura no recuerdo quien? 

Daniel Sánchez

unread,
Mar 6, 2012, 9:21:45 AM3/6/12
to publice...@googlegroups.com
El manejo de la información entre un DBF y un SGBD es diferente en cuanto a concepto, mientras en una tabla dbf basta con colocarnos en el registro e indicar replace al campo x, actualiza solo ese registro, cosa que no ocurre con un SGBD, solo por el simple echo que no tenemos acceso directo a la tabla solo trabajamos con una copia para actualizar un solo registro no es tan sencillo como colocarnos sobre el registro en el cursor y escribir replace ya que el motor de BD necesita campos key o campos primarios para poder realizar la actualización del registro que deseamos dentro del único o millones de registros que pueda contener dicha tabla, ya que si ponemos update mitabla set micampo=1... sin un where pues actualizara todos los registros con el valor indicado, cosa que no ocurriría si ponemos update mitabla set micampo=1 where campoclave=1000 lo que nos dará la seguridad que solo actualizara los registros o registro que tenga el valor del campoclave=1000.

carlos SALCEDO

unread,
Mar 6, 2012, 9:26:56 AM3/6/12
to visual fox
Antes del desmayo

recomiendo sacar con calma el codigo que guarda del boton el
evento o lo que envie y lo mandes manualmente. supongamos que tu cadena para guardar
toma valores de los objetos del formulario, antes de hacerlo asi colocale valores manuales para que mires
donde esta el problema, mas o menos algo asi

sqlResult = SQLEXEC(mCnnBD, " select gterceros('carlos','7114458','3174478','Activo','A','guardar')")

lo seleccionas y lo ejecutas, y entonces te podras dar cuenta como guarda y si duplica

Saludos
Carlos


Date: Tue, 6 Mar 2012 11:10:15 -0300
Subject: Re: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
From: irland...@gmail.com
To: publice...@googlegroups.com

Irlandes 1960

unread,
Mar 6, 2012, 9:38:08 AM3/6/12
to publice...@googlegroups.com
No pierdan de vista el problema. El colega está haciendo un INSERT que le duplica el registro. Y aunque el diseño de la tabla este para el tujes, no debería duplicar el registro si el insert se ejecuta una sola vez. 
¿O el SQL tiene vida propia? 

Daniel Sánchez

unread,
Mar 6, 2012, 9:46:17 AM3/6/12
to publice...@googlegroups.com
Si entendí que con su insert es que aparentemente duplica sus datos, si tu insertas una fila por lógica no tiene porque insertar 2, así que como comentan es mejor que haga pruebas manuales en la sección que realiza la inserción de sus datos y ver que ocurre.

Norberto

unread,
Mar 6, 2012, 10:06:15 AM3/6/12
to Comunidad de Visual Foxpro en Español
En el formulario crearia una propiedad THISFORM.AddMode = .F.
Cuando voy a editar los datos a agregar la pongo a .T.
En el refresh del boton pongo THIS.Enabled = THISFORM.AddMode
Creo un metodo THISFORM.Guardar
Alli verifico que addmode este en .T. y luego de guardar, si tuve
exito, pongo addmode en .F.
Para reforzar puedo poner en el Click del boton lo siguiente:

THIS.Enabled = .F. (evito un doble click)
THISFORM.Guardar()
THIS.Enabled = THISFORM.AddMode

On 6 mar, 11:26, carlos SALCEDO <carosam1...@hotmail.com> wrote:
> Antes del desmayo
>
> recomiendo sacar con calma el codigo que guarda del boton el
> evento o lo que envie y lo mandes manualmente. supongamos que tu cadena para guardar
> toma valores de los objetos del formulario, antes de hacerlo asi colocale valores manuales para que mires
> donde esta el problema, mas o menos algo asi
>
> sqlResult = SQLEXEC(mCnnBD, " select gterceros('carlos','7114458','3174478','Activo','A','guardar')")
>
> lo seleccionas y lo ejecutas, y entonces te podras dar cuenta como guarda y si duplica
>
> Saludos
> Carlos
>
> Date: Tue, 6 Mar 2012 11:10:15 -0300
> Subject: Re: [vfp] Re: SE ME DUPLICAN LOS REGISTROS EN SQL SERVER CON VFP 9
> From: irlandes1...@gmail.com

mpulla

unread,
Mar 6, 2012, 10:17:05 AM3/6/12
to Comunidad de Visual Foxpro en Español
Puedes mandar el formulario y la estructura de la db, para ver si te
podemos ayudar.

Saludos.
Mauricio.

xiloa

unread,
Mar 6, 2012, 11:46:48 AM3/6/12
to Comunidad de Visual Foxpro en Español
Estimados amigos



Encontre una solucion para evitar la duplicidad, le agregue un campo a
la tabla para poner un numero de transaccion le puse a ese campo como
llave principal y asunto resuelto, se pueden repetir los codigos de
los alumnos pero no asi los numeros de transaccion.


Agradesco el interes de todos

Saludos cordiales


Xiloa




On 2 mar, 08:01, xiloa <xiloa2...@gmail.com> wrote:
> Buenos dias amigos !!!
>
> Tengo un problema y es que cuando mando a insertar registros a una
> tabla en Sql Server 2008 con Visual Fox Pro 9 me duplica los registros
> no se por que y no he encontrato una respuesta.   La tabla es un
> historial de movimiento de alumnos  por lo tanto un alumno puede estar
> registrado ahi mas de una vez pero cada movimiento me lo inserta dos
> veces.
>
> La tabla no tiene llave principal
>
> AYUDA PLISSS !!!!
>
> Este es el codigo que lo tengo colocado en un Boton
>
> RAYAq001 = "INSERT INTO traslados (tra_codigoalumno, tra_codescantes,
> tra_codescahora, tra_trasladonomb,  "
> RAYAq002 = "tra_succodigo,
> tra_coddepto,tra_codmuni,tra_codaldea,tra_fecha,tra_grado,tra_sexo,tra_tras­la,

mpulla

unread,
Mar 6, 2012, 2:24:02 PM3/6/12
to Comunidad de Visual Foxpro en Español
No conosco la regla de negicios que aplicas pero no me parece una
solucion:

Los numero de transacciones no se repiten, pero tu aplicación ó tu db
seguira permitiendo informacion duplicada.

Mauricio.
Reply all
Reply to author
Forward
0 new messages