Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #18  
Antiguo 14-05-2011
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.

Mirá, vamos a simplificar la cosa, renombrá los campos de tus tablas (o crealas nuevamente) para que queden así:

CATEGORIAS
CLAVE_CA
NOMBRE_CA
FECHA_CA
CATEGORIA_CA

UNIDADES
CLAVE_UN
NOMBRE_UN
FECHA_UN
CATEGORIA_UN


Con esos nombres el código Delphi es:
Código Delphi [-]
procedure TForm1.FiltrarComboBox;
begin
  IBQuery1.Close;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.Add('SELECT NOMBRE_UN FROM UNIDADES, CATEGORIAS ');
  IBQuery1.SQL.Add('WHERE CATEGORIA_UN = CATEGORIA_CA AND CATEGORIA_UN = ');
  IBQuery1.SQL.Add('(SELECT CATEGORIA_CA FROM CATEGORIAS WHERE NOMBRE_CA = :NOMB)');
  IBQuery1.ParamByName('NOMB').AsString:= cbCategorias.Text;
  IBQuery1.Open;
  cbUnidades.Clear;
  while not IBQuery1.Eof do
  begin
    cbUnidades.Items.Add(IBQuery1.FieldByName('NOMBRE_UN').AsString);
    IBQuery1.Next;
  end;
  cbUnidades.ItemIndex:= 0;
  IBQuery1.Close
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  IBQuery1.Close;
  IBQuery1.SQL.Text:= 'SELECT * FROM CATEGORIAS ORDER BY NOMBRE_CA';
  IBQuery1.Open;
  while not IBQuery1.Eof do
  begin
    cbCategorias.Items.Add(IBQuery1.FieldByName('NOMBRE_CA').AsString);
    IBQuery1.Next;
  end;
  cbCategorias.ItemIndex:= 0;
  IBQuery1.Close;
  IBQuery1.SQL.Text:= 'SELECT * FROM UNIDADES ORDER BY NOMBRE_UN';
  IBQuery1.Open;
  while not IBQuery1.Eof do
  begin
    cbUnidades.Items.Add(IBQuery1.FieldByName('NOMBRE_UN').AsString);
    IBQuery1.Next;
  end;
  cbUnidades.ItemIndex:= 0;
  IBQuery1.Close;
  FiltrarComboBox
end;

procedure TForm1.cbCategoriasChange(Sender: TObject);
begin
  FiltrarComboBox
end;

Está probado y al igual que el código anterior funciona correctamente. Siempre que los datos sean coherentes, es decir, si las bebidas sin alcohol son categoría A y las que tienen alcohol B, no guardes 'GASEOSAS' poniendo en el campo CATEGORIA_UN una 'B'.

Fijate que remarque en negrita los campos de la consulta en el código Delphi, debes ponerlos textualmente así. Ya que así están definidos en la declaración de la tabla. (No califiques los campos con C1 y C2, tampoco es necesario el uso de AS)

Resumiendo, si copias textualmente este ejemplo desde la creación de las tablas, te tiene que funcionar.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 14-05-2011 a las 20:30:10.
Responder Con Cita
 



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 con combobox mdcynsk PHP 2 21-10-2010 15:20:37
Curiosidad While anidado con ADO lpedrazzi Conexión con bases de datos 0 30-11-2007 15:04:54
Query Anidado Ricsato SQL 4 06-11-2006 21:58:26
Ayuda con ComboBox pecosita C++ Builder 2 17-09-2006 02:38:26
Select anidado erika.martinez SQL 2 02-02-2006 12:19:57


La franja horaria es GMT +2. Ahora son las 04:25:29.


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