Ir para conteúdo
Fórum Script Brasil
  • 0

porque o Total do bd não corresponde aos dados inseridos


Fly1

Pergunta

Bom dia a todos

minha preocupacao e o seguinte tenho um campo [Total_Oleo]q resulta da soma do [Acrescimo_Oleo+ Oleo_Manutencao] no meu BD(Mysql) qd introduza os dados tudo bem mas qd vou verificar aparece um numero diferente da soma real por exemplo :se introduzo 1,2+1,2 a soma tinha d ser igual a 2,4 mas aparece 24 gostaria q me ajudassem a resolver isso por favor.

não sei s e porque utilizo o replace e o "." provoca isso ou s e por outro motivo

um abraco

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Bom não conheço muito MySql, achei que fosse algo com VB, mas já tentou por "," ao invés de "."

Eu estou usando o VB6 so q o meu base dados e o mysql ou seja os dados são inseridos num bd feito em mysql

Link para o comentário
Compartilhar em outros sites

  • 0

Acontece que você tem que inserir no MySQL no formato com "." nas casa decimais e retirar os pontos dos milhares

Text_VALOR = Replace(Text_VALOR, ".", "") 'retira os pontos dos milhares

Text_VALOR = Replace(Text_VALOR.Text, ",", ".") 'troca a virgula por ponto nos décimos

Lembrando que isso tem que ser feito na hora do Insert, e caso no campo onde os valores aparecem esteja como CURRENCY você ainda tem que retirar o "R$"

Dá uma olhada como estão os valores direto no Banco, vai pelo Prompt, assim:

Iniciar

Todos os programas

MySQL

MySQL Server 5.0

MySQL Command Line Clilente

1 - Irá aparecer a tela do Prompt pedindo sua senha, digite-a

2 - Depois da linha MySQL> digite:

MySQL> Show databases; 'dê um ENTER, aparecerá as bases criadas pos você, escolha o banco que está trabalhando, assim:

3 - MySQL> Use Nome_do_banco; 'dê um enter, aparecerá a linha "database changed", digite agora o select para retornar os valores:

4 - MySQL> select campo_valor from tabela; 'dê um enter

veja se estão aparecendo apenas com o ponto nos decimos assim:

1.20

2.40

você pode verificar com os seguintes comandos suas tabelas e campos:

4 - MySQL> Show tables; 'dê um enter, aparecerá o nome das tabelas, depois digite

5- MySQL> describe Nome_da_sua_tabela; 'dê um enter, aparecerá os campos da tabela com tipos

Depois de verificado como estão os valores no banco dê uma olhada como está fazendo o select no VB para retornar os mesmos e suas somas.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia a todos espero que tenham tido um bom fim d semana

Vou enviar uma parte dos codigos q fazem parte do calculo do TotalConsumoOleo para verificacao e correcao e

ver o porque q qd coloco por ex nos text box txtmanutencao [1,2 ]+ txtacrescimo[ 1,2 ] em vez de gravar 2,4 na base dados grava 24 e não 2,4

"""""""""""""""""""""
Private Sub txtAcrescimo_Change()
   
      If Not ValidateNumeric(txtAcrescimo.Text) Then
                txtAcrescimo.Text = ""
                End If

  If txtAcrescimo.Text <> Empty And txtAcrescimo.Text <> Empty Then
   
   txtTotalConsumoOleo.Text = vtotalOleo + CDbl(txtAcrescimo) + CDbl(txtManutencao)
   
   Else
        txtTotalConsumoOleo.Text = vtotalOleo
        
   End If
'    txtGasoleo.SetFocus
End Sub
"""""""""""""""""""""""""
Private Sub txtManutencao_Change()
   
   If Not ValidateNumeric(txtManutencao.Text) Then
                txtManutencao.Text = ""
                End If
   
   If txtManutencao.Text <> Empty And txtAcrescimo.Text <> Empty Then
   
   txtTotalConsumoOleo.Text = vtotalOleo + CDbl(txtManutencao) + CDbl(txtAcrescimo)
   
   Else
        txtTotalConsumoOleo.Text = Format(vtotalOleo, "0.00")
        
   End If
'      txtAcrescimo.SetFocus
               End Sub
"""""""""""""""""""""""""""""""""""""
Private Sub cmdGravar_Click()


txtID.Text = ContarRegistros

'  If txtManutencao.Text = Empty Then
'  txtManutencao.Text = 0
'  End If
'
  If txtValorPeca.Text = Empty Then
     
     txtValorPeca.Text = 0
  
  End If
  
   txtManutencao.Text = Replace(txtManutencao, ".", "")
     txtManutencao.Text = Replace(txtManutencao.Text, ",", ".")
  txtAcrescimo.Text = Replace(txtAcrescimo, ".", "")
     txtAcrescimo.Text = Replace(txtAcrescimo.Text, ",", ".")
  txtTotalConsumoOleo.Text = Replace(txtTotalConsumoOleo.Text, ".", "")
     txtTotalConsumoOleo = Replace(txtTotalConsumoOleo, ",", ".")
'''  ''''''''''''''''''''
txtPercOleo.Text = Replace(Format(txtPercOleo.Text, "0.00"), ",", ".")
txtPercGasoleo.Text = Replace(Format(txtPercGasoleo.Text, "0.00"), ",", ".")
txtPercOleoGasoleo.Text = Replace(Format(txtPercOleoGasoleo.Text, "0.00"), ",", ".")
txtPercKmDia.Text = Replace(Format(txtPercKmDia.Text, "0.00"), ",", ".")
'
'
  
'''''''''''''
      GravarDados

      txtID.SetFocus
End Sub
"""""""""""""""""""""""""""""""""""""

'FUNCAO PARA INCREMENTAR OS VALORES TOTALGASOLEO
'TOTALKM e KMACUMULADO E TOTALCONSUMOOLEO

Private Function BuscarDados()


Dim bRecOficina As New ADODB.Recordset



 vtotalOleo = 0

vTotalGasoleo = 0
 vTotalKm = 0
 vKmAcumulado = 0


 On Error Resume Next

 bRecOficina.Open " SELECT * FROM controleconsumomanutencao WHERE Codigo =" & txtCodAutocarro.Text & "", cnnOficina, adOpenDynamic
'
''bRecOficina.Open "SELECT SUM(Gasoleo)as Total_Gasoleo FROM oficina.controleconsumomanutencao where Codigo=" & txtCodAutocarro.Text & ";", cnnOficina, adOpenDynamic
'
   
   Do While Not bRecOficina.EOF
   
  vtotalOleo = vtotalOleo + bRecOficina.Fields("Manutencao").Value + bRecOficina.Fields("Acrescimo_Oleo").Value  
   vTotalGasoleo = bRecOficina.Fields("Total_Gasoleo").Value
   vTotalKm = bRecOficina.Fields("Total_Kilometros").Value
   vKmAcumulado = bRecOficina.Fields("Kilomet_Acumulado").Value


'''''''''''''''''''

   bRecOficina.MoveNext
   




   Loop



 bRecOficina.Close

 Set bRecOficina = Nothing
'
'
End Function

"""""""""""""""""""

já tentei de tudo para entrar 2,4 na bd mas não adianta

um abraco a todos e espero q consigam ajudar-me nisso

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

fly, quando for postar codigos, lembra sempre de por o codigo dentro da tag CODE, beleza?? assim fica mais facil de entender, tipo ele não vai perder a tabulacao, entende??

mas, então, nesse seu codigo ai, ele não esta salvando. imagino q ele grave na sub GravarDados, não?? muito provavelmente o erro deve estar ai, se não conseguir encontrar, pode o codigo dela pra gente ver se descobre.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...