livro caixa
ae galera .. preciso fazer um livro caixa...o cara qr cadastrar o dia e o valor q ganhou no dia.. entaum fiz uma tabela .. com dois campos DATA e VALOR.. teh ai tudo bem.. agora. como eu faço pra pegar o valor total .. entre duas data? tipo .. ele cadastra o mês inteiro .. mas soh qr sabe o total do dia 05 ao 16.. como eu faço????
uso banco de dados Access e ADO :-)
vlw galera
uso banco de dados Access e ADO :-)
vlw galera
Slack
Curtidas 0
Respostas
Delphi32
13/05/2004
você pode executar uma query no banco de dados:
Ps.: isso seria uma query genérica. Não sei se realmente funcionaria assim para um BD Acess... :wink:
Query.SQL.Clear; Query.SQL.Add(´SELECT SUM(VALOR) WHERE DATA BETWEEN :DAT1 AND :DAT2´); Query1.ParamByName(´DAT1´).AsDate := Data1;//variável com a data inicial Query1.ParamByName(´DAT2´).AsDate := Data2;//variável com a data final
Ps.: isso seria uma query genérica. Não sei se realmente funcionaria assim para um BD Acess... :wink:
GOSTEI 0
Slack
13/05/2004
ae cara nem deu certo isso aeeee
GOSTEI 0
Vetecnet
13/05/2004
Posso te dar uma mãozinha e te enviar um projeto com os fontes.
Para vc conseguir o valor entre duas datas , terá que filtrar a tabela
indicando data inicial e data final.
Posso te mandar em paradox?
Para vc conseguir o valor entre duas datas , terá que filtrar a tabela
indicando data inicial e data final.
Posso te mandar em paradox?
GOSTEI 0
Slack
13/05/2004
sim. cara.. passa pode ser por email
mca.jau@terra.com.br
MSN xxslackxx@hotmail.com
ICQ: 136439290 c q escolhe.. vlw
mca.jau@terra.com.br
MSN xxslackxx@hotmail.com
ICQ: 136439290 c q escolhe.. vlw
GOSTEI 0
Pabhen
13/05/2004
você pode executar uma query no banco de dados:
Ps.: isso seria uma query genérica. Não sei se realmente funcionaria assim para um BD Acess... :wink:
Query.SQL.Clear; Query.SQL.Add(´SELECT SUM(VALOR) WHERE DATA BETWEEN :DAT1 AND :DAT2´); Query1.ParamByName(´DAT1´).AsDate := Data1;//variável com a data inicial Query1.ParamByName(´DAT2´).AsDate := Data2;//variável com a data final
O modo certo para quem usa ado é assim:
Data1:=Edit1.text;
Data2:=Edit2.text;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT SUM(VALOR) WHERE DATA BETWEEN :DAT1 AND :DAT2´);
Query1.Params.ParamByName(´DAT1´).Value := Data1;//variável com a data inicial
Query1.Params.ParamByName(´DAT2´).Value := Data2;//variável com a data final
Query1.open;
Blz.
GOSTEI 0
Slack
13/05/2004
aee cara vlw. deu certo .. soh q tive q fazer umas modificacoes.. fico assim
flww
Data1:=Edit1.text; Data2:=Edit2.text; Query1.Close; Query1.SQL.Clear; Query1.SQL.Add(´SELECT * FROM TESTE WHERE DATA BETWEEN :DATA1 AND :DATA2´); Query1.Parameters.ParamByName(´Data1´).Value:=Data1; Query1.Parameters.ParamByName(´Data2´).Value:=Data2; Query1.open;
flww
GOSTEI 0
Slack
13/05/2004
só q tb naum consegui efetuar a SOMA :-( mas c alguem conseguir posta ae .. c eu consegui eu tb posto .. flw
GOSTEI 0
Vetecnet
13/05/2004
Fica meio difícil postar somente o código da soma por isso criei o livro caixa completo em paradox , slack , estou lhe enviando por E-mail os arquivos zipados , descompacte a pasta livro caixa dentro da unidade c:
não coloquei alias.
Aqui vai o código Completo para quem quiser Tentar.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, DB, Grids, DBGrids, ComCtrls, ToolWin, Menus, DBTables,
StdCtrls, DBCtrls, XPMan;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
MainMenu1: TMainMenu;
Arquivo1: TMenuItem;
Sair1: TMenuItem;
ToolBar1: TToolBar;
StatusBar1: TStatusBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
DBGrid1: TDBGrid;
Table1Cod: TAutoIncField;
Table1Data: TDateField;
Table1Valor: TCurrencyField;
ImageList1: TImageList;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
Table1Obs: TMemoField;
DBMemo1: TDBMemo;
Label4: TLabel;
Label5: TLabel;
procedure Sair1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Sair1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Table1.Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Total , Geral : real;
begin
Table1.open;
TOTAL := 0 ;
Geral := 0 ;
Table1.First;
WHILE NOT TABLE1.Eof DO
BEGIN
TOTAL := Total + Table1Valor.value;
TABLE1.Next;
END;
LABEL2.Caption := Formatfloat (´0.00´,total);
end;
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
formcreate (self);
end;
procedure TForm1.DateTimePicker2Change(Sender: TObject);
var
Data1 , Data2 : string;
begin
Data1 := Datetostr (datetimepicker1.Date);
Data2 := Datetostr (Datetimepicker2.Date);
Table1.Filter := ´Data >= ´ + QuotedStr(Data1) + ´ and ´ + ´Data <= ´ + QuotedStr(Data2);
formcreate (self);
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
DateTimePicker2Change (Self);
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
Table1.First;
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
Table1.Last;
end;
end.
vetecnet@bol.com.br
não coloquei alias.
Aqui vai o código Completo para quem quiser Tentar.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, DB, Grids, DBGrids, ComCtrls, ToolWin, Menus, DBTables,
StdCtrls, DBCtrls, XPMan;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
MainMenu1: TMainMenu;
Arquivo1: TMenuItem;
Sair1: TMenuItem;
ToolBar1: TToolBar;
StatusBar1: TStatusBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
DBGrid1: TDBGrid;
Table1Cod: TAutoIncField;
Table1Data: TDateField;
Table1Valor: TCurrencyField;
ImageList1: TImageList;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
Table1Obs: TMemoField;
DBMemo1: TDBMemo;
Label4: TLabel;
Label5: TLabel;
procedure Sair1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Sair1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Table1.Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Total , Geral : real;
begin
Table1.open;
TOTAL := 0 ;
Geral := 0 ;
Table1.First;
WHILE NOT TABLE1.Eof DO
BEGIN
TOTAL := Total + Table1Valor.value;
TABLE1.Next;
END;
LABEL2.Caption := Formatfloat (´0.00´,total);
end;
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
formcreate (self);
end;
procedure TForm1.DateTimePicker2Change(Sender: TObject);
var
Data1 , Data2 : string;
begin
Data1 := Datetostr (datetimepicker1.Date);
Data2 := Datetostr (Datetimepicker2.Date);
Table1.Filter := ´Data >= ´ + QuotedStr(Data1) + ´ and ´ + ´Data <= ´ + QuotedStr(Data2);
formcreate (self);
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
DateTimePicker2Change (Self);
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
Table1.First;
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
Table1.Last;
end;
end.
vetecnet@bol.com.br
GOSTEI 0
Ztiago
13/05/2004
Query.SQL.Clear;
Query.SQL.Add(´SELECT SUM(VALOR) as soma WHERE DATA BETWEEN :DAT1 AND :DAT2´ [b:05c5cb318b]group by valor[/b:05c5cb318b]);
Query1.ParamByName(´DAT1´).AsDate := Data1;//variável com a data inicial
Query1.ParamByName(´DAT2´).AsDate := Data2;//variável com a data final
ai cara é só vc adicionar a cláusula group by +campo... que a soma irá aparecer no field soma
Query.SQL.Add(´SELECT SUM(VALOR) as soma WHERE DATA BETWEEN :DAT1 AND :DAT2´ [b:05c5cb318b]group by valor[/b:05c5cb318b]);
Query1.ParamByName(´DAT1´).AsDate := Data1;//variável com a data inicial
Query1.ParamByName(´DAT2´).AsDate := Data2;//variável com a data final
ai cara é só vc adicionar a cláusula group by +campo... que a soma irá aparecer no field soma
GOSTEI 0
Slack
13/05/2004
ae Vetecnet e ztiago.. os dois .. o cod. q o ztiago mando deu certo ... e o fonte q vetecnet mando tb quebro um galhaol....
vlw ae todos q ajudaram nesse topico..
vlw ae todos q ajudaram nesse topico..
GOSTEI 0