Quiero dar doble clic en un List de foxpro y generar un Report del registro elegido, ¿Cómo lo hago?

he conseguido hacer búsquedas desde Textbox y mostrarlas en un List de foxpro (para mi, ha sido toda una hazaña), pero lo que quiero, es que al dar doble click en un registro mostrado por la búsqueda, este me genere un reporte con el registro seleccionado, he puesto este código en el DblClick del List <REPORT FORM REPORTE preview> pero me manda el reporte con todos los registros, y quiero que me muestre solo el registro que seleccione, gracias mil...

Respuesta
1

En el report form tu puedes agregar la clausula for y una condición y así te mostrara solo los registros que cumplan dicha condicion

podrías ayudarme con el código???

Lo que quiero es que imprima un Informe con el registro sobre el que doy doble click, es una lista que se genera a partir de una búsqueda, y con la instrucción anterior me manda toda la tabla y me genera un informe con todos los registros, me podrías explicar como usar el FOR para que solo me genere el informe con un registro, que es sobre el que doy click?

Gracias mil...

Pero para eso necesito saber el código con el cual llenas la lista y ahí te podría ayudar

mira, en el InteractiveChange del textbox pongo esto...

nom=lower(alltrim(this.value)+"*")
thisform.list1.ColumnCount = 5
thisform.list1.columnwidths = "176,176,177,176,177"
thisform.list1.RowSourceType = 0
thisform.list1.RowSource = "select nombreclie,razonsocia,ciudadclie,fechaconta,fecharespu from info;
order by numeración where ;
like(nom,lower(nombreclie))into cursor temporal"
thisform.list1.RowSourceType = 3
thisform.list1.Refresh
if thisform.list1.listcount=0
messagebox("Dato no encontrado",0+64,"Atención")
endif

Y en el Init del list pongo esto...

nom="*"
this.ColumnCount = 5
this.columnwidths = "176,176,177,176,177"
this.RowSourceType = 0
this.RowSource = "select nombreclie,razonsocia,ciudadclie,fechaconta,fecharespu from info;
order by numeración where ;
like(nom,lower(nombreclie))into cursor temporal"
this.RowSourceType = 3
this.refresh

En el DblClick del list pongo esto...

REPORT FORM REPORTE preview NEXT 1

y ya con el NEXT 1 me muestra solo un registro pero el del principio, quiero que me seleccione y muestre el que elijo con el doble click...

gracias...

En el rowsource tienes un select pero ahí deberías tener un campo que sea único por ejemplo numeración, si agregaras ese campo tu código en el rowsource quedaría así

this.RowSource = "select nombreclie,razonsocia,ciudadclie,fechaconta,fecharespu from info;
order by numeración where ;
Like(nom, lower(nombreclie))into cursor temporal"

Y en el dblclick podrias hacer lo siguiente

select temporal

nnumeracion01 = numeracion

report form reporte for numeracion = nnumeracion01 preview

Y con eso deberia funcionarte.

vi tu respuesta, veo que me dices: debería quedar así..., pero lo dejaste exactamente como lo tenía anteriormente... muchas gracias por tu ayuda...

si puedes, dame tu correo y te envío lo que tengo para que le eches un ojo... o escríbeme [email protected]

En el evento dblclick esta el verdadero cambio

select temporal

nnumeracion01 = numeración
report form reporte for numeración = nnumeracion01 preview

Y es esa parte la que te ayuda a que te muestre solo el registro seleccionado

le puse eso que me indicaste en el evento dblclik y me manda dos mensajes de error no existe la variable numeración y no existe la variable nnumeracion01, puedes explicarme cual es la función del nnumeracion01? porque numeración es un campo de la base de datos que es un autonumérico que uso para ordenar...

Ah ok es porque no estas sacando el campo numeracion, deberias agregarlo en los select

this.RowSource = "select nombreclie,razonsocia,ciudadclie,fechaconta,fecharespu,numeracion from .......

El objetivo es que al moverte por la lista es como si te estuvieras moviendo dentro del cursor temporal entonces al mandar a llamar al reporte obtienes la numeracion, que asumo es un numero unico, y en base a ese campo le dices que te muestre ese registro especifico

Muchas gracias hectorcp, ya he podido hacer lo que quería pero aún me falta mucho para terminarlo, espero poder seguir contando con tu ayuda...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas