📄 rica_art_u_fornit_old.pas
字号:
unit rica_art_u_fornit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Mask, DBCtrls, Db, DBTables, Grids, DBGrids, Buttons,
ActnList, ComCtrls, ToolWin, DBGridEh;
type
TRicerca_articoli = class(TForm)
Panel2: TPanel;
DsArticoli: TDataSource;
ActionList1: TActionList;
cercatutto: TAction;
Descrizione: TToolBar;
OK: TAction;
Annulla: TAction;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Qarticoli: TQuery;
GrigliaArticoli: TDBGridEh;
DBGrid1: TDBGrid;
TTGiacenza: TTable;
dsGiacenza: TDataSource;
TTGiacenzaGiacenza: TFloatField;
TTGiacenzaArticolo: TStringField;
TTGiacenzaDeposito: TStringField;
TTGiacenzaCausale: TStringField;
TTGiacenzaQtainiziale: TFloatField;
TTGiacenzaQtacarico: TFloatField;
TTGiacenzaQtascarico: TFloatField;
TTGiacenzaDataultimoMovimento: TDateField;
TTGiacenzaDataultimoinventario: TDateField;
TTGiacenzaArticolointerno: TStringField;
Timer1: TTimer;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit_Descrizione: TEdit;
Sociale: TComboBox;
Edit_interno: TEdit;
Edit_Fornitore: TEdit;
Edit_Etichette: TEdit;
Tipo_Articolo: TComboBox;
procedure ElencoExecute(Sender: TObject);
procedure cercatuttoExecute(Sender: TObject);
procedure ricercaChange(Sender: TObject);
procedure AnnullaExecute(Sender: TObject);
procedure OKExecute(Sender: TObject);
procedure GrigliaArticoliTitleBtnClick(Sender: TObject; ACol: Integer;
Column: TColumnEh);
procedure GrigliaArticoliDblClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TTGiacenzaCalcFields(DataSet: TDataSet);
procedure QarticoliAfterOpen(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Edit_DescrizioneChange(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SocialeChange(Sender: TObject);
procedure Edit_internoChange(Sender: TObject);
procedure Edit_FornitoreChange(Sender: TObject);
procedure Edit_EtichetteChange(Sender: TObject);
procedure Tipo_ArticoloChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function Articolo : string ;
procedure Aziona_timer;
procedure PreparaQuery;
end;
var
Ricerca_articoli: TRicerca_articoli;
implementation
uses ana_mod, Ucerca, Uelenco, Umenu;
{$R *.DFM}
function TRicerca_articoli.Articolo : string ;
begin
result := QArticoli.FieldByName('Articolo').asString ;
end ;
procedure TRicerca_articoli.ElencoExecute(Sender: TObject);
begin
Elenco_form.mostraelenco(self) ;
end;
procedure TRicerca_articoli.cercatuttoExecute(Sender: TObject);
begin
Cerca_form.Trova(self) ;
end;
procedure TRicerca_articoli.ricercaChange(Sender: TObject);
begin
Timer1.Enabled := false ;
Timer1.Enabled := true ;
end;
procedure TRicerca_articoli.AnnullaExecute(Sender: TObject);
begin
ModalResult := mrCancel ;
end;
procedure TRicerca_articoli.OKExecute(Sender: TObject);
begin
modalResult := mrOk ;
end;
procedure TRicerca_articoli.GrigliaArticoliTitleBtnClick(Sender: TObject;
ACol: Integer; Column: TColumnEh);
Var
Campo_ordinamento : string ;
i,righe : integer ;
begin
for i:= 0 to GrigliaArticoli.Columns.Count -1 do
If GrigliaArticoli.Columns[i] <> Column then
Column.Title.SortMarker := smNoneeh ;
Column.Title.SortMarker := smUpeh ;
QArticoli.Close ;
Campo_ordinamento := Column.Title.Caption ;
righe := QArticoli.SQL.Count ;
for i:= 0 to righe-1 do
If Pos('ORDER',QArticoli.Sql.Strings[i]) > 0 then
QArticoli.Sql.Strings[i] := 'ORDER BY A."'+campo_ordinamento+'"' ;
QArticoli.Open ;
end;
procedure TRicerca_articoli.GrigliaArticoliDblClick(Sender: TObject);
begin
Ok.Execute ;
end;
procedure TRicerca_articoli.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then ok.execute ;
end;
procedure TRicerca_articoli.TTGiacenzaCalcFields(DataSet: TDataSet);
begin
TTGiacenzaGiacenza.AsFloat := TTGiacenza.FieldByName('Qta Iniziale').asFloat +
TTGiacenza.FieldByName('Qta Carico').AsFloat -
TTGiacenza.FieldByName('Qta Scarico').AsFloat ;
end;
procedure TRicerca_articoli.QarticoliAfterOpen(DataSet: TDataSet);
begin
TTGiacenza.Open ;
end;
procedure TRicerca_articoli.FormShow(Sender: TObject);
begin
//if ricerca.text <> '' then
// GrigliaArticoli.SetFocus ;
end;
procedure TRicerca_articoli.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false ;
// AggiornaFiltro ;
PreparaQuery;
end;
procedure TRicerca_articoli.Aziona_timer;
begin
Timer1.Enabled := false ;
Timer1.Enabled := true ;
end;
procedure TRicerca_articoli.Edit_DescrizioneChange(Sender: TObject);
begin
Aziona_Timer;
end;
procedure TRicerca_articoli.FormActivate(Sender: TObject);
begin
Sociale.Items.clear;
Sociale.Items.add('(Tutti)') ;
ModuloDatiAnagrafiche.TTsoggetti.First;
while not ModuloDatiAnagrafiche.TTsoggetti.Eof do
begin
if ModuloDatiAnagrafiche.TTTipiSog.FindKey([moduloDatiAnagrafiche.TTsoggettiTiporapporto.AsString]) and
(moduloDatiAnagrafiche.TTTipiSogElencaSempre.AsBoolean or moduloDatiAnagrafiche.TTTipisogElencaFornitore.AsBoolean) then
begin
Sociale.Items.Add(ModuloDatiAnagrafiche.TTsoggettiRagionesociale.AsString);
end;
ModuloDatiAnagrafiche.TTsoggetti.Next;
end;
Tipo_Articolo.Items.Clear;
Tipo_Articolo.Items.Add('(Tutti)') ;
ModuloDatiAnagrafiche.TTTipArt.First;
while not ModuloDatiAnagrafiche.TTTipArt.Eof do
begin
Tipo_Articolo.Items.Add(ModuloDatiAnagrafiche.TTTipArtTipoArticolo.AsString);
ModuloDatiAnagrafiche.TTTipArt.Next;
end;
end;
procedure TRicerca_articoli.PreparaQuery;
var Stringawhere : string;
begin
Stringawhere := '';
Qarticoli.SQL.clear;
Qarticoli.SQL.add('Select *');
Qarticoli.sql.add('From Articoli.db A') ;
Qarticoli.sql.add('LEFT OUTER JOIN "Soggetti.DB" S ON (A."Fornitore" = S."Codice")');
if Edit_descrizione.text <> '' then
stringawhere := '(upper(A.Descrizione) like "%'+ Edit_descrizione.text +'%")';
if sociale.text <> '(Tutti)' then
begin
if stringawhere <> '' then
stringawhere := stringawhere + ' and (S."Ragione sociale" = "' + sociale.text + '")'
else
stringawhere := '(S."Ragione sociale" = "' + sociale.text + '")';
end;
if tipo_articolo.text <> '(Tutti)' then
begin
if stringawhere <> '' then
stringawhere := stringawhere + ' and (A."Tipo articolo" = "' + Tipo_articolo.text + '")'
else
stringawhere := '(A."Tipo articolo" = "' + Tipo_articolo.text + '")';
end;
if Edit_interno.Text <> '' then
begin
if stringawhere <> '' then
stringawhere := stringawhere + ' and (A.Articolo = "' + Edit_interno.text + '")'
else
stringawhere := '(A.Articolo = "' + Edit_interno.text + '")';
end;
if Edit_fornitore.Text <> '' then
begin
if stringawhere <> '' then
stringawhere := stringawhere +' and (upper (A."Articolo fornitore") like "' + Edit_fornitore.text + '%")'
else
stringawhere := '(upper (A."Articolo fornitore") like "' + Edit_fornitore.text + '%")';
end;
if Edit_Etichette.Text <> '' then
begin
if stringaWhere <> '' then
Stringawhere := stringawhere +' and (upper (A."Articolo etichetta") like "' + Edit_Etichette.text + '%")'
else
stringawhere := '(upper (A."Articolo etichetta") like "' + Edit_etichette.text + '%")';
end;
if stringawhere <> '' then
QArticoli.Sql.Add('where ' + StringaWhere);
QArticoli.sql.Add('Order By A.Descrizione');
Qarticoli.sql.SaveToFile('C:\Ciccio.txt');
QArticoli.open;
end;
procedure TRicerca_articoli.FormCreate(Sender: TObject);
begin
preparaQuery;
end;
procedure TRicerca_articoli.SocialeChange(Sender: TObject);
begin
Aziona_Timer;
end;
procedure TRicerca_articoli.Edit_internoChange(Sender: TObject);
begin
Aziona_Timer;
end;
procedure TRicerca_articoli.Edit_FornitoreChange(Sender: TObject);
begin
Aziona_Timer;
end;
procedure TRicerca_articoli.Edit_EtichetteChange(Sender: TObject);
begin
Aziona_Timer;
end;
procedure TRicerca_articoli.Tipo_ArticoloChange(Sender: TObject);
begin
Aziona_Timer;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -