Seleccionar un empleado o todos desde un combo

27/07/2005 - 19:03 por nelva | Informe spam
Antes en Access yo Podia poner en el criterio de la consulta la instruccion
siguiente. lo que me permitiria seleccionar un empleado o todos los
empleados desde un formulario que tiene un combo con dichos datos.

SiInm([Forms]![formulario a nombre
deL]![empleado]=0,[tblequipoInventario].[idempleado],[Forms]![formulario a
nombre deL]![empleado])

Ahora desde SQL SErver para poner estos criterio yo debo usar PAlmacenado.
a traves de declarar una variable.. eso lo entiendo. lo que no he podido
hacer es como logro desde una misma intruccion poder seleccionar todos lo
empleado o solo uno en particular.

Yo en el PAlmacenado yo pongo:

Where emp_id=@empleado ' eso me permite seleccionar un empleado. pero en el
caso de querer seleccionarlos todos que hago?

Cualquier ayuda sera de provecho.

Preguntas similare

Leer las respuestas

#11 nelva
27/07/2005 - 21:57 | Informe spam
AGRADEZCO TU RECOMENDACION, LO INTENTE PERO NO ME FUNCIONA. TE TRANSCRIBO EL
PA QUE TENGO. CUANDO NO LE DOY PARAMATROS O SEA ES NULL NO ENVIA NADA..



ALTER PROCEDURE dbo.PCA_FACTURAS_RECIBOS_X_OPERADOR1

(@fechaini datetime,

@fechafin datetime,

@OPERADOR NVARCHAR(10)=NULL)

AS

SELECT dbo.RECIBO_FACTURA.Rec_Id, dbo.RECIBO.Rec_Fecha,
dbo.FACTURA.Fact_Fecha, dbo.RECIBO_FACTURA.Rec_cantidad,

dbo.Operadores.OP_Nombre, dbo.FACTURA.Fact_Observaciones,
dbo.REGIMEN_TARIFAS.RGT_NOMBRES, dbo.RECIBO_FACTURA.Fact_Id,

dbo.FACTURA.Fact_Anulado, dbo.RECIBO.Rec_Anulado, dbo.Ciudades.CUD_Nombre,
dbo.RECIBO.Rec_Cantidad AS Expr1, dbo.FACTURA.Fact_Iva,

dbo.FACTURA.Fact_Total, dbo.RECIBO.Op_Id

FROM dbo.Ciudades RIGHT OUTER JOIN

dbo.TARIFAS LEFT OUTER JOIN

dbo.REGIMEN_TARIFAS ON dbo.TARIFAS.RGT_ID = dbo.REGIMEN_TARIFAS.RGT_ID RIGHT
OUTER JOIN

dbo.FACTURA INNER JOIN

dbo.RECIBO_FACTURA ON dbo.FACTURA.Fact_Id = dbo.RECIBO_FACTURA.Fact_Id INNER
JOIN

dbo.FACTURAS_TARIFAS ON dbo.RECIBO_FACTURA.Fact_Id dbo.FACTURAS_TARIFAS.Fact_Id INNER JOIN

dbo.RECIBO INNER JOIN

dbo.Operadores ON dbo.RECIBO.Op_Id = dbo.Operadores.OP_ID ON
dbo.RECIBO_FACTURA.Rec_Id = dbo.RECIBO.Rec_Id ON

dbo.TARIFAS.Tar_Servicio_Id = dbo.FACTURAS_TARIFAS.Tar_Servicio_id ON
dbo.Ciudades.CUD_ID = dbo.Operadores.CUD_ID

GROUP BY dbo.RECIBO_FACTURA.Rec_Id, dbo.RECIBO.Rec_Fecha,
dbo.FACTURA.Fact_Fecha, dbo.RECIBO_FACTURA.Rec_cantidad,

dbo.Operadores.OP_Nombre, dbo.FACTURA.Fact_Observaciones,
dbo.REGIMEN_TARIFAS.RGT_NOMBRES, dbo.RECIBO_FACTURA.Fact_Id,

dbo.FACTURA.Fact_Anulado, dbo.RECIBO.Rec_Anulado, dbo.Ciudades.CUD_Nombre,
dbo.RECIBO.Rec_Cantidad, dbo.FACTURA.Fact_Iva,

dbo.FACTURA.Fact_Total, dbo.RECIBO.Op_Id

HAVING (dbo.RECIBO.Rec_Fecha BETWEEN @fechaini AND @fechafin) AND
(dbo.RECIBO.Rec_Anulado IS NULL OR

dbo.RECIBO.Rec_Anulado = 0) AND (dbo.FACTURA.Fact_Anulado IS NULL OR
dbo.FACTURA.Fact_Anulado = 0) AND (dbo.RECIBO.Op_Id=NULL OR dbo.RECIBO.Op_Id
= @OPERADOR )





"Maxi" escribió en el mensaje
news:
Hola, ojo con eso, porque estas poniendo 2 instrucciones dentro del sp si


un
dia necesitas cambiar algo debes hacerlo en ambas y ademas fijate bien


como
son los planes de ejecucion. Yo vuelvo a repetir, luego de mucho tiempo de
probar varias tecnicas me quedo con la que te comente antes, esa es muy
eficiente y simple a la vez.

Un abrazo


Salu2
Maxi


"nelva" escribió en el mensaje
news:up9$
> Gracias a todos por su disposicion,
> use la opcion que Pantxo facilito
> @empleado numeric(10)=null
>
> If @empleado is null
> Select * from empleado
> else
> Select * form empleado Where emp_id=@empleado
>
> Fuenciona bien...
>
> "Pantxo" escribió en el mensaje
> news:
>> if @cod is null
>> select empleado from templeados
>> else
>> select empleado from templeados where idempleado=@cod
>>
>> Así si le pasas el parámetro @cod te devuelve los datos de un empleado


y
>> sino los de todos.
>>
>> Un saludo
>>
>> Pantxo
>>
>> "nelva" escribió en el mensaje
>> news:
>> > Antes en Access yo Podia poner en el criterio de la consulta la
>> instruccion
>> > siguiente. lo que me permitiria seleccionar un empleado o todos los
>> > empleados desde un formulario que tiene un combo con dichos datos.
>> >
>> > SiInm([Forms]![formulario a nombre
>> >


deL]![empleado]=0,[tblequipoInventario].[idempleado],[Forms]![formulario
> a
>> > nombre deL]![empleado])
>> >
>> > Ahora desde SQL SErver para poner estos criterio yo debo usar
> PAlmacenado.
>> > a traves de declarar una variable.. eso lo entiendo. lo que no he
>> > podido
>> > hacer es como logro desde una misma intruccion poder seleccionar


todos
> lo
>> > empleado o solo uno en particular.
>> >
>> > Yo en el PAlmacenado yo pongo:
>> >
>> > Where emp_id=@empleado ' eso me permite seleccionar un empleado. pero
>> > en
>> el
>> > caso de querer seleccionarlos todos que hago?
>> >
>> > Cualquier ayuda sera de provecho.
>> >
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#12 Jose S.G.
27/07/2005 - 23:03 | Informe spam
Nada que objetar. Que mejor enciclopedia que tener un Maxi, A. Mesa ...
etc por estos lares, de los que se aprende un montón.


Saludos y gracias.
Respuesta Responder a este mensaje
#13 Maxi
28/07/2005 - 14:34 | Informe spam
;-) La idea es no ser destructivos sino mostrarte que una solucion por mas
que pueda resolver el problema puede llegar a ser ineficiente y esto puede
traer otros problemas mas :(


Salu2
Maxi


"Jose S.G." escribió en el mensaje
news:%
Nada que objetar. Que mejor enciclopedia que tener un Maxi, A. Mesa ...
etc por estos lares, de los que se aprende un montón.


Saludos y gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida