FoxPro/Visual FoxPro - Foxbase dos

 
Vista:
sin imagen de perfil

Foxbase dos

Publicado por Ism (4 intervenciones) el 25/03/2017 05:16:25
Una consulta
Tengo un programa para dos y para manejar las bases de datos tengo foxbase (todo es en dos con win98)
Y tengo un dbf con datos del 2003 Al 2017

Quiero borrar los datos anteriores al 2015

Estando en el dbf pongo

Delete All for "fecha"<"01/01/2016"

Me sale campos borrados 0

Pero si pongo :
Delete All for "fecha">"01/01/2016"
Si borra los campos mayores a esa fecha

He probado colocando en vez de for while y es lo mismo.

Toda ayuda es bienvenida
Muchas gracias por adelantado
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Foxbase dos

Publicado por Leonardo Daniel A. (507 intervenciones) el 25/03/2017 07:15:59
Hola pues es raro., pero por si acaso usa


set date to dmy
set century on

delete all for fecha < CTOD("01/01/2016")

pack
usa pack si lo quieres borrar definitvamente, porque fox solo los marca como borrados

ctod convierte una cadena de caracteres a fecha

dmy = dia mes año
century = activa el uso del año a 4 digitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Foxbase dos

Publicado por Santiago (551 intervenciones) el 25/03/2017 07:23:35
Asumiendo que fecha=campo tipo date()

Entonces:
Ser date brit
Ser cent on

Delete all for fecha < ctod("01/01/2016")

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Foxbase dos

Publicado por Ism (4 intervenciones) el 25/03/2017 19:47:53
Está respuesta funcionó bien

Set date brit
Set cent on

Delete All for fecha < ctod("01/01/2016)

Gracias !!!!!!!
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
sin imagen de perfil

Foxbase dos

Publicado por Ism (4 intervenciones) el 25/03/2017 20:46:08
Aprovechando el hilo, otra consulta relacionada

Tengo una dbf y hay un campo llamado "cantidad" es numérico

Como puedo usar el comando display o algo similar para ver los registros de mayor cantidad a menor ??

Gracias una vez más
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
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Foxbase dos

Publicado por Santiago (551 intervenciones) el 26/03/2017 06:04:42
Tienes que crear un índice CDX donde ordenas por ese campo "cantidad", debes hacerlo con la opción "descendente", para que lo ordene de mayor a menor, luego ves la data con un Browse.

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