Esta arredondando o Valor total
Olá Pessoal, alguem pode me ajudar com esse codigo, uso ele para uma soma de valores so que ele esta arredondado tipo: 153,64 ele sai 154,00 e eu não quero assim eu quero que ele me mostre os valores exatos 153,64 :D
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
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
Curtidas 0
Respostas
Wagner
24/02/2004
Valeu colega :D :D :D
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
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
Aroldo Zanela
24/02/2004
Colega,
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;
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
Wagner
24/02/2004
Da um erro falando que a query não esta em modo de incersão
GOSTEI 0
Marco Salles
24/02/2004
Aroldo Zanela Disse:
Wagner, Será Que Voce Não Esqueceu De Titar Esta Instrução Do Seu Código Sql :?:
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
Wagner
24/02/2004
bom... em primeiro lugar vc começou definindo errado sua variável. se vc quer valores decimais, porque vc definiu a variável como inteiro?
o correto seria:
begin
Query3.Close;
query3.SQL.Text := ´Select Sum(valor) totaldesp From balancete´;
query3.Open;
dbEdit10.Field.AsFloat := Query3.FieldByName(´totaldesp´).AsFloat;
end;
note que a variável [b:aae63c5aa0]soma[/b:aae63c5aa0] não é necessária.
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
Marco Salles
24/02/2004
Não Wagner, Não É Para Ficar Confuso...A Variável Soma Não é Realmente Necessário...Voce Resolveu o Problema De Arredondamento
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
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
Wagner
24/02/2004
O erro agora é conversão do tipo variante invalido :cry:
GOSTEI 0
Marco Salles
24/02/2004
Voce Fez o Que o Haroldo Determinou :?:
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
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;
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
Wagner
24/02/2004
Fiz da mesma forma como foi explicado
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:
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
Marco Salles
24/02/2004
[quote=MarcoSalles]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
´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
Marco Salles
24/02/2004
Wagner, Desculpe O Cansaço e Talvez as Informações Desencontrada, Mas o Que Voce Quer é Relativamente Simples e o Que Ocorre São Informações Desencontradas....Faça o Seguinte
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
Wagner
24/02/2004
[quote:7a023ce44f=´Marco Salles´]
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] :?: :?:
[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...
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
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
Wagner
24/02/2004
Ops! acho que me atrapalhei na resposta (citação)
1º coloquei certo o codigo SQL na query3 select sum(valor) totaldesp from balancete
2º Não, eu não criei o campo totaldesp no fields edito da query3 porque esse campo já esta lá
1º coloquei certo o codigo SQL na query3 select sum(valor) totaldesp from balancete
2º Não, eu não criei o campo totaldesp no fields edito da query3 porque esse campo já esta lá
GOSTEI 0
Wagner
24/02/2004
Ops! desculpe-me, Postei sem ver a sua ultima postagem
GOSTEI 0
Marco Salles
24/02/2004
2º Não, eu não criei o campo totaldesp no fields edito da query3 porque esse campo já esta lá
Então Apague-o
GOSTEI 0