IMPORTACAO EXCEL
Boa noite pessoal estou com um outro problemao
ao importar o excel para um listview preciso que seja adicionado as colunas do excel certa nas do listview ou seja se o cliente criar coluna
A B C D
1 2 3 4
e o sistema for diferente preciso organizar pra nao ficar valores errdos teria que ficar assim dai
B C D A
2 3 4 1
segue o codigo que estou utilizando
Private Sub Importar()
CommonDialog1.ShowOpen
[ô] cria uma conexão ADO
Set oConn = New ADODB.Connection
oConn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & CommonDialog1.Filename & [Ô] ;[Ô] & _
[Ô]Extended Properties=[Ô][Ô]Excel 8.0;HDR=Yes;[Ô][Ô];[Ô]
[ô] Cria o Recordset
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = oConn
[ô] abre a planilha
oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô]
[ô] cria o recordset com os dados
Set oRS = New ADODB.Recordset
oRS.Open oCmd, , adOpenKeyset, adLockOptimistic
preenche_controles
[ô]Command1.Enabled = False
[ô]Command2.Enabled = True
[ô]Command2.SetFocus
End Sub
Private Sub preenche_controles()
Dim Plano As String
oRS.MoveFirst
For i = 1 To oRS.RecordCount
Set lstItem = lvwTransactions.ListItems.Add(, , oRS(0))
lstItem.SubItems(i) = oRS(i)
oRS.MoveNext
Next i
End Sub
obrigado pela ajuda de todos
ao importar o excel para um listview preciso que seja adicionado as colunas do excel certa nas do listview ou seja se o cliente criar coluna
A B C D
1 2 3 4
e o sistema for diferente preciso organizar pra nao ficar valores errdos teria que ficar assim dai
B C D A
2 3 4 1
segue o codigo que estou utilizando
Private Sub Importar()
CommonDialog1.ShowOpen
[ô] cria uma conexão ADO
Set oConn = New ADODB.Connection
oConn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & CommonDialog1.Filename & [Ô] ;[Ô] & _
[Ô]Extended Properties=[Ô][Ô]Excel 8.0;HDR=Yes;[Ô][Ô];[Ô]
[ô] Cria o Recordset
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = oConn
[ô] abre a planilha
oCmd.CommandText = [Ô]SELECT * from [Plan1$][Ô]
[ô] cria o recordset com os dados
Set oRS = New ADODB.Recordset
oRS.Open oCmd, , adOpenKeyset, adLockOptimistic
preenche_controles
[ô]Command1.Enabled = False
[ô]Command2.Enabled = True
[ô]Command2.SetFocus
End Sub
Private Sub preenche_controles()
Dim Plano As String
oRS.MoveFirst
For i = 1 To oRS.RecordCount
Set lstItem = lvwTransactions.ListItems.Add(, , oRS(0))
lstItem.SubItems(i) = oRS(i)
oRS.MoveNext
Next i
End Sub
obrigado pela ajuda de todos
Você tentou usar um [Ô]Order By[Ô] nessa tua [Ô]Select[Ô]?
O problema sao as colunas nao as linhas temm como eu ordenar as colunas?
Creio que sim. Só tem que descobrir qual [Ô]campo[Ô] representa as colunas
você sabe como posso fazer?
Cara, como você falou que o cliente tem a capacidade de criar colunas, o melhor a se fazer é criar um [txt-color=#0000f0]For... Each[/txt-color], assim todas as colunas serão lidas em ordem, ou seja, primeiro a coluna A depois a cluna B... e não aletoriamente.
Espero ter ajudado
Espero ter ajudado
Tópico encerrado , respostas não são mais permitidas