Jump to content

Recommended Posts

Posted

Olá amigos,

Estou com dificuldade de resolver uma questão.

Tenho uma linha SELECT que filtra os dados de uma coluna com valores e inseri em um textbox a soma desses valores.

Até ai tudo bem, só que a primeira linha encontrada não é somada no valor gerado. Exemplo:

linha 1 = 15

linha 2 = 20

linha 3 = 10

soma = 45

Valor inserido no textbox = 30

Não consigo resolver esse problema.

Segue o código para tentarmos resolver essa questão:

<code>Private Sub SomarEncargoMesCC()

Dim Soma As Single = 0

Dim mes As String = Date.Now.Month.ToString

Dim banco As String = txtBancoContaCorrente.Text

Dim sqlCon As New SqlConnection(strCmd)

Dim strSql As String = "SELECT Valor FROM TB_Encargos where MONTH(Data) = '" & mes & "' and Banco = '" & banco & "'"

Dim sqlCmd As New SqlCommand(strSql, sqlCon)

Dim dr As SqlDataReader

sqlCmd.Connection.Open()

dr = sqlCmd.ExecuteReader

dr.Read()

Do While dr.Read

Soma += CDec(dr("Valor")).ToString

Loop

txtValorEncargosCC.Text = CDec(Soma)

End Sub</code>

Desde já agradeço.

Posted

Boas,

o problema é que estás a fazer duas vezes o Read.

Apaga a linha que tem apenas "dr.Read()"

Já agora, se pretendes fazer a soma de um campo, podes fazer o "SELECT SUM(Valor) FROM...", que faz logo as soma do campo em todos os registos

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.