COMO SOMAR VALORES DESDE ACCESS
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.
.
agradeço
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
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.
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.
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
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
Não cheguei a testar aqui, mas é por aÃ.
OBS: Talvez seja necessário formatar a data, aà a consulta poderia ficar da seguinte maneira:
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