Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #17  
Antiguo 26-03-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola Maestros
No hay manera, me genera errores, lo tengo asi:
Os muestro el codigo completo para que lo veais mejor:
El combobox1, muestra las tablas.(bien)
El combobox2, muestra los campos.(bien)
El edit1 (en el evento onchange) hace el filtro.(Mal).
Código Delphi [-]
unit UFManTablas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls;

type
  TFManTablas = class(TForm)
    Panel1: TPanel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    ComboBox2: TComboBox;
    Label1: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Button2: TButton;
    Button3: TButton;
    procedure ComboBox1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FManTablas: TFManTablas;

implementation

uses UDM1;

{$R *.dfm}

procedure TFManTablas.ComboBox1Change(Sender: TObject);
begin
    ComboBox2.Clear;
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:= 'Select * from '+ComboBox1.Text;
    ADOQuery1.Open;
    DBGrid1.Columns.Clear;
    DBGrid1.Columns.State := csCustomized;
    DBGrid1.Columns[0].Width := 64;
    // con esto veo el nombre de los campos de la tabla gracias a Roman.
    DataModule1.AC1.GetFieldNames(ComboBox1.Text, ComboBox2.Items);
    
end;

procedure TFManTablas.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TFManTablas.FormCreate(Sender: TObject);
begin
   // con esto veo el nombre de las tablas garcias a Roman
   DataModule1.AC1.GetTableNames(ComboBox1.Items);
end;

procedure TFManTablas.Edit1Change(Sender: TObject);
var
//   Filtro : String;
idx :integer;
begin
//   idx := AdoQuery1.Fields.indexof(ComboBox2.items[ComboBox2.itemindex]);
/    idx := ComboBox2.ItemIndex;
     AdoQuery1.Close;
  case AdoQuery1.Fields[idx].Datatype of
     ftString   : AdoQuery1.Filter := ComboBox2.Text+ ' = '''+Edit1.Text+ '*''';
     ftInteger  : AdoQuery1.Filter := ComboBox2.Text+ ' = '+Edit1.Text;
     ftFloat,
     ftCurrency : AdoQuery1.Filter := ComboBox2.Text+ ' >= '+Edit1.Text;
     ftDate,
     ftTime     : AdoQuery1.Filter := ComboBox2.Text+ ' = '''+Edit1.Text+ '''';
  end;
  AdoQuery1.Filtered := True;
  AdoQuery1.Open;


 {  // esta opcion da un error en tiempo de diseño no en ejecucion
   // esto es por la rutina try except, que lo produce
   // no afecta el programa, filtra bien
   If (Edit1.Text <> '') then
   begin
   AdoQuery1.Filtered := false;
   try
   Filtro := ComboBox2.Text+ ' Like '''+Edit1.Text+ '*''';
   ADOQuery1.Filter := Filtro;
   ADOQuery1.Filtered := True;
  // showmessage(Filtro + '1');
   except
         Filtro := ComboBox2.Text+ ' = '+Edit1.Text;
         ADOQuery1.Filter := Filtro;
         ADOQuery1.Filtered := True;
   //       showmessage(Filtro + '2');
   end
    end
   else ADOQuery1.Filtered := False; }
 end;

procedure TFManTablas.Button2Click(Sender: TObject);
begin
  //  ADOQuery1.Close;
    Edit1.Text:= '';
end;

end.
A ver si se os ocurre algo.
Gracias
Saludos
Responder Con Cita
 


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
Llenar un combobox con los campos de una tabla enecumene Conexión con bases de datos 6 07-03-2007 21:42:28
Deshabilitar items de un ComboBox vejerf Varios 0 06-02-2007 19:50:33
Codigo en los Items de un Combobox juanjoassenza OOP 3 20-07-2006 10:19:03
eliminar items combobox emiliu Varios 5 20-12-2005 08:12:13
Lista de items combobox Carlos Arevalo OOP 1 16-08-2003 07:10:48


La franja horaria es GMT +2. Ahora son las 21:33:33.


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