TADOQuery=ADOQ(nombre)
TDataSetProvider=DSProvider(nombre)
TClientDataSet=ClientDataSet1(nombre)
TDataSource=DataSource1(nombre)
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Edit1: TEdit;
Label2: TLabel;
StatusBar1: TStatusBar;
ADOQ: TADOQuery;
DSProvider: TDataSetProvider;
lblData: TLabel;
cbFiltrar: TCheckBox;
parte del codigo:
[/delphi]
procedure TForm1.Edit1Change(Sender: TObject);
begin
// filtrar o localizar
if (not cbFiltrar.Checked) then begin
// Busqueda incremental
ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]);
Exit;
end
else begin
// esto sería para filtrar
if (Edit1.Text = '') then
begin
ClientDataSet1.Filtered := false;
ClientDataSet1.Filter := '';
end
else begin
ClientDataset1.Open;
ClientDataSet1.Filter := ('Campo4 =' + QuotedStr(Edit1.Text) );
ClientDataSet1.Filtered := True;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var
path:string;
begin
Path := ExtractFilePath(Application.ExeName) + 'Data11.xml';
// Existe el XML?
if FileExists(path) then begin
ClientDataSet1.LoadFromFile(path);
lbldata.Caption := ExtractFileName(path);
Exit;
end;
// Probar con el MDB
Path := ExtractFilePath(Application.ExeName) + 'Data.MDB';
// Existe el MDB?
if FileExists(path) then begin
ClientDataSet1.ProviderName := 'DSProvider';
ADOQ.Open;
ClientDataSet1.Active := True;
ADOQ.Close;
ClientDataSet1.ProviderName := '';
lbldata.Caption := ExtractFileName(path);
Exit;
end;
// Si llega aqui es que no existe ninguno de los dos.
MessageDlg('No se ha encontrado ninguna fuente de datos; Data.XML o Data.MDB', mtWarning, [mbOK], 0);
end;
muchisimas gracias..