FoxPro/Visual FoxPro - PORQUE NO ME LO GUARDA???

 
Vista:

PORQUE NO ME LO GUARDA???

Publicado por Raul (151 intervenciones) el 27/08/2004 17:32:13
Buenos Dias amigos, mi problema es el sigiuente:

yo tengo una bd que esta indexada por una clave de producto la cual es caracter(ccveprod), entonces cuando yo quiero guardar en mi bd simplemente no lo hace, mi bd se llama (entsal, entradas y salidas de productos), la cual como ya les comente esta indexada por ccveprod(clave producto) es un solo indice de tipo principal, entonces yo tengo el siguiente codigo que me debe de efectuar el guardado:

PROCEDURE guarda

SELECT entsal
GO top
browse
APPEND BLANK
browse
IF !SEEK(frmentsal.pageframe1.page1.TxtCCVEPROD.Value,'entsal',1)
= MESSAGEBOX('La entrada del producto NO existe,se procederá a guardarla',48,'DISTRIBUIDORA MARIA ISABEL')
REPLACE EntSal.ccveprod WITH FrmEntSal.Pageframe1.page1.TxtCCVEPROD.Value
browse
ENDIF

RETURN

es un procedimiento lo que tengo hecho, pero cuando llega el replace simplemente no lo hace, les agradezco de antemano su ayuda.

GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PORQUE NO ME LO GUARDA???

Publicado por Roman Suazo (2723 intervenciones) el 27/08/2004 17:49:55
Agunas recomendaciones:

*pon el codigo en un metodo del la forma, asi no tendras que poner el nombre de ella y
usar la palabra reservada "thisform" . Tu codigo se podria ser mas generico entre otras ventajas...

Pones muchos Browse y demas (tal ves haya alguna razon para hacerlo). El codig o deberia ser algo asi (este codigo va en un metodo de la forma o click de un boton):

SELECT entsal

IF !SEEK(thisform.pageframe1.page1.TxtCCVEPROD.Value,'entsal',1)
= MESSAGEBOX('La entrada del producto NO existe,se procederá a guardarla',48,'DISTRIBUIDORA MARIA ISABEL')
SELECT entsal
APPEND BLANK
Go BOTTOM
REPLACE EntSal.ccveprod WITH thisform.Pageframe1.page1.TxtCCVEPROD.Value
ENDIF

RETURN

Una razon por la cual puede ser que no se este guardando los datos es que estas rompiendo la unicidad del indice, es decir, no estas usando valores unicos segun la expresion del indice...

Tambien te recomendaria los BUFFERS que trae el fox para asi hacerte el trabajo mas facil y mantener un mejro contro del la informacion que se pone en la base de datos

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar