FoxPro/Visual FoxPro - busqueda e insercion en tabla

 
Vista:

busqueda e insercion en tabla

Publicado por ramon (15 intervenciones) el 25/01/2005 11:44:03
Hola, tengo un problema, estoy programando en vfp8.0, y tengo una tabla, que inserto en ella datos a traves de un formulario. el caso es que insertar los datos no me da problema, y esa tabla esta ordenada por codigo. el problema viene cuando quiero insertar el dato si no esta el codigo me se me introduce, y no lo inserto si ya está. de esta manera no se me inserta nunca, sino que se me sobreescribe uno encima del otro.
Les paos mi codigo, en principio pensaba que iba a funcionar correctametne, pero visto lo visto, pido ayuda. Saludos.

vcodigo=c(1) **meto en la variable el codigo que me pasan, previamente metido en un array
SELECT pru *selecciono la base de datos

seek vcodigo *busco codigo
if FOUND() *si encuentra no hago nada

ELSE **sino meto el array en la tabla
APPEND BLANK
INSERT INTO pruebas FROM ARRAY c
endif

Creo que es correcto, pero no se, algo fallara, tambien he probado con eof() y sin el else, claro.
Espero que me puedan ayudar. Saludos.
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:busqueda e insercion en tabla

Publicado por Marcos A. (263 intervenciones) el 25/01/2005 12:19:32
Hola.

Si el valor del dato es caracter haslo de la siguiente manera:

SEEK ALLTRIM(VCODIGO)
IF !FOUND() **** para que no coloques el ELSE
APPEND BLANK
INSERT INTO pruebas FROM ARRAY c
ENDIF

Saludos....
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

RE:busqueda e insercion en tabla

Publicado por ramon (15 intervenciones) el 25/01/2005 12:55:47
me ocurre lo mismo , modificando lo que tenia por
SELECT pru
vcodigo=c(1)
SEEK ALLTRIM(vcodigo)
IF !FOUND()
**** para que no coloques el ELSE
APPEND BLANK
INSERT INTO pruebas FROM ARRAY c
ENDIF

Que raro, y el caso es qeu cuando acabo y abro la tabla, parece qeu está, pero si le meto otro nuevo, se elimina el que estaba y me pone el nuevo, y asi todo el tiempo, asi que al final se queda sin poner ninguno.
A ver si pueden decirme que puede ser.
Saludos.
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

RE:busqueda e insercion en tabla

Publicado por Kely (75 intervenciones) el 25/01/2005 16:42:48
No pongas APPEND BLANK y avisame lo que pasa
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

RE:busqueda e insercion en tabla

Publicado por ramon (15 intervenciones) el 26/01/2005 07:36:11
hola, lo he hecho, y lo mismo, solo que ahora no me aparece uno en blanco. Lo he probado tambien con una tabla con la misma estructura pero vacia y funciona correctamente. Antes esta haciendo con una tabla con 26500 registros. Por el momento seguire con la vacia, insertando poco a poco datos, pq con esta funciona correctamente
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

RE:busqueda e insercion en tabla

Publicado por RICARDO (153 intervenciones) el 26/01/2005 17:12:54
SE SUPONE UN ARAAY DE UNA SOLA FILA
BUSCAR = CODIGO
IF !SEEK(BUSCAR,latabla,elindice)

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