COMO SOMAR VALORES DESDE ACCESS

COQUITO 17/10/2016 16:03:31
#468145
ola pessoal tudo bem?

preciso uma ajuda nesta tabela, acontece que eu tenho um registro de clientes, pela que ele tem a data, total, e situação.
estou tentando somar os valores da seguinte forma
preciso que no meu textbox receba o valor total durante 30 dias quando a situação estiver em false e quando tiver em true, não somar
então eu tentei fazer mas não teve sucesso. conforme a imagem ele registra a data de saida, não estou conseguindo fazer.

.
   Public Sub ConsultarDadosclientes()
Dim dr As OleDbDataReader = Nothing
Using cn As OleDbConnection = DBCONEXAO()
Try
cn.Open()
Dim sql As String = [Ô]Select SUM(nome_cli) from entrsaid_veiculos where situacao=true and nome_cli Like[ô][Ô] & cboNomecCliente.Text & [Ô]%[ô][Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)

dr = cmd.ExecuteReader
If (dr.HasRows) Then
dr.Read()
txtValorTotal.Text = dr.Item([Ô]nome_cli[Ô]).ToString

Else
MsgBox([Ô]Dados informados não foi encontrado. ![Ô], MsgBoxStyle.Exclamation, [Ô]Arimuya - Projetos T.I.[Ô])
End If

Catch ex As Exception

End Try
End Using
End Sub


agradeço
ACCIOLLY 17/10/2016 16:39:25
#468146
Pense bem
Você vai mostrar todos os registros por data independente se situacao for false ou true. Mas no select vc ja traz a soma.
Acho melhor utilizar um loop para essa operacao.
JABA 17/10/2016 16:52:28
#468148
Resposta escolhida
Você tá mandando somar pelo campo errado. Faça assim:

Public Sub ConsultarDadosclientes()
Dim dr As OleDbDataReader = Nothing
Using cn As OleDbConnection = DBCONEXAO()
Try
cn.Open()
Dim sql As String = [Ô]Select SUM([txt-color=#e80000]vlr_total[/txt-color]) as vlrTotal from entrsaid_veiculos where situacao=true and nome_cli Like[ô][Ô] & cboNomecCliente.Text & [Ô]%[ô][Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)

dr = cmd.ExecuteReader
If (dr.HasRows) Then
dr.Read()
txtValorTotal.Text = dr.Item([Ô][txt-color=#e80000]vlrTotal[/txt-color][Ô]).ToString

Else
MsgBox([Ô]Dados informados não foi encontrado. ![Ô], MsgBoxStyle.Exclamation, [Ô]Arimuya - Projetos T.I.[Ô])
End If

Catch ex As Exception

End Try
End Using
End Sub

COQUITO 17/10/2016 17:15:27
#468149

Ele funcionou amigão. so que o problema é que eu preciso o total de 30 dias assim exemplo desde a data 01/10/2016 até a data 30/10/2016 que me informe o valor total de 30 dias independente se somente tiver 15 registros


Citação:

:
Você tá mandando somar pelo campo errado. Faça assim:

Public Sub ConsultarDadosclientes()
Dim dr As OleDbDataReader = Nothing
Using cn As OleDbConnection = DBCONEXAO()
Try
cn.Open()
Dim sql As String = [Ô]Select SUM([txt-color=#e80000]vlr_total[/txt-color]) as vlrTotal from entrsaid_veiculos where situacao=true and nome_cli Like[ô][Ô] & cboNomecCliente.Text & [Ô]%[ô][Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)

dr = cmd.ExecuteReader
If (dr.HasRows) Then
dr.Read()
txtValorTotal.Text = dr.Item([Ô][txt-color=#e80000]vlrTotal[/txt-color][Ô]).ToString

Else
MsgBox([Ô]Dados informados não foi encontrado. ![Ô], MsgBoxStyle.Exclamation, [Ô]Arimuya - Projetos T.I.[Ô])
End If

Catch ex As Exception

End Try
End Using
End Sub



JABA 17/10/2016 17:37:33
#468150
Não cheguei a testar aqui, mas é por aí.

Public Sub ConsultarDadosclientes()
Dim dr As OleDbDataReader = Nothing
Using cn As OleDbConnection = DBCONEXAO()
Try
cn.Open()
Dim sql As String = [Ô]Select SUM(vlr_total) as vlrTotal from entrsaid_veiculos where situacao=true and nome_cli Like[ô][Ô] & cboNomecCliente.Text & [Ô]%[ô] [txt-color=#e80000]And data_saida > Date() And data_saida < # DateAdd(m, 1, Date()) #[Ô] [/txt-color]
Dim cmd As OleDbCommand = New OleDbCommand(sql, cn)

dr = cmd.ExecuteReader
If (dr.HasRows) Then
dr.Read()
txtValorTotal.Text = dr.Item([Ô]vlrTotal[Ô]).ToString

Else
MsgBox([Ô]Dados informados não foi encontrado. ![Ô], MsgBoxStyle.Exclamation, [Ô]Arimuya - Projetos T.I.[Ô])
End If

Catch ex As Exception

End Try
End Using
End Sub


OBS: Talvez seja necessário formatar a data, aí a consulta poderia ficar da seguinte maneira:

 Dim sql As String = [Ô]Select SUM(vlr_total) as vlrTotal from entrsaid_veiculos where  situacao=true and nome_cli Like[ô][Ô] & cboNomecCliente.Text & [Ô]%[ô] [txt-color=#e80000]And data_saida > Date() And data_saida < Format (#DateAdd(m, 1, Date())#, [Ô]Short Date[Ô])[Ô] [/txt-color] 

Tópico encerrado , respostas não são mais permitidas