Fórum Esta arredondando o Valor total #216189
24/02/2004
0
var
Soma:Integer;
begin
Query3.Close;
Query3.SQL.Clear;
query3.SQL.Add(´Select Sum(valor) totaldesp From balancete´);
Query3.Prepare;
query3.open;
query3.Refresh;
Soma:=Query3.FieldByName(´totaldesp´).AsInteger;
dbEdit10.Text:=IntToStr(soma);
end;
Obrigado
Wagner
Curtir tópico
+ 0Posts
24/02/2004
Wagner
So mais uma coisa :lol: porque que o esse codigo não esta somando na hora! eu tenho que da um tab novamente em cima do campo para que ele assuma a soma
Obs: Eu coloquei ele no evento onenter
tipo:
dbedit1 = 80,00
dbedit2 = 0,00
dai eu dou um tab novamente do dbedit1 para o dbedit2 ai sim ele soma
dbedit1 = 80,00
dbedit2 = 80,00
Gostei + 0
24/02/2004
Aroldo Zanela
OnEnter -> AoEntrar
Uma solução seria adicionar um DataSource e ´apontar´ para sua query e nas propriedades DataSource e DataField do dbEdit, preencher de acordo com os objetos instanciados.
DataSource1 -> DataSet = Query3
dbEdit10 -> DataSource = DataSource1, DataField = TotalDesp
Esta instrução não é mais necessária:
dbEdit10.Field.AsFloat := Query3.FieldByName(´totaldesp´).AsFloat;
Gostei + 0
24/02/2004
Wagner
Gostei + 0
24/02/2004
Marco Salles
Esta instrução não é mais necessária: dbEdit10.Field.AsFloat := Query3.FieldByName(´totaldesp´).AsFloat;
Wagner, Será Que Voce Não Esqueceu De Titar Esta Instrução Do Seu Código Sql :?:
var Soma:Integer; begin Query3.Close; Query3.SQL.Clear; query3.SQL.Add(´Select Sum(valor) totaldesp From balancete´); Query3.Prepare; query3.open; query3.Refresh; Soma:=Query3.FieldByName(´totaldesp´).AsInteger; dbEdit10.Text:=IntToStr(soma); ***Tirar Instrução *** end;
Gostei + 0
24/02/2004
Wagner
Agora fiquei confuso :lol:
1 Coloquei dessa forma e realmente resolveu o problema incial de arrendodamento
2 ´Codigo Sql´ da propriedade SQL ? coloquei ´Select Sum(valor) totaldesp From balancete´
Gostei + 0
24/02/2004
Marco Salles
e Para Resolver a Segunda Questão Apresentada Usando O Datasource Como o Zanela Apresentou e Para Não Dar O Erro Que Voce Mencionou Tente Tirar a Ultima Instrução Do Código Sql
o correto seria: begin Query3.Close; query3.SQL.Text := ´Select Sum(valor) totaldesp From balancete´; query3.Open; dbEdit10.Field.AsFloat := Query3.FieldByName(´totaldesp´).AsFloat; //Tente Tirar Esta Ultima Instrução, Usando a Dica Do Aroldo Zanela end;
Gostei + 0
24/02/2004
Wagner
Gostei + 0
24/02/2004
Marco Salles
E Outra Coisa...Para Esta Solução Apresentada Voce Deve Criar o Campo
´Totaldep´ Na Sua Query Em Tempo De Projeto, Usando o FieldsEditor..Voce Fez Isto e Ou Sabe Como Faze-lo
Gostei + 0
24/02/2004
Wagner
Inclusive o campo já estava criado na query no field editor (Totaldesp)
Recapitulando:
[color=red:21ebe7ccbf]O Codigo[/color:21ebe7ccbf]
procedure TF_balancete.DBEdit10Enter(Sender: TObject);
begin
Query3.Close;
query3.SQL.Text := ´Select Sum(valor) totaldesp From balancete´;
query3.Open;
[color=blue:21ebe7ccbf]//dbEdit10.Field.AsFloat := Query3.FieldByName(´totaldesp´).AsFloat;[/color:21ebe7ccbf][/color]end; Conforme foi dito
Incluindo o DataSource - dataset = query3
dbedit10 = DataSource que foi incluido e o datafield = totaldesp
Estou esquecendo alguma coisa :cry:
Gostei + 0
24/02/2004
Marco Salles
´Totaldep´ Na Sua Query Em Tempo De Projeto, Usando o FieldsEditor..Voce Fez Isto e Ou Sabe Como Faze-lo
Não Wagner, Eu Disse Errado...É Suficiente Que o Codigo Sql Da Query Em Tempo De Execuçao Esteja Corretamente Preenchida:
Código Sql Da Query3 Em Tempo De Projeto... :?: [color=red:ef3ef98a75]Voce Fez Isto[/color:ef3ef98a75] :?: :?:
Select Sum(valor) totaldesp From balancete
[color=red:ef3ef98a75]Pergunta: Voce Por Acaso Criou o Campo totaldesp Usando O Fileds Editor Usando New Fileds :?: [/color:ef3ef98a75]...Depois Que o Código Sql Da Query3 Em Tempo De Projeto Tiver Devidamente Assinalada Voce Deve Usar o Comando [color=red:ef3ef98a75]´Add Fields´ [/color:ef3ef98a75], Que o Campo é Automaticamente Inserido...Mas Como Eu Disse Na Citação, Isto é Opcional...
Gostei + 0
24/02/2004
Marco Salles
1) Na Propriedade Sql Da Query3 Escreva Select Sum(valor) totaldesp From balancete 2) Opcional: Crie O Campo "totaldesp" Usando o Comando Add Field e Não O Comando "New Fields"....Se Voce Não Tiver Certeza De Como Gerou o Campo No Fields Editor Apague-o e Insire-o , Imediatamente Se For Necessário 3) Ligue o DataSource ao Query3 4) Ligue o DbEdit10 ao DataSource e Ao Campo totaldesp 5) Deixe o Código Como Esta No Evento Do Botão procedure TF_balancete.DBEdit10Enter(Sender: TObject); begin Query3.Close; query3.SQL.Text := ´Select Sum(valor) totaldesp From balancete´; query3.Open;
Gostei + 0
24/02/2004
Wagner
Não Wagner, Eu Disse Errado...É Suficiente Que o Codigo Sql Da Query Em Tempo De Execuçao Esteja Corretamente Preenchida:
Código Sql Da Query3 Em Tempo De Projeto... :?: [color=red:7a023ce44f]Voce Fez Isto[/color:7a023ce44f] :?: :?:
Select Sum(valor) totaldesp From balancete
[color=red:7a023ce44f]Pergunta: Voce Por Acaso Criou o Campo totaldesp Usando O Fileds Editor Usando New Fileds :?: [/color:7a023ce44f]...Depois Que o Código Sql Da Query3 Em Tempo De Projeto Tiver Devidamente Assinalada Voce Deve Usar o Comando [color=red:7a023ce44f]´Add Fields´ [/color:7a023ce44f], Que o Campo é Automaticamente Inserido...Mas Como Eu Disse Na Citação, Isto é Opcional...
1º Sim eu coloqueio codigo SQL na Query ´Select sum(valor)totaldesp from balancete
2º Não, eu não criei o campo totaldesp por que no fields editor do query3 esse campo já esta lá
Gostei + 0