Visual Basic - Urgente :Duda sobre DATAREPORT

Life is soft - evento anual de software empresarial
 
Vista:

Urgente :Duda sobre DATAREPORT

Publicado por Manelnight (69 intervenciones) el 06/01/2003 04:49:42
Hola, mi duda es la siguiente.
Estoy empezando a utilizar el datareport y el dataenviorment y ya he conseguido que me haga un informe sobre una tabla o consulta que ya tenga creada en el dataenviorment.
Pero lo que quiero hacer ahora es que como el usuario puede realizar consultas por fechas o codigos , no se como pasarle una consulta SQL al datareport.
Por ejemplo: tengo la tabla ENTRADAS que consta de los campos:
Id,Fecha,Codigo,Nombre,Apellidos,Cantidad
Si el usuario no indica nada, le muestro todos los registros, y si le da al boton imprimir, le muestro el informe del datareport. HAsta qui todo bien.
Lo que no se como hacer es si el usuario quiere consultar todas las entradas de un codigo en concreto o en una fecha en concreto.Si el usuario quiere ver las entradas del dia 25/12/2002, se las muestro correctamente en el grid, lo que luego no se como mostrarle esos datos en un datareport, ya que el que yo tengo hecho te muestra todas las entradas.
Como puedo hacer para que el mismo datareport de ENTRADAS me sirva para mostrar:
-Todas las entradas
o -Todas las entradas de una fecha en concreto
o -Todas las entradas de un codigo en concreto
o -Todas las entradas de un codigo y una fecha en concreto
????????

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente :Duda sobre DATAREPORT

Publicado por Esteban (1144 intervenciones) el 06/01/2003 08:10:12
Lo que ocurre es lo siguiente:

En las consultas que diseñes es necesario especificar un parámetro, esto se hace algo así...OJO...

select * from tabla where campo1 = 'abc' and campo2 = ? <---- este signo de pregunta es la clave de los parámetros.

Ahora si estás en el diseñador de consultas solo digita el signo en la celda de criterio, luego antes de cargar el reporte busca la opción del comando para parámetros y está hecho.

Espero te sirva y sino, puedes consultarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente :Duda sobre DATAREPORT

Publicado por Manelnight (69 intervenciones) el 07/01/2003 00:14:02
Me puedes especificar un poco más??
Segun te he entendido, cuando creo un comando, en vez de relacionarlo a una tabla o consulta ya creadas, creo na instrucion sql y donde puedan ir parametros, le pongo el signo "?", es correcto?????

Luego justo antes de llamar al reporte como lo hago, me puedes poner un ejemplo???
Gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra duda mas

Publicado por manelnight (69 intervenciones) el 07/01/2003 01:28:49
He estado probando y mas o menos me aclaro pero tengo un problema.
Le he puesto dos parametros, Fecha y Codigo. Como puedo hacer para que no sea obligatorio introducir los parametros??'
He visto que en la ficha de parametros hay una opcion que se llama "NECESARIO" y que en teoria si la pongo a FALSO no son obligatorios los parametros, pero me los sigue pidiendo.
Como esto no funciona , que le puedo pasar a la fecha como parametro para que me coja todas y que le puedo pasar al codigo( es un string) para que me muestre todos????

Pd: A un objeto command, no puedo pasarle en tiempo de ejecución una consulta SQL( por ejemplo : ("SELECT * FROM PERSONAL WHERE Nombre='Ana'")
Si se pudiera hacer esto ya tendria mi problema solucionado, ya que en mi programa , cuando llego a la parte donde tengo que llamar al reporte tengo un string con los datos de la consulta que se acaba de realizar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta a duda command

Publicado por Francisco O. (21 intervenciones) el 08/01/2003 13:06:43
Claro que si, debes hacerlo de esta forma:
En el objeto command, en propiedades, en la ficha general, selecciona la opción intruccion SQL. y escribe una instruccion SQL relacionada a tu consulta, o sea que no te retorne ningun valor. por ej. "select codigo from productos where codigo=0", donde el código 0 no existe, es solamente para completar la instrucción.
Luego en tu código debes realizar lo siguiente:

sql="intrucción SQL que deseas ejecutar"
DataEnvironment1.command("nombredelcommand").commandtext=sql
DataEnvironment1.nombredelcommand
Set nombredeldatareport.DataSource = dataenviroment1
nombredeldatareport.DataMember = "nombredelcommand"
nombredatareport.Show

espero que te ayuda.
cualquier duda me escribes ok.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Respuesta a duda command

Publicado por Manelnight (69 intervenciones) el 09/01/2003 00:54:06
Gracias por tu respuesta. Lo encontré el otro dia en un libro que tengo. yo buscaba una propiedad donde le pudiera pasar la consulta y esa era el CommandText del Command.
Y lo de ponerle al command la instruccion SQL lo descubrí despues de varios errores , ya que yo al principio le habia asignado directamente una tabla de mi BD al command y cuando le pasaba la consulta al COMMANDTEXT y luego llamaba al datareport, como el datareport estaba relacionado con el command cuando este hacia referencia a la tabla me daba error.
Por cierto , yo la instruccion sql que tengo en el command es por ejemplo:
SELECT * FROM EMPLEADOS, hay alguna diferencia entre dejar lo que he puesto o poner lo que tu dices:SELECT Codigo FROM EMPLEADOS where codigo=0?????
Lo digo porque como lo pones tu no habrá ningun registro, en cambio como lo pongo yo habra muchos.

Salufos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar