Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2007
Avatar de MRSAM
MRSAM MRSAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco, Mexico
Posts: 59
Poder: 21
MRSAM Va por buen camino
Question Un reto con Qreport

Que tal amigos de Club Delphi, desconozco si esta pregunta quedaria realmente correcta aqui si no solicito al moderados moverla en donde podria ir.

Estoy realizando una aplicacion en donde se capturan las subastas de automoviles, mi programa cuanta con dos bases de datos una en MySQL y otra en DBF, el problema no es la conexion con las bases de datos si no con la rpesentacion del informe.
En la base de datos DBF tengo almacenados los datos de los vechiculos que se subastaran y en la base de MySQL tengo almacenados los postores junto con otros datos como cuanto ofrecen, etc.

Ejemplo grafico de la base:

DBF

NOECO VEHICULO SERIE PLACAS AVALUO
0001 CHEVROLET 12345 AAA1234 $ 5000
Y020 VW 23423 BBB3456 $ 1000

MySQL

NOMBRE OFRECE DEPOSITA NOECO
JUAN PEREZ $ 4000 400 0001
PEDRO $ 4100 410 0001
VIRGINIA $ 3500 0 0001
EDGAR $ 2000 200 Y020
LORENA $ 1000 50 Y020

Mas o menos es una idea de mis bases de datos, yo necesito que en el reporte salga como encabezado de un blouqe los datos del vehiculo y que abajo su list de compradores, pero no vehiculo por hoja, si no que continue donde termin uno que continue el otro:

-------------------------------------------------------------------------------------------
REMATE DE VECHICULOS 2007
HECHO EN JALISCO MEXICO

VEHICULO: CHEVROLET SERIE 12345 PLACAS AAA1234
POSTORES:

JUAN PEREZ $ 4000 400
PEDRO $ 4100 410
VIRGINIA $ 3500 0

VEHICULO: VW SERIE 23423 PLACAS BBB3456
POSTORES:

EDGAR $ 2000 200
LORENA $ 1000 50

__________________________________________________________________

Espero darme a entender y espero me puedan ayudar ya que si me urge un poco esta informacion.

Se los agradesco de antemano

Atentamente

MR SAM .·.
__________________
J.·.
Responder Con Cita
  #2  
Antiguo 12-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Yo realizaría lo sgte:

Traspasaría (en forma automatica) los datos que posees en el DBF a una tabla paso de MySQL.

Despues tendrias que realizar la consulta adecuada con un informe tipo Maestro - Detalle

Si trabajas con QReport, tendrias que usar 2 bandas (como minimo)
- 1 Detail
- 1 SubDetail

Además, deberas agregar 2 sentencias SQL (Querys - No se como tendrias que trabajar con MySQL, nunca lo he realizado)

- 1 Query_A -> para filtrar todos los vehiculo
- 1 Query_B -> para filtrar los postores de 1 vehiculo

El informe QREport debera estar enlazado al Query_A
y pones todos los campos que necesites

Banda Detail -> Campos del Query_A
Banda SubDetail -> Campos del Query_B


la sentencia de la Query_A deberia ser más o menos la sgte
Código SQL [-]
Select * From Vehiculos

luego, en la propiedad AfterPrint del la Banda SubDetail, ejecutas la Query_B, la que deberia tener la sentecia algo como

Código SQL [-]
Select * From Postores, Vehiculos
Where Postores.Cod = Vehiculos.Cod

y eso seria todo...

PS: No se si puedes trabajar con MySQL y DBf a la vez.. por eso te sugeri esto..

Espero que te sirva...
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 12-07-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, como te decia BlueSteel tienes que hacer un reporte maestro detalle, hice mis pruebas y si se puede trabajar con 2 diferentes bases de datos para el mismo reporte usando parametros.

Tendrias un query1 que tendria la siguiente consulta:

Código:
   'SELECT * FROM Vehiculo'
y en tu query2

Código:
  'SELECT * FROM Postores WHERE NOECO=:NOECO'
Tu banda Detail ira enlazada al query1 de tu BDF
Tu banda Subdetail en su propiedad Master debes asociarlo a tu QuickRep1 y su dataset a tu query2 de tu BD mysql.

Mas o menos asi es, hice mis pruebas con SqlServer y Access me ha funcionado todo bien, supongo que lo tuyo tambien deberia funcionar, espero te sirva.

Saludos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 12-07-2007
Avatar de MRSAM
MRSAM MRSAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco, Mexico
Posts: 59
Poder: 21
MRSAM Va por buen camino
Cool

Les estoy muy agradecido con su cooperacion de hecho gracias a las dos respuestas pude estructurar la idea, sin embargo me resulto un pequeño problema, que los reportes no me separa las respuestas, es decir si saca todo el reporte y tambien los resultados en el SubDetail, pero me hace lo siguiente:
---------------------------------------------------------------
NUMERO ECO: 200Y MARCA: VW

POSTOR OFRECE FOLIO DEPOSITO
Pedro 1000 200Y 100
Juan 2000 201Y 200
paco 3000 333Y 300

Numero Eco: 333Y Marca: Toyota

POSTOR OFRECE FOLIO DEPOSITO
Pedro 1000 200Y 100
Juan 2000 201Y 200
paco 3000 333Y 300

Numero Eco: 201Y Marca: NISSAN

POSTOR OFRECE FOLIO DEPOSITO
Pedro 1000 200Y 100
Juan 2000 201Y 200
paco 3000 333Y 300


-------------------------------------------------------------------

Es decir si encuentra las coincidencias en la bas de datos pero no me los separa por postor en cada uno de sus correspondientes vehiculos.

Y yo quiesiera que saliera :

-----------------------------------------------------------------

NUMERO ECO: 200Y MARCA: VW

POSTOR OFRECE FOLIO DEPOSITO
Pedro 1000 200Y 100


Numero Eco: 333Y Marca: Toyota

POSTOR OFRECE FOLIO DEPOSITO
paco 3000 333Y 300

Numero Eco: 201Y Marca: NISSAN

POSTOR OFRECE FOLIO DEPOSITO
Juan 2000 201Y 200

----------------------------------------------------------

Pongo de ejemplo un postor pero pueden ser hasta 20 o 30 por vehiculo
Espero me puedan ayudar que estoy haciendo mal.
De antemano muy agradecido
__________________
J.·.
Responder Con Cita
  #5  
Antiguo 13-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
por lo que veo, te falta hacer el filtro de la tabla Postores...(correspondiente a la banda Sub-Detail)

como te decia antes, debes poner en el Evento AfterPrint de la banda Detail la Query sgte( o al menos parecida)

Código SQL [-]
Select * From Postores, Autos
Where Postores.Noeco = Autos.Noeco

Acuerdate de limpiar los querys antes de hacer una consulta, y despues debes abrirlas

Código SQL [-]
     Query_Postores.Close;
     Query_Postores.SQL.Clear;
     Query_Postores.SQL.Add('Select * From Postores,Autos ');
     Query_Postores.SQL.Add('Where Postores.Noeco = Autos.Noeco ');
     Query_Postores.SQL.Add(' Order By Postores.Numero');
     Query_Postores.Open;

aunque igual podrias poner tu codigo.. para ver en donde esta el error ??
__________________
BlueSteel
Responder Con Cita
  #6  
Antiguo 13-07-2007
Avatar de MRSAM
MRSAM MRSAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco, Mexico
Posts: 59
Poder: 21
MRSAM Va por buen camino
De antemano les agradesco la atencion amigo BlueSteel te explico mi codigo:

Agrego un boton a la aplicacion principal con el que mando llamar al preview:

Remates es el nombre del Qreport

Código Delphi [-]
   Remates.Query1.SQL.Clear;
   Remates.Query1.SQL.Add('Select * from rema'+Edit14.Text);
   Remates.Query1.Open;



   Remates.QRLabel4.Caption := Edit14.Text;
   remates.Preview;


Dentro del QR tengo dos Querys uno que es el mando llamar antes de ejecucion en la instruccion pasada y otro que no he podido acomodar jeje para el SubDetail que me comentas que ponga en el Afterprint:

Remates.Query2.SQL.Clear;
Remates.Query2.SQL.Add('Select * from remate, rema'+Form1.Edit14.Text+' where remate.noeco = rema'+Form1.Edit14.Text+'.noecon');
Remates.Query2.Open;

Cabe mensionar que el Report esta dirigido a Query1 y el detail es el que contiene los resultados de este Query

El subdetail es para el query2 y sus resultados tambien.

Depues de aplicar asi como me comentas no me da el resultado.

Espero me puedas ayudar Saludos
__________________
J.·.
Responder Con Cita
  #7  
Antiguo 13-07-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, yo creo que falta enlazar bien tus dataset para formar tu maestro detalle.
Supongo que debes tener 2 DataSource para cada uno de tus querys, digamos que query1 con DataSource1 y query2 con DataSource2, estos estan enlazados con sus respectivos DataSet, lo que creo que faltaria es que en es query2->DataSource= DataSource1 osea que este enlazado al DataSource de tu primer query para asi poder recibir el parametro tu segundo query, claro si tienes tus consultas como te dije en un principio.

Cita:
Empezado por Caro
Código:
   'SELECT * FROM Vehiculo'
y en tu query2

Código:
  'SELECT * FROM Postores WHERE NOECO=:NOECO'
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 13-07-2007
Avatar de MRSAM
MRSAM MRSAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco, Mexico
Posts: 59
Poder: 21
MRSAM Va por buen camino
Pues no he podido ya tome las sugerencias de los dos y nomas no sale, si uno de ustedes pudiera agregarme a su msn para ver si me puden hechar la mano.. ( Espero no romper ninguna regla de aqui jeje ya que no recuerdo si esto se puede ) les dejo mi msn mrsam_gdl@hotmail.com

Espero me puedan ayudar
__________________
J.·.
Responder Con Cita
  #9  
Antiguo 13-07-2007
Avatar de MRSAM
MRSAM MRSAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco, Mexico
Posts: 59
Poder: 21
MRSAM Va por buen camino
:'( No he podido .. ya hice lo que me indico Caro y tambien lo he intentado con lo que me dice Blue Steel y no he podido .. de hecho ya lo configure de las dos formas.
__________________
J.·.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reto: Demostrando lo indemostrable II parte Héctor Randolph Humor 7 06-10-2005 01:12:50
Un Reto en Filtrar base de datos MRSAM SQL 1 25-11-2004 22:55:07
Esto si es un reto perrogrun OOP 10 09-07-2004 23:49:25
Un reto a todos Rendertaker Internet 3 14-04-2004 23:51:29
Reto de Impresora (VB vs Delphi) torito Varios 12 21-11-2003 20:54:59


La franja horaria es GMT +2. Ahora son las 23:23:09.


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