Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Una ayuda con parametros

Señores, tengo una aplicacion que puede tener 2 o mas maquinas de emitir fatura(En Brasil, llamamos de ECF, pero no lo se un sus paises), entonces yo yo llamo de Emissor de Fatura. Tengo una consulta, que tiene como parametro el numero del Emissor de Fatura. Bien, en esta consulta, es possible que yo ponga la opción todos, o sea, esta mi consulta deve traer todos los Emissores de Fatura cadastrados. Ahora viene la duda: Como la consulta es una query, gostaria de hacer una sola vez, que yo fuera pasando para la query todas los emissores y solo despues, yo mostraria en el grid el resultado total. Asi: Digamos que na empres hay 3 Emissores, entonece la consulta deberia traer todas las ventas del emissor 1, y despues del 2 y del 3 y mostrar todas las consultas en un solo grid.
Responder Con Cita
  #2  
Antiguo 28-04-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Segun entendi, quieres obtener un emisor o todos.

En caso de ser asi puedes usar lo siguiente:

Código SQL [-]
SELECT * 
FROM EMISORESFACTURAS
WHERE (EMISOR=:EMISOR  OR  :EMISOR IS NULL)

Asi si quieres todos, le colocas null al parametro y devolvera todas las filas.

Si lo que necesitas es todos o algunos, puedes ir armando el query segun los emisores elegidos

Código Delphi [-]
Query1.sql.clear;
query1.sql.add('SELECT * FROM EMISORESFACTURAS');
QUERY1.SQL.ADD('WHERE EMISOR='+varEmisor1; //en varemisor1 almacenas el valor del emisor.
...
query1.sql.add('OR EMISOR='+varEmisorN;

Si necesitas ejecutar tu consulta para un emisor a la vez y luego mostrarlo todo en un gri, tendras que almacenar los datos devueltos en una tabla de memoria (kbMemtable es la mejor a mi parecer y es gratuita), pero no te olvides hacer un

Código Delphi [-]
Query1.Prepare;

antes de iniciar el proceso de las consultas

y un

Código Delphi [-]
Query1.unprepare;

al finalizar.

Saludos.
Responder Con Cita
  #3  
Antiguo 28-04-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Mira, abajo esta mi query. Como hago para que esta query traiga todos los emissores?

Cita:
'SELECT' +
' TB_SAC_NF_CAPEADOR.NU_CX,' +
' TB_SAC_NF_CAPEADOR.NU_NF,' +
' TB_SAC_NF_CAPEADOR.SR_NF,' +
' TB_SAC_NF_CAPEADOR.NU_BOL,' +
' TB_SAC_COND_PAGTO.DESCRICAO,' +
' (TB_SAC_NF_CAPEADOR.VL_BRUTO + TB_SAC_NF_CAPEADOR.VL_DESC_ACR) VL_BRUTO,' +
' CASE TB_SAC_NF_CAPEADOR.ST_CANC' +
' WHEN 0 THEN ''NORMAL''' +
' WHEN 1 THEN ''CANCELADO''' +
' END ST_CANC,' +
' TB_SAC_NF_CAPEADOR.CD_FUNC' +
' FROM' +
' TB_SAC_NF_CAPEADOR,' +
' TB_SAC_COND_PAGTO,' +
' TB_SAC_NF_PAGAMENTO,'+
' TB_SAC_FORMA_PAGTO'+
' WHERE' +
' TB_SAC_COND_PAGTO.CD_C_PAG = TB_SAC_NF_CAPEADOR.CD_C_PAG' +

' AND TB_SAC_NF_PAGAMENTO.NU_CX = TB_SAC_NF_CAPEADOR.NU_CX' +
' AND TB_SAC_NF_PAGAMENTO.NU_NF = TB_SAC_NF_CAPEADOR.NU_NF' +
' AND TB_SAC_NF_PAGAMENTO.SR_NF = TB_SAC_NF_CAPEADOR.SR_NF' +

' AND TB_SAC_NF_PAGAMENTO.CD_F_PAG = TB_SAC_FORMA_PAGTO.CD_F_PAG' +

' AND TB_SAC_NF_CAPEADOR.NU_CX = ' + Mis_Emissores_aca;
' ORDER BY' +
' TB_SAC_NF_CAPEADOR.NU_NF';
Responder Con Cita
  #4  
Antiguo 28-04-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
No bastaria omitir la linea donde le pasas el codigo?

Código Delphi [-]
if Obtener_Un_Solo_Emisor then
  '  AND TB_SAC_NF_CAPEADOR.NU_CX = ' + Codigo_Emissor;

De este modo no habria condición de busqueda y deberia devolver todas las filas.

Saludos.
Responder Con Cita
  #5  
Antiguo 28-04-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Si, falto inteligencia. Si no lo pongo nada(NULL) viene todos. Falto yo peinsar mejor. Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda como Paso parametros a Crystal Report XI Gedeon Impresión 2 31-08-2007 01:30:52
Parametros Opcionales no Parametros por defecto Velia Varios 7 19-08-2006 15:18:42
Ayuda sobre configurar los parámetros de la impresora Jesús Pena Impresión 0 02-02-2006 13:18:52
ayuda con parametros en consulta ronimaxh Varios 3 10-03-2005 20:04:33
Parametros jostrix Varios 1 31-10-2004 11:55:33


La franja horaria es GMT +2. Ahora son las 18:07:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi