Ayuda con DataReport y Parametros

sadar2
15 de Febrero del 2005
HOla, hasta hace poco yo me creaba mis propios informes, pero pierdo demasiado tiempo y parece que este metodo es mejor y mas rapido. LLevo unos dias atascado a la hora de pasar parametros a un datareport.

1)YO creo el dataenviorement.
2) creo el conecction
3)agrego un comando
4) selecciono hacerlo mediate sentencia SQL.
"Select * from clientes where (cod_cliente = p)"

entonces el automaticamente me reconoce el parametro y me añade una pestaña de parametros, donde aparece P. El problema es que yo le quiero pasar un valor a P en tiempo de ejecucion y no se como y tampoco se exactamente cuando.

Puede ayudarme alguien? un saludo a todo el mundo


Sadar
15 de Febrero del 2005
Ahora mismo tengo el siguiente codigo en un boton que llama al informe:

Dim x As Integer
\'obtengo el valor del parametro
x = Val(Data1.Recordset!cod_cliente)

With DataEnvironment1.Commands(2)
.CommandType = adCmdText
.Parameters.Append .CreateParameter(P, adInteger, adParamInput, , x)
.Parameters(0).Value = x
.CommandText = "Select * from clientes where (cod_cliente = " & P & ")"
.Execute
End With

ICLIENTE.Show

en todo caso, puedes decirme como se hace para pasarle luego el filtro?

aijuna
15 de Febrero del 2005
directamente pones el nombre del commando y despues el parametro, pero en vez de usar commands(2) usa el nombre del comando que creaste en el dataenvironmet, por ej, si el comando se llama Juan, escribis:

dataenvironment1.Juan [aca va lo que le queres pasar]

(Fijate que Juan tiene que ser un metodo, tiene que estar en verde), cuando apretas el espacion seguramente te aparece el nombre del parametro como lo pusiste en el dataenvironment, seguramente P

Para pasar un filtro, en la instruccion sql en el dataenvironmet pones por ej

select * from tabla where P

despues ahi le pasas el filtro, fijate que siempre le tenes que pasar algo asique, si queres todos te conviente usar otro command con otro datareport

Hensa
15 de Febrero del 2005
Creo que no hay necesidad de utilizar el WHERE en tu instruccion SELECt, dataenviroment tiene un propiedad para poder filtrar despues de haber realizado tu consulta,de esta foma seria mas flexibles tus reportes. Ya que el usuario puede mandar los parametros deseados.