Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2012
jomah jomah is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 18
Poder: 0
jomah Va por buen camino
Código Delphi [-]
unit frmModelo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Buttons, Grids, DBGrids, ComCtrls, Mask,
  DBCtrls;

type
  TfrmModelo1 = class(TForm)
    DBGrid1: TDBGrid;
    IMPRIMIR: TBitBtn;
    SALIR: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DataSource1: TDataSource;
    Query1: TQuery;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Query1NUM_CTA: TStringField;
    Query1NUMDEPTO: TSmallintField;
    Query1CONCEP_PO: TStringField;
    Query1TIPCAMBIO: TFloatField;
    Query1MONTOMOV: TFloatField;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmModelo1: TfrmModelo1;
  Tab: String;

implementation

{$R *.dfm}

procedure TfrmModelo1.FormShow(Sender: TObject);
begin
Tab:= 'MO' + FormatDateTime('mmyy', Now) + '01';
query1.sql.text:= 'SELECT NUM_CTA,NUMDEPTO,CONCEP_PO,TIPCAMBIO, CASE WHEM DEBE_HABER='+QUOTEDSTR('D')+' THEN SELECT MONTOMOV as DEBE FROM '+Tab+' END, CASE WHEM DEBE_HABER='+QUOTEDSTR('H')+' THEN SELECT MONTOMOV as HABER FROM '+Tab+' END from '+Tab+'';
Query1.Active:=True;
end;

end.

y el errorn que me da cuando intenta entrar en la informacion de la tablame dice token: when
Responder Con Cita
  #2  
Antiguo 24-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Solo por arreglar algo esta consulta, sin modificarla.

Código Delphi [-]
procedure TfrmModelo1.FormShow(Sender: TObject);
begin
Tab:= 'MO' + FormatDateTime('mmyy', Now) + '01';
query1.sql.text:= ' SELECT NUM_CTA,NUMDEPTO,CONCEP_PO,TIPCAMBIO, '+
                  ' CASE WHEM DEBE_HABER='+QUOTEDSTR('D')+' THEN SELECT MONTOMOV as DEBE FROM '+Tab+' END, '+
                  ' CASE WHEM DEBE_HABER='+QUOTEDSTR('H')+' THEN SELECT MONTOMOV as HABER FROM '+Tab+' END '+
                  ' from '+Tab+'';
Query1.Active:=True;
end;
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 24-02-2012
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 21
luisgutierrezb Va por buen camino
bueno en el codigo pegado dice whem no wheN, tal vez sea el error
Responder Con Cita
  #4  
Antiguo 24-02-2012
jomah jomah is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 18
Poder: 0
jomah Va por buen camino
no el error me sigue apareciendo y dice asi:
invalid use of keyword
token: WHEN
Line number: 1.
Responder Con Cita
  #5  
Antiguo 24-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

La sintáxis (al menos en Firebird) es:
Código:
CASE
   WHEN <bool_exp1> THEN result1
   WHEN <bool_exp2> THEN result2
   ...
   [ELSE defaultresult]
END
Probá quitando el segundo CASE:
Código Delphi [-]
...
  'CASE WHEN DEBE_HABER = '+QUOTEDSTR('D')+' THEN SELECT MONTOMOV as DEBE FROM ' + Tab + ' END, '+
  'WHEN DEBE_HABER = '+QUOTEDSTR('H')+' THEN SELECT MONTOMOV as HABER FROM ' + Tab + ' END '+
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 25-02-2012
jomah jomah is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 18
Poder: 0
jomah Va por buen camino
no el error todavia me sigue apareciendo
ya nno ayo que acer con ese case
Responder Con Cita
  #7  
Antiguo 25-02-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por jomah Ver Mensaje
... ya nno ayo que acer con ese case
Disculpa, ¿qué dice ahí?
Responder Con Cita
  #8  
Antiguo 25-02-2012
jomah jomah is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 18
Poder: 0
jomah Va por buen camino
que ya no allo que hacer con ese 'case'
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
DBGrid: Como redimensionar columnas si se redimensiona el dbGrid? quali OOP 6 08-02-2010 22:00:49
Como extraer field description de un campo? rulo_m Varios 13 30-01-2008 21:44:22
gbGrid: ¿como lleno columnas directamente que no vengan de un campo del SQL? gesDelf SQL 4 09-09-2006 21:12:13
¿Como se actualiza un campo de una tabla a partir de las columnas de otra? salvica SQL 12 09-07-2004 01:56:10
Como extraer datos de un DBgrid a otro DBgrid mickey Conexión con bases de datos 13 29-01-2004 05:05:30


La franja horaria es GMT +2. Ahora son las 01:39:16.


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