AJUDA COM SELECT
Bom dia a todos, pessoal estou precisando montar um select, que faca essa colocacao...Exemplo usando o select abaixo ele me retorna os dados como na foto...Preciso colocar cada atv em sua coluna...
Try
Dim pathconn As String = [Ô]Provider = Microsoft.ACE.OLEDB.12.0; Data source=[Ô] & Application.StartupPath & [Ô]\BPA.xlsx[Ô] & [Ô];Extended Properties=[Ô][Ô]Excel 8.0;HDR= yes;[Ô][Ô];[Ô]
Dim conn As New OleDbConnection(pathconn)
Dim MyDataAdapter As New OleDbDataAdapter([Ô]Select [UNIDADE],[ATIVIDADE],[QTDE BPA] from [[Ô] & ([Ô]Plan1[Ô]) & [Ô]$] [Ô], conn)
Dim dt As New DataTable()
MyDataAdapter.Fill(dt)
For Each dr As DataRow In dt.Rows
Dim lvi As New ListViewItem()
For i As Integer = 1 To dt.Columns.Count - 1
lvi.Text = dr(0).ToString()
lvi.SubItems.Add(dr(i).ToString())
Next
ListViewbpa.Items.Add(lvi)
Next
Catch ex As Exception
End Try
Try
Dim pathconn As String = [Ô]Provider = Microsoft.ACE.OLEDB.12.0; Data source=[Ô] & Application.StartupPath & [Ô]\BPA.xlsx[Ô] & [Ô];Extended Properties=[Ô][Ô]Excel 8.0;HDR= yes;[Ô][Ô];[Ô]
Dim conn As New OleDbConnection(pathconn)
Dim MyDataAdapter As New OleDbDataAdapter([Ô]Select [UNIDADE],[ATIVIDADE],[QTDE BPA] from [[Ô] & ([Ô]Plan1[Ô]) & [Ô]$] [Ô], conn)
Dim dt As New DataTable()
MyDataAdapter.Fill(dt)
For Each dr As DataRow In dt.Rows
Dim lvi As New ListViewItem()
For i As Integer = 1 To dt.Columns.Count - 1
lvi.Text = dr(0).ToString()
lvi.SubItems.Add(dr(i).ToString())
Next
ListViewbpa.Items.Add(lvi)
Next
Catch ex As Exception
End Try
UP......
Assim, fica meio difÃcil ajudar. Mostre a estrutura das tabelas, de preferência com exemplos de dados e explique o que você quer...
KERPLUNK Boa tarde, o que estou tentando fazer e somente colocar desta forma na listview...
ISSO NA LISTVIEW
UNIDADE / MEDICO / ENFERMEIRO / DENTISTA / VISITA
NA MINHA PLANILHA VEM DESTA FORMA
UNIDADE / ATIVIDADE / TOTAL
ISSO NA LISTVIEW
UNIDADE / MEDICO / ENFERMEIRO / DENTISTA / VISITA
NA MINHA PLANILHA VEM DESTA FORMA
UNIDADE / ATIVIDADE / TOTAL
é aquela mesma planilha que te mandei um [Ô]exemplo[Ô] um tempo atrás?
Citação::
é aquela mesma planilha que te mandei um [Ô]exemplo[Ô] um tempo atrás?
Não esta e outro tipo, tentei me basear na forma que voce fez na outra mais nao deu certo...
Passa a planilha que eu te mostro que dá sim. Mas atenção, é a última que faço pra você, já passou da hora de aprender...
Kerpluck estou tentando fazer seguindo aquela que voce fez pra mim...vou tentar pra ver ate onde consigo...mais uma vez vlw pela ajuda...
segue planilha...
https://drive.google.com/file/d/0Bxe20Fy7vuKKYjF4bUVYdUp2UEE/view?usp=sharing
segue planilha...
https://drive.google.com/file/d/0Bxe20Fy7vuKKYjF4bUVYdUp2UEE/view?usp=sharing
Pelo que entendi, você quer um totalizador de todos esses dados. é isso?
KerpLunk preciso no listview seja apresentado desta forma...
Então, é um totalizador. Você vai criar duas classes, uma genérica para contagem e especialidades e unidades e outra com os totalizadores, mais ou menos assim:
Então você vai ler os dados da planilha, criando uma List<Generica> e adicionando Ãtens à essa List<Generica>, mais ou menos assim:
Com isso, você terá uma lista contendo todos as linhas de todas as consultas e então basta somar:
List<Totais> totais = new List<Totais>();
E depois basta jogar essa variável [Ô]totais[Ô] no grid.
Se não entendeu nada dessas explicações, o que é provável, porque é praticamente a mesma coisa do exemplo que já tem mandei anteriormente, tem um exemplo em anexo.
public class Generica
{
public string Unidade {get; set;}
public string Atividade {get; set;}
public int Quantidade {get; set;}
public string Mes {get; set;}
}
public class Totais
{
public string Unidade {get; set;}
public int TotalConsultas {get; set;}
public int TotalEnfermeiros {get; set;}
public int TotalVisitas {get; set;}
//e assim por diante, uma propriedade para cada especialidade
}
Então você vai ler os dados da planilha, criando uma List<Generica> e adicionando Ãtens à essa List<Generica>, mais ou menos assim:
List<Generica> todos = new List<Generica>();
foreach(planilha plan in planilhas)
{
foreach(linha linha in plan)
{
Generica gen = new Generica();
gen.Unidade = linha.Unidade;
gen.Atividade = linha.Atividade;
//preencha também as outras propriedades
todos.Add(generica)
}
}
Com isso, você terá uma lista contendo todos as linhas de todas as consultas e então basta somar:
List<Totais> totais = new List<Totais>();
Totais tot = new Totais();
tot.TotalEnfermeiros = todos.Sum(x => x.Atividade == [Ô]Enfermeiro[Ô] && Unidade == [Ô]UBS XYZ[Ô]);
tot.TotalVisitas = todos.Sum(x => x.Atividade == [Ô]Visitas ....[Ô] && Unidade == [Ô]UBS XYZ[Ô]);
tot.Unidade = [Ô]UBS XYZ[Ô];
totais.Add(tot);
E depois basta jogar essa variável [Ô]totais[Ô] no grid.
Se não entendeu nada dessas explicações, o que é provável, porque é praticamente a mesma coisa do exemplo que já tem mandei anteriormente, tem um exemplo em anexo.
Tópico encerrado , respostas não são mais permitidas