IMPORTACAO EXCEL

DAVIDNUNES 05/02/2010 00:39:29
#333656
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
ASHKATCHUP 05/02/2010 00:51:37
#333657
Você tentou usar um [Ô]Order By[Ô] nessa tua [Ô]Select[Ô]?
DAVIDNUNES 05/02/2010 00:57:47
#333658
O problema sao as colunas nao as linhas temm como eu ordenar as colunas?
ASHKATCHUP 05/02/2010 00:59:55
#333659
Creio que sim. Só tem que descobrir qual [Ô]campo[Ô] representa as colunas
DAVIDNUNES 05/02/2010 17:42:53
#333751
você sabe como posso fazer?
PEGUDO 06/02/2010 16:27:03
#333799
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
Tópico encerrado , respostas não são mais permitidas