Fórum livro caixa #232146

13/05/2004

0

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


Slack

Slack

Responder

Posts

13/05/2004

Delphi32

você pode executar uma query no banco de dados:

   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:


Responder

Gostei + 0

14/05/2004

Slack

ae cara nem deu certo isso aeeee


Responder

Gostei + 0

14/05/2004

Vetecnet

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?


Responder

Gostei + 0

14/05/2004

Slack

sim. cara.. passa pode ser por email
mca.jau@terra.com.br
MSN xxslackxx@hotmail.com
ICQ: 136439290 c q escolhe.. vlw


Responder

Gostei + 0

14/05/2004

Pabhen

você pode executar uma query no banco de dados:
   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:


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.


Responder

Gostei + 0

14/05/2004

Slack

aee cara vlw. deu certo .. soh q tive q fazer umas modificacoes.. fico assim
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


Responder

Gostei + 0

14/05/2004

Slack

só q tb naum consegui efetuar a SOMA :-( mas c alguem conseguir posta ae .. c eu consegui eu tb posto .. flw


Responder

Gostei + 0

15/05/2004

Vetecnet

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


Responder

Gostei + 0

15/05/2004

Ztiago

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


Responder

Gostei + 0

17/05/2004

Slack

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..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar