Hola
Perdonen Maestros por no contestar antes, pero estuve sin conexion a internet, fallas tipicas del pais.
Primero comentarles que funciono a la perfeccion y agradecer toda vuestra ayuda, asi quedo para que otras personas lo puedan ver.
Código Delphi
[-]
unit UFManTablas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls, ComCtrls;
type
TFManTablas = class(TForm)
Panel1: TPanel;
Label2: TLabel;
ComboBox1: TComboBox;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
Button1: TButton;
Label3: TLabel;
Edit1: TEdit;
Label1: TLabel;
ComboBox2: TComboBox;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
private
public
end;
var
FManTablas: TFManTablas;
implementation
uses UDM1;
{$R *.dfm}
procedure TFManTablas.ComboBox1Change(Sender: TObject);
begin
AdoQuery1.Filtered := False;
Edit1.Text:= '';
ComboBox2.Clear;
DateTimePicker1.CleanupInstance;
ADOQuery1.Close;
ADOQuery1.SQL.Text:= 'Select * from '+ComboBox1.Text;
ADOQuery1.Open;
DBGrid1.Columns.Clear;
DBGrid1.Columns.State := csCustomized;
DBGrid1.Columns[0].Width := 64;
DataModule1.AC1.GetFieldNames(ComboBox1.Text, ComboBox2.Items);
end;
procedure TFManTablas.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TFManTablas.FormCreate(Sender: TObject);
begin
DataModule1.AC1.GetTableNames(ComboBox1.Items);
DateTimePicker1.DateTime:= now;
end;
procedure TFManTablas.Edit1Change(Sender: TObject);
var
FieldName: String;
Field: TField;
begin
If (Edit1.Text <> '') then
begin
FieldName := ComboBox2.Text; Field := AdoQuery1.Fields.FieldByName(FieldName); AdoQuery1.Close;
case Field.Datatype of
ftString, ftWideString: ADOQuery1.Filter := ComboBox2.Text+ ' Like '''+Edit1.Text+ '*''';
ftInteger : ADOQuery1.Filter := ComboBox2.Text+ ' = '+Edit1.Text;
ftFloat : ADOQuery1.Filter := ComboBox2.Text+ ' = '+Edit1.Text;
end;
AdoQuery1.Filtered := True;
AdoQuery1.Open;
end;
end;
procedure TFManTablas.DateTimePicker1Change(Sender: TObject);
var
FieldName: String;
Field: TField;
begin
FieldName := ComboBox2.Text; Field := AdoQuery1.Fields.FieldByName(FieldName); AdoQuery1.Close;
case Field.Datatype of
ftDateTime : AdoQuery1.Filter := ComboBox2.Text+ ' = '+DateToStr(DateTimePicker1.DateTime);
end;
AdoQuery1.Filtered := True;
AdoQuery1.Open;
end;
end.
Reitero Muchisimas gracias Maestros.
Saludos