OrdSetRelation()

HMG en Español

Moderator: Rathinagiri

Post Reply
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

OrdSetRelation()

Post by arroya2 »

Hola amigos.

Tengo dos DBFs (Clientes.dbf y Libro.dbf con índices CDXs) relacionadas mediante la función OrdSetRelation() mediante el campo NumCli:

Code: Select all

OrdSetRelation('Libro', {|| Clientes->NumCli}, 'Clientes->NumCli')
Así puedo ver todos los libros que tiene cada cliente.

Mi problema es que en la relación de libros comprados, en la ventana de cada cliente, se ve en primer lugar el libro que compró antes y en el último lugar el que compró más recientemente.
Necesito que esa relación de libros comprados, se vea en primer lugar el libro que compró más recientemente y en último lugar el primero que compró.

Code: Select all

@ 490 , 22 BROWSE Browse_1 ;
		WIDTH 975 ;
		HEIGHT 193 ;
		HEADERS { 'CliNum', 'CertNum', 'Realizado', 'Renovación', 'Categoría', 'Obt/Rev', 'Resultado' } ;
		WIDTHS { 92 , 92 , 115 , 115 , 218 , 150 , 170 } ;
		WORKAREA LIBRO ;
		FIELDS { 'Libro->NUMCLI', 'Libro->NUMCERT', 'Libro->FECHACERT', 'Libro->FECHAREVI', 'Libro->CATEGORIA', 'Libro->OBTREV', 'Libro->RESTOTAL' } ;
		TOOLTIP 'Apuntes de Certificados' ;
		FONTCOLOR {0 , 0 , 255} ;
		SIZE 14 ;
		ON DBLCLICK (AnadeEditaCert(.F. , ,), ActualizarClientes(cBase))
Espero que podáis darme alguna sugerencia
Muchas gracias
Rafael Pérez

Translated by Google.
Hello friends.

I have two DBFs (Clientes.dbf and Libro.dbf with indexes CDXs) OrdSetRelation related by function () using the field NumCli:

Code: Select all

OrdSetRelation('Libro', {|| Clientes->NumCli}, 'Clientes->NumCli')
So I can see all the books available to each client.

My problem is that in the relation of books purchased, in the window of each client is the first book I bought before and in the last place you bought more recently.
I need that relationship of books bought, to look first bought the book recently and the first last bought.

Code: Select all

@ 490 , 22 BROWSE Browse_1 ;
		WIDTH 975 ;
		HEIGHT 193 ;
		HEADERS { 'CliNum', 'CertNum', 'Realizado', 'Renovación', 'Categoría', 'Obt/Rev', 'Resultado' } ;
		WIDTHS { 92 , 92 , 115 , 115 , 218 , 150 , 170 } ;
		WORKAREA LIBRO ;
		FIELDS { 'Libro->NUMCLI', 'Libro->NUMCERT', 'Libro->FECHACERT', 'Libro->FECHAREVI', 'Libro->CATEGORIA', 'Libro->OBTREV', 'Libro->RESTOTAL' } ;
		TOOLTIP 'Apuntes de Certificados' ;
		FONTCOLOR {0 , 0 , 255} ;
		SIZE 14 ;
		ON DBLCLICK (AnadeEditaCert(.F. , ,), ActualizarClientes(cBase))
I hope you can give me some suggestions.
Thank you very much
Rafael Pérez
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: OrdSetRelation()

Post by Pablo César »

Hola Rafael, creo que tu problema seria en posicionar el pontero para que quede posicionado en la ultima compra. Esto lo debes hacer com dbSeek o LOCATE. Talvez sea buena idea que grabes la ultima fecha de venda de cada cliente. si optas por eso, te aconsejo que lo hagas en el propio clientes.dbf abres un nuevo campo. Y el otro grid talvez tengas que ordenar el índices de mayor a menor sobre la fecha. Todo depende como lo hayas hecho (sin ver el código e dificil). Ahra si el segundo grid es de vectores, entonces en lufar de indexar utilize el ASort(). Espero haberte ayudado.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
arroya2
Posts: 172
Joined: Thu Aug 06, 2009 7:16 am

Re: OrdSetRelation()

Post by arroya2 »

Gracias Pablo Cesar, lo voy hacer. Estaba obcecado en el número de cliente y no veía la solución de ordenar por fecha.

Pero al realizar una relación entre dos tablas, se debe ordenar por el campo con el que se hace la relación.
Intentaré ordenar por NumCli (numero de cliente) y por la fecha, a ver que sucede.

Saludos
Rafael Pérez
Post Reply