Indices decendentes

Indices decendentes

Postby servicomver » Fri Mar 23, 2007 3:46 pm

Hola:
Estoy trbajando paralelamente con un sistema llamado ASPEL SAE v3.0 el cual usamos con base de datos dbf e indices mdx, el caso es que no he encontrado la forma de grabar datos y q estos se reflejen en el indice. los archivos son MINV01.DBF y los MINV01.MDX he notado que el archivo indexado esta en forma descendente abro MINV01 y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
1..................0001...................1................10............10
2..................0001...................53................1..............9
3..................0001...................53................2..............7

consulto con el programa mencionado arriba y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
3..................0001...................53................2..............7
2..................0001...................53................1..............9
1..................0001...................1.................10.............10

Supongo que el indice esta Descendente pero no se como hacerlo
o no se como activar o abrir la base de datos para que lo muestre de esa forma intente con el comando:
SET DESCENDING ON, pero al compilar marca error
alguien tiene alguna idea ???, por cierto solo tiene un indice

GRACIAS por todo
saludos
Veracruz, Ver. Mexico
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Postby R.F. » Fri Mar 23, 2007 4:47 pm

No creo que sea complicado, esto me fucniona a mi:

INDEX ON condicion .... DESCENDING

y listo
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby servicomver » Fri Mar 23, 2007 6:26 pm

Rene
Gracias por tu ayuda, yalo intente pero me sale un error al momento de ejecutar la orden
es error en TAG
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Indices decendentes

Postby lubin » Fri Mar 23, 2007 7:41 pm

Holas
por casualidad has intentado con la funcion Descend(xValor)

Por ejemplo :

INDEX ON CLV_ART + DESCEND(TIP_MOV +STR(DBBEXIST,5,0) ) TO ......


quedaria ordenado por Clave, asscedentemente pero dentro de cada clave, descendentemente por tipo de movimiento y DBBexit...

no necesita usar SET DESCENDING..
Suerte

Lubin


servicomver wrote:Hola:
Estoy trbajando paralelamente con un sistema llamado ASPEL SAE v3.0 el cual usamos con base de datos dbf e indices mdx, el caso es que no he encontrado la forma de grabar datos y q estos se reflejen en el indice. los archivos son MINV01.DBF y los MINV01.MDX he notado que el archivo indexado esta en forma descendente abro MINV01 y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
1..................0001...................1................10............10
2..................0001...................53................1..............9
3..................0001...................53................2..............7

consulto con el programa mencionado arriba y se ve asi:
REGISTRO...CLV_ART....... TIPO_MOV.......CANT......DB8EXIST
3..................0001...................53................2..............7
2..................0001...................53................1..............9
1..................0001...................1.................10.............10

Supongo que el indice esta Descendente pero no se como hacerlo
o no se como activar o abrir la base de datos para que lo muestre de esa forma intente con el comando:
SET DESCENDING ON, pero al compilar marca error
alguien tiene alguna idea ???, por cierto solo tiene un indice

GRACIAS por todo
saludos
Veracruz, Ver. Mexico
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Postby servicomver » Tue Mar 27, 2007 9:09 pm

Hola:
Sigo sin resolver mi problemas, tal vez no me explique bien, no necesito generar los indices descendentes, los necesito abrir
ya que estos los crea un sistema llamado ASPEL SAE, al inicio uso esto:
(los archivos q tiene son: MINV01.DBF y MINV01.MDX)

CLEAR SCREEN
REQUEST DBFMDX
RDDSETDEFAULT( "DBFMDX" )
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1956

USE MINV01
SET ORDER TO 2
APPEND BLANK
FIELD->NUM_REG:=16
FIELD->CLV_ART:="0001"
FIELD->TIPO_MOV:=51
FIELD->FECHA_DOCU:=DATE()
FIELD->REFER:="84"
FIELD->CLAVE_CLPV:="MOSTR"
FIELD->VEND:=""
FIELD->CANT:=3
FIELD->CANT_COST:=0
FIELD->PRECIO:=1
FIELD->COSTO:=1
FIELD->ALMACEN:=1
FIELD->AFEC_COI:=""
FIELD->OBS_MINV:=0
FIELD->REG_SERIE:=0
FIELD->UNI_VENTA:="pz"
FIELD->U4SEC:=0
FIELD->DB8EXIST:=1
FIELD->TIPO_PROD:="I"
FIELD->FACTOR_CON:=1
FIELD->FECHAELAB:= DATE()
FIELD->USUARIO:=0
FIELD->M_FLETE:=0

* al poner set order to 2, si despues de grabar el registro lo listo efectivamente lo ordena bien, pero al consultarlo con el programa ya elaborado (Aspel), repite muchas veces el ultimo registro, no se q estoy haciendo mal, pero si regenero indices desde ese mismo programa el problema se soluciona, solo q yo necesito grabar y q se afecten correctamente los indices, vi que la estructura del indice es:
CLV_ART + STR(ALMACEN) + STR(NUM_REG) + STR(TIPO_MOV)

Y ademas como les comentaba antes no encuentro la forma de donde lo ordena descendentemente, espero haberme explicado bien o no se si sea necesario pasarles los archivos,

Como puedo hacer para que al grabar en la base de datos MINV01.DBF se afecten todos los Indices contenidos en MINV01.MDX ????

saludos
veracruz, ver. mexico
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Postby Miguel Rivera » Tue Apr 10, 2007 2:44 pm

Amigo:

Viendo tu problema, me gustaria acotar algo, podrias probar declarando el archivo indice, no se enque esta desarrollado el programa que arriba declaras el que genera y actualiza la base y sus indices.

USE MINV01
Set Inde to MINVO1 && Prueba esto
SET ORDER TO 2

Segun lo que veo en tu programa, solo prodias probar esto y me cuentas.

Ojala de pueda servir.


servicomver wrote:Hola:
Sigo sin resolver mi problemas, tal vez no me explique bien, no necesito generar los indices descendentes, los necesito abrir
ya que estos los crea un sistema llamado ASPEL SAE, al inicio uso esto:
(los archivos q tiene son: MINV01.DBF y MINV01.MDX)

CLEAR SCREEN
REQUEST DBFMDX
RDDSETDEFAULT( "DBFMDX" )
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 1956

USE MINV01
SET ORDER TO 2
APPEND BLANK
FIELD->NUM_REG:=16
FIELD->CLV_ART:="0001"
FIELD->TIPO_MOV:=51
FIELD->FECHA_DOCU:=DATE()
FIELD->REFER:="84"
FIELD->CLAVE_CLPV:="MOSTR"
FIELD->VEND:=""
FIELD->CANT:=3
FIELD->CANT_COST:=0
FIELD->PRECIO:=1
FIELD->COSTO:=1
FIELD->ALMACEN:=1
FIELD->AFEC_COI:=""
FIELD->OBS_MINV:=0
FIELD->REG_SERIE:=0
FIELD->UNI_VENTA:="pz"
FIELD->U4SEC:=0
FIELD->DB8EXIST:=1
FIELD->TIPO_PROD:="I"
FIELD->FACTOR_CON:=1
FIELD->FECHAELAB:= DATE()
FIELD->USUARIO:=0
FIELD->M_FLETE:=0

* al poner set order to 2, si despues de grabar el registro lo listo efectivamente lo ordena bien, pero al consultarlo con el programa ya elaborado (Aspel), repite muchas veces el ultimo registro, no se q estoy haciendo mal, pero si regenero indices desde ese mismo programa el problema se soluciona, solo q yo necesito grabar y q se afecten correctamente los indices, vi que la estructura del indice es:
CLV_ART + STR(ALMACEN) + STR(NUM_REG) + STR(TIPO_MOV)

Y ademas como les comentaba antes no encuentro la forma de donde lo ordena descendentemente, espero haberme explicado bien o no se si sea necesario pasarles los archivos,

Como puedo hacer para que al grabar en la base de datos MINV01.DBF se afecten todos los Indices contenidos en MINV01.MDX ????

saludos
veracruz, ver. mexico
Miguel Rivera
 
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 5 guests