Hola a todos...
Me gustaría saber que función se emplea para ir saltando de registro en registro e ir mostrando la información de cada uno. En fox se utiliza un skip() o se juega con el recno() pero aquí no se como es...
Saludos y gracias...
Elías Torres.
Como avanzar de registro en registro....
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
Gracias Antonio...
Vale, te cuento lo que pretendo....
Tengo dos tablas, clientes y articulos, y he creado un filtro para relacionar un cliente con todos sus articulos. Lo que pretendo es teniendo un cliente que pueda ir avanzando por sus articulos....
Para ello estoy utilizando unos Get's donde muestro la información de la tabla y unos botones que me permitan ir al primer registro, al siguiente, al anterior y al último.
He puesto unos Get's porque quiero dar opcion a introducir un articulo nuevo para ese cliente.
Saludos y gracias
Elías Torres.
Vale, te cuento lo que pretendo....
Tengo dos tablas, clientes y articulos, y he creado un filtro para relacionar un cliente con todos sus articulos. Lo que pretendo es teniendo un cliente que pueda ir avanzando por sus articulos....
Para ello estoy utilizando unos Get's donde muestro la información de la tabla y unos botones que me permitan ir al primer registro, al siguiente, al anterior y al último.
He puesto unos Get's porque quiero dar opcion a introducir un articulo nuevo para ese cliente.
Saludos y gracias
Elías Torres.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Elías,
Puedes capturar una imagen de tu pantalla y ponerla aquí ? Usa www.imageshack.us y copia aqui el link que te proporciona.
Puedes proporcionar un pequeño ejemplo en PRG para que veamos como lo estás planteando ?
Puedes capturar una imagen de tu pantalla y ponerla aquí ? Usa www.imageshack.us y copia aqui el link que te proporciona.
Puedes proporcionar un pequeño ejemplo en PRG para que veamos como lo estás planteando ?
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
Hola Antonio.
En este link está la imagen de lo que te comentaba
http://img124.imageshack.us/my.php?image=dibujomg1.gif
Lo que pretendo es que con los botones de direccion me mueva solamente por los registros de la tabla de articulos. Esto lo he conseguido pero cada vez que me muevo hacia un registro me crea un dialogo nuevo, con lo que si pretendo salir tengo que ir cerrando una por una todas las pantallas que me ha abierto.....
El código que utilizo para esta pantalla es el siguiente:
FUNCTION Registros()
DEFINE dialog odlg resource "Cliente_articulos"
REDEFINE GET clientes->Nomcli id 500 OF odlg
REDEFINE GET clientes->Apecli id 510 OF odlg
redefine get articulos->cod_art id 100 of odlg
redefine get articulos->nom_art id 200 of odlg
redefine get articulos->cant id 300 of odlg
redefine get articulos->precio id 400 of odlg
ACTIVATE dialog odlg;
on init barra_desplazamiento(odlg)
RETURN nil
barra_dezplazamiento(odlg) es una funcion que contiene los iconos de desplazamiento...
FUNCTION barra_desplazamiento(odlg)
LOCAL aux:=1
@ 0, 0 BTNBMP NAME "primero" SIZE 32, 32 of odlg
@ 0, 32 BTNBMP NAME "anterior" SIZE 32, 32 of odlg
@ 0, 64 BTNBMP NAME "siguiente" SIZE 32, 32 of odlg action avanza_articulos(odlg)
@ 0, 96 BTNBMP NAME "ultimo" SIZE 32, 32 of odlg
@ 0, 178 BTNBMP NAME "buscar" size 32, 32 of odlg action odlg:end(),busca_cliente(aux)
@ 0, 210 BTNBMP NAME "salir" SIZE 32, 32 of odlg action odlg:end()
RETU nil
funcion avanza_articulos(odlg) la utilizo para comprobar el final de los articulos (para que solo me muestre los que tiene)
FUNCTION avanza_articulos(odlg)
IF !EOF()
articulos->(dbskip(1))
registros()
ELSE
MsgInfo( "El Cliente no tiene más articulos relacionados" )
endif
RETURN nil
Saludos y gracias...
Elías Torres.
En este link está la imagen de lo que te comentaba
http://img124.imageshack.us/my.php?image=dibujomg1.gif
Lo que pretendo es que con los botones de direccion me mueva solamente por los registros de la tabla de articulos. Esto lo he conseguido pero cada vez que me muevo hacia un registro me crea un dialogo nuevo, con lo que si pretendo salir tengo que ir cerrando una por una todas las pantallas que me ha abierto.....
El código que utilizo para esta pantalla es el siguiente:
FUNCTION Registros()
DEFINE dialog odlg resource "Cliente_articulos"
REDEFINE GET clientes->Nomcli id 500 OF odlg
REDEFINE GET clientes->Apecli id 510 OF odlg
redefine get articulos->cod_art id 100 of odlg
redefine get articulos->nom_art id 200 of odlg
redefine get articulos->cant id 300 of odlg
redefine get articulos->precio id 400 of odlg
ACTIVATE dialog odlg;
on init barra_desplazamiento(odlg)
RETURN nil
barra_dezplazamiento(odlg) es una funcion que contiene los iconos de desplazamiento...
FUNCTION barra_desplazamiento(odlg)
LOCAL aux:=1
@ 0, 0 BTNBMP NAME "primero" SIZE 32, 32 of odlg
@ 0, 32 BTNBMP NAME "anterior" SIZE 32, 32 of odlg
@ 0, 64 BTNBMP NAME "siguiente" SIZE 32, 32 of odlg action avanza_articulos(odlg)
@ 0, 96 BTNBMP NAME "ultimo" SIZE 32, 32 of odlg
@ 0, 178 BTNBMP NAME "buscar" size 32, 32 of odlg action odlg:end(),busca_cliente(aux)
@ 0, 210 BTNBMP NAME "salir" SIZE 32, 32 of odlg action odlg:end()
RETU nil
funcion avanza_articulos(odlg) la utilizo para comprobar el final de los articulos (para que solo me muestre los que tiene)
FUNCTION avanza_articulos(odlg)
IF !EOF()
articulos->(dbskip(1))
registros()
ELSE
MsgInfo( "El Cliente no tiene más articulos relacionados" )
endif
RETURN nil
Saludos y gracias...
Elías Torres.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Elías,
Gracias por la imagen, ahora está claro como lo quieres hacer.
Aqui tienes tu código modificado:
Gracias por la imagen, ahora está claro como lo quieres hacer.
Aqui tienes tu código modificado:
Code: Select all
FUNCTION Registros()
local oDlg, oGetCod, oGetNom, oGetCant, oGetPrecio
DEFINE dialog odlg resource "Cliente_articulos"
REDEFINE GET clientes->Nomcli id 500 OF odlg
REDEFINE GET clientes->Apecli id 510 OF odlg
redefine get oGetCod VAR articulos->cod_art id 100 of odlg
redefine get oGetNom VAR articulos->nom_art id 200 of odlg
redefine get oGetCant VAR articulos->cant id 300 of odlg
redefine get oGetPrecio VAR articulos->precio id 400 of odlg
ACTIVATE dialog odlg;
on init barra_desplazamiento( odlg, oGetCod, oGetNom, oGetCant, oGetPrecio )
RETURN nil
FUNCTION barra_desplazamiento( odlg, oGetCod, oGetNom, oGetCant, oGetPrecio )
LOCAL aux:=1
@ 0, 0 BTNBMP NAME "primero" SIZE 32, 32 of odlg
@ 0, 32 BTNBMP NAME "anterior" SIZE 32, 32 of odlg
@ 0, 64 BTNBMP NAME "siguiente" SIZE 32, 32 of odlg action avanza_articulos(odlg, oGetCod, oGetNom, oGetCant, oGetPrecio )
@ 0, 96 BTNBMP NAME "ultimo" SIZE 32, 32 of odlg
@ 0, 178 BTNBMP NAME "buscar" size 32, 32 of odlg action odlg:end(),busca_cliente(aux)
@ 0, 210 BTNBMP NAME "salir" SIZE 32, 32 of odlg action odlg:end()
RETU nil
FUNCTION avanza_articulos(odlg, oGetCod, oGetNom, oGetCant, oGetPrecio )
IF !EOF()
articulos->(dbskip(1))
// registros() NO!!!
oGetCod:Refresh() // repinta los contenidos de los GETs
oGetNom:Refresh()
oGetCant:Refresh()
oGetPrecio:Refresh()
ELSE
MsgInfo( "El Cliente no tiene más articulos relacionados" )
endif
RETURN nil
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm