Tema: Factura
Ver Mensaje Individual
  #6  
Antiguo 10-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola Stravinsky
Si copias este pequeño codigo y cambias los nombres de las tablas tendras un buscador de articulos completo:
Código Delphi [-]
unit UFBuscaArticulos;

interface

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

type
  TFBuscaArticulo = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    CBFiltro: TComboBox;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    DBText1: TDBText;
    DBText2: TDBText;
    Label3: TLabel;
    DBText3: TDBText;
    Label4: TLabel;
    Label7: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ATArticulos: TADOTable;
    ATArticulosCodParte: TWideStringField;
    ATArticulosDescripcion: TWideStringField;
    ATArticulosCosto: TFloatField;
    ATArticulosUltCosto: TFloatField;
    ATArticulosPrecio1: TFloatField;
    ATArticulosPrecio2: TFloatField;
    ATArticulosPrecio3: TFloatField;
    ATArticulosCategoria: TWideStringField;
    ATArticulosSubCategoria: TWideStringField;
    ATArticulosUbicacion: TWideStringField;
    ATArticulosUnidad: TWideStringField;
    ATArticulosDisponible: TFloatField;
    ATArticulosEnProduccion: TFloatField;
    ATArticulosNotas: TMemoField;
    DSArticulos: TDataSource;
    Label5: TLabel;
    DBText4: TDBText;
    Label6: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBText5: TDBText;
    DBText6: TDBText;
    DBText7: TDBText;
    ATArticulosPrecio4: TFloatField;
    ATArticulosPrecio5: TFloatField;
    ATArticulosPrecio6: TFloatField;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBText8: TDBText;
    DBText9: TDBText;
    DBText10: TDBText;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Cod_Parte : String;    
  end;

var
  FBuscaArticulo: TFBuscaArticulo;

implementation

{$R *.dfm}

procedure TFBuscaArticulo.FormCreate(Sender: TObject);
begin
   ATArticulos.Open;
end;

procedure TFBuscaArticulo.FormDestroy(Sender: TObject);
begin
   ATArticulos.Close;
end;

procedure TFBuscaArticulo.Edit1Change(Sender: TObject);
var   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      ATArticulos.Filtered := False;
      If CBFiltro.Text = 'Código' then Filtro := 'CodParte Like '''+Edit1.Text + '*'''
         else If CBFiltro.Text = 'Descripción' then Filtro := 'Descripcion Like '''+ Edit1.Text + '*'''
            else If CBFiltro.Text = 'Categoría' then Filtro := 'Categoria Like '''+ Edit1.Text + '*''';
      ATArticulos.Filter := Filtro;
      ATArticulos.Filtered := True
   end
   else ATArticulos.Filtered := False;
end;

procedure TFBuscaArticulo.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   IF Key = VK_DOWN then
   DbGrid1.SetFocus;
end;

procedure TFBuscaArticulo.BitBtn1Click(Sender: TObject);
begin
   CodParte := ATArticulosCodParte.AsString;
   Cod_Parte := ATArticulosCodParte.AsString;
   Close;
end;

procedure TFBuscaArticulo.BitBtn2Click(Sender: TObject);
begin
   CodParte := '';
   Cod_Parte := '';   
   Close;
end;

procedure TFBuscaArticulo.DBGrid1DblClick(Sender: TObject);
begin
   BitBtn1Click(DBGrid1);
end;

end.
Espero que con este pequeño ejemplo puedas hacer lo que quieres.
Saludos
Responder Con Cita