Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como imprimir un solo registro en rave (https://www.clubdelphi.com/foros/showthread.php?t=45793)

kurono 13-07-2007 19:44:19

Como imprimir un solo registro en rave
 
hola amigos del foro como estan soy nuevo aqui tengo un problema y espero que me ayuden el problema es el siguiente estoy haciendo un reporte en rave y hasta ahora todo esta bien lo hice de forma tal que me salga un registro por pagina pero el problema surge cuando voy a imprimir me imprime todos los registro osea que si tengo 10 registro me imprime 10 pagina un registro por pagina lo que quiero hacer es que me imprima el registro que yo selecione osea un registro el selecionado

si alguin sabe como hacerlo se lo agradeceria mucho realmente necesito como hacerlo

egostar 13-07-2007 20:04:23

Esto me parece que debe ser controlado a través de un filtro en tu Tabla o Query, lo que estes usando.

En un Query

Código SQL [-]
Select * from Tabla
where registro = x

En una Tabla

Cita:

Filtered = True
Filter = Registro = x
Salud OS.

kurono 13-07-2007 20:10:17

es una tabla la que estoy usando gracia por la respuesta realmente lo necesitaba lo pondre en pratica

kurono 13-07-2007 20:34:05

disculpa egostar he estado praticando los codigo que me diste para filtral las tablas y query pero hay algo que no entiendo que debo poner en la propiedad filter en la cual tu me pusiste filter=registro=x me gustaria que me explicara esa parte

egostar 13-07-2007 20:39:02

Bueno, es que depende que quieras filtrar, por lo que dices me imagino que deberias de tener un campo de ID, por ejemplo ClienteID

Lo que debes hacer es en tiempo de ejecución cambiar esa variable, algo así.

Código Delphi [-]
Table1.Filter := 'ClienteID = '+Variable;

Debes de tener la propiedad Filtered de la Tabla en True.

Salud OS.

kurono 13-07-2007 21:06:37

la variable como la declaro como integer supongo que es asi

egostar 13-07-2007 21:18:06

Cita:

Empezado por kurono
la variable como la declaro como integer supongo que es asi

Si es Entera deberias hacer estio

Código Delphi [-]
Table1.Filter := 'ClienteID = '+IntToStr(Variable);

Salud OS.

kurono 13-07-2007 21:30:41

egostar tengo una idea mejor yo te envio el proyecto mio y tu lo corrige porq he hecho lo que tu me dices pero al filtral la tabla el reporte sale en blanco si no es mucha molestia podria darme tu correo para enviartelo

egostar 13-07-2007 22:26:45

Pues si, me parece una idea genial:D, solo que las cosas no funcionan así en el foro.
  • Tu preguntas,
  • Nos comentas con lujo de detalles lo que has hecho,
  • Nos dejas saber que base de datos usas,
  • Si se presenta algun error indicas que error y que dice el error
  • Posteas lo que has hecho hasta el momento
Con estas simples pero eficaces prácticas cualquiera de los miembros del foro te pueda auxiliar.

La idea principal es que tú aprendas y pronto puedas ayudar a otros miembros del foro.

Te invito a que leas la guía de estilo y la otra guía de estilo para que conozcas las reglas de convivencia.

Salud OS

kurono 14-07-2007 04:50:46

ok es verdad el objetivo es que uno aprenda disculpa por hacer esa pregunta aunque era genial lo mejor sera que siga intentando y praticando haber que encuentro muchas gracias de todas forma

Delphius 14-07-2007 05:26:33

Hola kurono,

Se que voy a repetir y redundar lo dicho. Como te ha dicho egostar, si algo te está fallando. Dinos el error.

Según veo, tus últimas lineas fueron:
Cita:

muchas gracias de todas forma
¿Lograste solucionarlo?

Para resolver lo que te han dicho debes hacer esto:

Código Delphi [-]
Table1.Filtered := True; // Activamos el filtro
Table.Filter := 'IDCliente = ' + Edit1.Text; // Filter es del tipo string
// El filtro está compuesto por una condición de igualdad. Y se obtiene el valor desde un Edit

// Otro ejemplo:

Table1.Filter := 'IDCliente = A543-1';

Saludos,

kurono 14-07-2007 05:36:06

hola marcelo gracia por responder no he solucionado el problema en realidad no me da error lo que pasa es que al filtral la tabla el reporte me sale en blanco pero creo que sere mas especifico estoy usando una base de datos en access y los componete que utilizo en delphi son la tabla y query ado y como he dicho antes el reporte esta hecho en rave

Delphius 14-07-2007 06:04:54

A vista rápida lo que puedo saber es que estas ingresando algún valor en la condición de filtrado de modo tal que NO hay registros que la cumplan.

Escribe el código que estas usando. De ser posible adjunta y describe con la mayor cantidad de detalles posibles sobre tus pruebas, ideas, etc.
No te vamos a cobrar por las lineas.

Saludos,

kurono 14-07-2007 06:12:27

bueno los codigos que estoy usando son lo que ustedes me an proporcionado en este foro pues de otra forma no sabria como hacerlo no se si lo estoy haciendo mal pero los codigo que ustedes me prporcionan lo estoy poniendo en el evento formcreate del formulario si en tal caso estoy mal me gustaria que me dijieran donde ponerlo de lo contrario por lo menos digame como visualizar el ultimo registro en rave lo se hacer en quick report pero en rave no veo el componente que lo hace con lo ultimo que te dijo puedo solucionar parte de mi problema

un ejemplo de como pongo los codigo es este

cliente.Filter := 'idcedula= A543-1'; donde idcedula es el campo que selecciono

otro

cliente.Filtered := True;
cliente.Filter := 'idcedula = ' + txt1.Text;

egostar 14-07-2007 07:50:03

Cita:

Empezado por kurono
bueno los codigos que estoy usando son lo que ustedes me an proporcionado en este foro pues de otra forma no sabria como hacerlo no se si lo estoy haciendo mal pero los codigo que ustedes me prporcionan lo estoy poniendo en el evento formcreate del formulario si en tal caso estoy mal me gustaria que me dijieran donde ponerlo de lo contrario por lo menos digame como visualizar el ultimo registro en rave lo se hacer en quick report pero en rave no veo el componente que lo hace con lo ultimo que te dijo puedo solucionar parte de mi problema

un ejemplo de como pongo los codigo es este

cliente.Filter := 'idcedula= A543-1'; donde idcedula es el campo que selecciono

otro

cliente.Filtered := True;
cliente.Filter := 'idcedula = ' + txt1.Text;

Bueno, ahi está el problema, necesitas encerrar entre apostrofos la variable.

Algo asi

Código Delphi [-]
Cliente.Filter := 'idcedula = '+QuotedStr('A543-1');

Salud OS

kurono 14-07-2007 08:27:40

con este codigo que me diste egostar tampoco me funciona

Cliente.Filter := 'idcedula = '+QuotedStr('A543-1');

pero tengo una idea en quick report se pueden guardar los reporte y cargalo cuando uno lo desee e imprimirlo lo se por lo e hecho pero ahora que e emigrado rave veo que tambien se guardan lo reporte pero al momento de cargalo el sistema tira el siguiente error

"el sistema no puede hallar la ruta especificada"

lo que yo quiero hacer ahora ya que no puedo imprimir el reporte selecionado es guardar el reporte e imprimirlo cuando lo desee de esta forma seria casi el equivalente a selecionar el reporte e imprimirlo instantaneamente el cual era mi idea principal

egostar 14-07-2007 18:14:50

Cita:

Empezado por kurono
con este codigo que me diste egostar tampoco me funciona

Cliente.Filter := 'idcedula = '+QuotedStr('A543-1');

Se me hace raro que no te funcione, pero seria bueno que hicieras una prueba ligando a tu Table un DBGrid y veas que registros te está regresando, si el dato que estás pasando es único debería de regresarte solo uno, pero...:rolleyes: si existe mas de un registro que coincide con ese filtro, obviamente te mostrará todos los que coincidan.

Salud OS.

Delphius 14-07-2007 20:50:31

Hola de nuevo,
Cita:

Empezado por kurono
con este codigo que me diste egostar tampoco me funciona

Cliente.Filter := 'idcedula = '+QuotedStr('A543-1');

pero tengo una idea en quick report se pueden guardar los reporte y cargalo cuando uno lo desee e imprimirlo lo se por lo e hecho pero ahora que e emigrado rave veo que tambien se guardan lo reporte pero al momento de cargalo el sistema tira el siguiente error

"el sistema no puede hallar la ruta especificada"

Insisto en que expongas un poco de TU código. No podemos ver lo que tu tienes en pantalla. Por favor, te lo pido amablemente, da mayores detalles... es el modo en que podremos saber y/o detectar porqué no te está funcionando.

Cita:

lo que yo quiero hacer ahora ya que no puedo imprimir el reporte selecionado es guardar el reporte e imprimirlo cuando lo desee de esta forma seria casi el equivalente a selecionar el reporte e imprimirlo instantaneamente el cual era mi idea principal
:confused: ¡No te entiendo! No hay ningún signo de puntuación... se me hace dificil intepretar ese párrafo.

Y como dice egostar, comprueba que registros (y cuántos) te está devolviendo.

Saludos,

kurono 15-07-2007 02:55:10

este es el codigo que tengo puesto en un boton con el evento click

begin
rv.Execute;
cliente.Filtered := True;
cliente.Filter := 'idcedula = '+QuotedStr('A543-1');
end;

donde rv.execute es donde se ejecuta rave para ver los reporte ya diseñado y enlasado con labase de datos y su data set como dije antes los componenete que estoy usando es adotable , adoquery , rave , ravesystem y rvdatasetconetion1

debo aclarar que este codigo no me da error sino que al momento de imprimir me sigue poniendo 1-14 osea que imprimira del registro 1 hasta el 14 y lo que debe de poner es el registro que yo selecione

egostar 15-07-2007 14:50:35

Y si pruebas de esta manera

Código Delphi [-]
   cliente.Filtered := True;
   cliente.Filter := 'idcedula = '+QuotedStr('A543-1');
   rv.Execute;

Salud OS.


La franja horaria es GMT +2. Ahora son las 01:34:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi