Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Dato en ComboBox

Estas en el tema de Dato en ComboBox en el foro de SQL Server en Foros del Web. Estimados: Resulta que tengo en una pantalla un rango de refha (desde - hasta) mas 2 comboBox agencia y forma de pago y busco los ...
  #1 (permalink)  
Antiguo 09/12/2009, 08:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Dato en ComboBox

Estimados:

Resulta que tengo en una pantalla un rango de refha (desde - hasta) mas 2 comboBox agencia y forma de pago y busco los datos que hay de acuerdo a lo que elk usuario ingresa en estos 4 controles, Pero deseo que ingreso las fechas y e la forma de pago a buscar, pero no selecciono ninguna agencia, kiero que me muestre los datos de todas las agencia, porque cuando selecciono una agencia, me muestra los datos solo de esa agencia, Pero si el usuario no seleciona la agencia deseo que muestre los datos de todas las agencias.

Como lo hago en sqlServer 2000?

Saludos

EL campo se llama Agencia
la Tabla Excepcion_no_entregada
  #2 (permalink)  
Antiguo 09/12/2009, 08:45
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Dato en ComboBox

Básicamente tu problema no es de base de datos, sino de programacion.
En tu motor de BD debes tener un SP (procedimiento almacenado), el cual debe devolverte las agencias. Este SP lo llamas desde tu programa.
El SP podría ser:
Código sql:
Ver original
  1. CREATE PROCEDURE MostrarAgencias
  2. AS
  3. BEGIN
  4.  
  5. SELECT codigo, nombre FROM agencias
  6.  
  7. END
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 09/12/2009, 09:06
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Dato en ComboBox

Si, mira tengo este procedimiento almacenado que esta bueno y probado y lo que hace es buscar los datos pasandole los 4 parametros.

CREATE PROCEDURE SP_CONSULTA_EXCEPCION_LISTADO_ODT
@OFICINA AS VARCHAR(6)
,@FECHA AS DATETIME
,@FECHA2 AS DATETIME
,@FORMA_PAGO VARCHAR(3)

AS

BEGIN
SET @FECHA = CONVERT(VARCHAR(10), @FECHA ,112)
SET @FECHA2 = CONVERT(VARCHAR(10), @FECHA2 ,112)

Select EXT.Odt AS ODT
,EXT.OFICINA AS OFICINA
,EXT.Usuario AS USUARIO
,CONVERT(VARCHAR(10),EXT.Fecha_Mov,112) AS FECHA
,EXT.Motivo AS MOTIVO
FROM DoDocumentoOt DO
INNER JOIN Excepcion_Odt_No_Entregada EXT
on DO.doNumeroOt = EXT.odt
,ACCESOS.dbo.ACCESOS_USUARIOS ACC
WHERE EXT.OFICINA = @OFICINA
and do.doFormaPago = @FORMA_PAGO
and CONVERT(VARCHAR(10), EXT.Fecha_Mov, 112) BETWEEN @FECHA AND @FECHA2
--and CONVERT(VARCHAR(10), EXT.Fecha_Mov, 112) BETWEEN '20090829' AND '20091128'
and ACC.Accesos_usu = EXT.usuario


END
GO


PERO LO QUE KIERO HACER ES QUE SI NO SELECCIONO NADA EN EL COMBO DE LA OFICINA BUSQUE LOS DATOS DE TODAS LAS OFICINAS...

ESO ES

COMO LO HAGO
  #4 (permalink)  
Antiguo 09/12/2009, 09:34
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Dato en ComboBox

OK, yo entendí otra cosa. Lo que necesitas es algo clásico.
Una solución podría ser:
Código sql:
Ver original
  1. CREATE PROCEDURE SP_CONSULTA_EXCEPCION_LISTADO_ODT
  2. @OFICINA AS VARCHAR(6) = ''
  3. ,@FECHA AS DATETIME
  4. ,@FECHA2 AS DATETIME
  5. ,@FORMA_PAGO VARCHAR(3)
  6.  
  7. AS
  8.  
  9. BEGIN
  10. SET @FECHA = CONVERT(VARCHAR(10), @FECHA ,112)
  11. SET @FECHA2 = CONVERT(VARCHAR(10), @FECHA2 ,112)
  12.  
  13. SELECT EXT.Odt AS ODT
  14. ,EXT.OFICINA AS OFICINA
  15. ,EXT.Usuario AS USUARIO
  16. ,CONVERT(VARCHAR(10),EXT.Fecha_Mov,112) AS FECHA
  17. ,EXT.Motivo AS MOTIVO
  18. FROM DoDocumentoOt DO
  19. INNER JOIN Excepcion_Odt_No_Entregada EXT
  20. ON DO.doNumeroOt = EXT.odt
  21. ,ACCESOS.dbo.ACCESOS_USUARIOS ACC
  22. WHERE (EXT.OFICINA = @OFICINA OR @OFICINA = '')
  23. AND do.doFormaPago = @FORMA_PAGO
  24. AND CONVERT(VARCHAR(10), EXT.Fecha_Mov, 112) BETWEEN @FECHA AND @FECHA2
  25. --and CONVERT(VARCHAR(10), EXT.Fecha_Mov, 112) BETWEEN '20090829' AND '20091128'
  26. AND ACC.Accesos_usu = EXT.usuario
  27.  
  28.  
  29. END
  30. GO
Pruébalo y nos cuentas que tal te fue.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 09/12/2009, 10:40
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Dato en ComboBox

A mi me gusa utilizar:

WHERE (EXT.OFICINA LIKE ISNULL(@OFICINA+'%', '%'))

Nunca lo comparado con OR @OFICINA = ''
  #6 (permalink)  
Antiguo 09/12/2009, 11:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Dato en ComboBox

Me funciono perfectamente...

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.