JUNTAR ITEMS LISTVIEW

KURTGU 28/04/2016 09:28:14
#461566
Tenho alguns items em um listview que estao vindo de um datatable tentei usar o SUM, mais nao deu muito certo...

O que estou tentando fazer...Quando a data e a especialidade for = ele somar tanto o campo Previsto, Presente...Transformando assim em somente uma linha, usando o sum por algum motivo ele nao me traz o restante dos dados.



Código que estou usando..

Public Sub Listar()
Try
Dim pathconn As New OleDbConnectionStringBuilder([Ô]Provider = Microsoft.ACE.OLEDB.12.0; Data source=[Ô] & Application.StartupPath & [Ô]\IDM-relatorio_qtde_presente_ausente_MARCO16-CAMPINAS.xls[Ô] & [Ô];Extended Properties=[Ô][Ô]Excel 12.0;HDR= yes;[Ô][Ô];[Ô])
Dim conn As New OleDbConnection(pathconn.ToString)
Dim MyDataAdapter As New OleDbDataAdapter([Ô]Select [Data],[Especialidade],[Profissionais Previstos],[Profissionais Presentes],[Observação],[Detalhes da observação] From [[Ô] & ([Ô]AMA CAMPINAS[Ô]) & [Ô]$] [Ô], conn)
Dim dt As New DataTable()
MyDataAdapter.Fill(dt)

For Each row As DataRow In dt.Rows
Dim lst As ListViewItem
lst = ListView1.Items.Add(If(row(0) IsNot Nothing, row(0).ToString, [Ô][Ô]))
For i As Integer = 1 To dt.Columns.Count - 1
lst.SubItems.Add(If(row(i) IsNot Nothing, row(i).ToString, [Ô][Ô]))
Next
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
GANDA.NICK 28/04/2016 10:10:34
#461568
Como vc usou o SUM? vc não postou isso!!!

Experimente assim: (não testado..)

SELECT [Data], [Especialidade], SUM([Profissionais Previstos]), SUM([Profissionais Presentes]), [Observação], [Detalhes da observação] FROM tabela GROUP BY [Data], [Especialidade], [Observação], [Detalhes da observação]
KURTGU 28/04/2016 10:26:37
#461572
O quando faco o sum ele nao funciona...Não sei o por que...

([Ô]SELECT DATA, especialidade, Sum([Profissionais Previstos]) , Sum([Profissionais Presentes]),[Observação],[Detalhes da Observação] FROM [[Ô] & ([Ô]AMA CAMPINAS[Ô]) & [Ô]$] GROUP BY DATA, [Profissionais Previstos],[Observação],[Detalhes da Observação], especialidade[Ô], conn)

Resultado do Select acima...
GANDA.NICK 28/04/2016 10:33:25
#461573
veja se é o campo data que tambem está a guardar as horas, e essas podem ser diferentes...

SELECT DATE(Data) AS MyData, ..... GROUP BY MyData, .....
KURTGU 28/04/2016 11:12:05
#461576
GANDA NICK Somente preciso Calcular o PREVISTO E PRESENTE E transformar em uma linha...
DS2T 28/04/2016 11:23:35
#461578
([Ô]SELECT DATA, especialidade, Sum([Profissionais Previstos]) , Sum([Profissionais Presentes]),[Observação],[Detalhes da Observação] FROM [[Ô] & ([Ô]AMA CAMPINAS[Ô]) & [Ô]$] GROUP BY DATA, [Profissionais Previstos],[Observação],[Detalhes da Observação], especialidade[Ô], conn)


Você tá agrupando por Profissionais Previstos. Tire ele do Group By.
KURTGU 28/04/2016 12:42:06
#461588
DS2T Mesma coisa é como se o Sum não funcionasse segue em anexo pequeno exemplo que estou usando para fazer os testes....

DS2T 28/04/2016 12:56:22
#461590
Os campos de detalhes e observações estavam atrapalhando seu Group By por terem valores diferentes.

Dim MyDataAdapter As New OleDbDataAdapter([Ô]SELECT DATA, especialidade, Sum([Profissionais Previstos]) , Sum([Profissionais Presentes]) FROM [[Ô] & ([Ô]AMA CAMPINAS[Ô]) & [Ô]$] GROUP BY DATA, especialidade[Ô], conn)


Assim funciona.
PERCIFILHO 28/04/2016 12:56:43
#461591
Não teria que agrupar somente por data e especialidade?
KURTGU 28/04/2016 12:59:34
#461592
D2ST Sim já tinha visto isso como faco pra ele fazer o sum e me trazer os outros dados...?
DS2T 28/04/2016 13:08:53
#461595
Isso vai depender do que você quer.
Exemplo: Supondo que cada linha tenha uma observação diferente, o que vai acontecer? Vai deixar só a observação do primeiro? Só do segundo? Vai concatenar as duas?
Página 1 de 3 [21 registro(s)]
Tópico encerrado , respostas não são mais permitidas