Problema con el Crystal. Please ayuda.

Hola, soy nueva con esto del crystal y espero que me puedas ayudar.
Estoy utilizando crystal reports 8.5 con visual basic 6 y una base de datos en Access. Necesito hacer un informe en el que me saque los datos de un traductor, esos datos se reparten en varias tablas:
- Traductor (PK codigo_traductor)
- Traductor_Lenguaje
- Traductor_Especialidad
- Especialidad
El informe lo realizo a través de una consulta SQL, enlazando las tablas por codigo_traductor, he hecho un agrupamiento por nombre de traductor, para que me saque los datos de cada traductor, el problema es que me repite los lenguajes por el número de especialidades que tenga, es decir:
Pepito Pérez
Informática
Inglés-Español
Francés-Español
Tecnología
Inglés-Español
Francés-Español
No se si me he explicado bien, y espero que me puedas ayudar.
Muchas gracias y un saludo.
1

1 Respuesta

63.725 pts.
¿Podrías adjuntar la consulta SQL?
Este es el código que utilizo para llamar al informe. Primero hago la consulta y luego se la paso, quizá lo que esté mal planteado es la consulta, porque sino otra cosa no se me ocurre.
consulta = "select nombre, descripcion, lenguaje_origen, lenguaje_destino "
consulta = consulta & "from Traductor T, Traductor_Lenguaje TL, "
consulta = consulta & "Traductor_Especialidad TE, Especialidad E "
consulta = consulta & "Where T.codigo_traductor = TE.codigo_traductor "
consulta = consulta & "and T.codigo_traductor = TL.codigo_traductor "
consulta = consulta & "and TE.codigo_especialidad = E.codigo_especialidad "
dim sql as Recordset
dim base as Database
(Aquí pondría la ruta de la base de datos)
Set sql = base.OpenRecordset(consulta)
Report.Database.SetDataSource sql
CRViewer1.ReportSource = Report
CRViewer1.Zoom (100)
CRViewer1.ViewReport
Las tablas de Access son + o - así (excluyendo algún campo)
Traductor
codigo_traductor Autonumérico (Clave Primaria)
Nombre texto
...
Traductor_Lenguaje
codigo_linea Autonumérico (Clave primaria)
codigo_traductor numérico
lenguaje_origen texto
lenguaje_destino texto
...
Traductor_Especialidad
codigo_linea Autonumérico(clave_primaria)
codigo_traductor numerico
codigo_especialidad numerico
Especialidad
codigo_especialidad autonumérico(clave_primaria)
Descripción texto
Espero que esto te sirva de ayuda para que puedas echarme una mano, la verdad es que me harías un gran favor, porque estoy bastante pez y lo necesito solucionar urgentemente.
Muchas gracias por prestarme tu tiempo.
Un saludo.
No estoy muy seguro de cual es tu problema ya que la consulta muestra lo que debe.
Si un traductor traduce de ingles a español en una especialidad pero no en las otras deberías pasar los campos lenguaje origen y destino a la tabla traductor especialidad, por que según lo tienes ahora un traductor es capaz de traducir en de un origen a destino en cualquiera de sus especialidades, y creo que esto no es lo que deseas.
Ej:
Traductores:
Juan
...
Especialidades:
Informática
Tecnología
Comercial
...
Traductor lenguaje:
Juan ingles español
Juan francés español
...
Traductor especialidad:
Juan informática
Juan comercial
...
Esto quiere decir que juan es capaz de traducir de ingles/frances a español en informática o comercial por lo tanto es normal que se te repitan datos:
Juan-informática-francés-español
Juan-informática-ingles-español
Juan-comercial-francés-español
Juan-comercial-ingles-español
Repito, si solo fuese capaz de traducir:
Juan-informática-francés-español
Juan-comercial-ingles-español
Tendrías que pasar los campos lenguaje origen y destino a la tabla traductor especialidad.
Gracias por tu ayuda Xabi, no se si lo que quiero se puede hacer realmente, lo lógico es lo que tu comentas, que un traductor en una especialidad en concreto traduzca en unos idiomas, y en otra en otros, pero esto no está reflejado en mi aplicación (aunque yo creo que es lo que debería ser), ya que el cliente no lo estructura así; tal y como está planteado se supone que el traductor domina ciertas especialidades, y además habla varios idiomas, pero no de una especialidad en concreto, sino que es general para todas, por lo tanto, yo quería que los datos se me mostrasen así:
Juan
-----
Especialidades:
Informática
Comercial
Idiomas:
Francés - Español
Inglés - Español
Sin que se repitan los campos. He probado a agrupar por especialidades, o por idiomas, o por ambas, pero no funciona evidentemente, ya que un idioma no está dentro de una especialidad o viceversa.
¿Se te ocurre alguna solución?.
Muchas gracias por tu ayuda.
Tengo un pequeño problema, no utilizo CR 8.5, por lo tanto desconozco el funcionamiento de CRViewer.
De todas, prueba con dos consultas, una con:
Traductor-Traductor_Especialidad
Y otra con:
Traductor-Lenguaje

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas