Código: Selecionar todos
Private Sub PopulaListBox(ByVal Data As String)
Application.ScreenUpdating = False
Dim var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20, _
varq, var21, var22, var23, var24, var25, var26, var27, var28, var29, var30, var31, var32, var33, var34, var35, var36, var37, var38, var39, _
var40, vara, varqa
Dim myArray() As Variant
Set banco = PreecheRecordSet(Data)
With Me.lstLista
.ListItems.Clear
Dim i As Integer
For i = 0 To banco.RecordCount - 1
If Not IsNull(banco(0)) Then
.ListItems.Add 1, , banco(0)
.ListItems(1).ListSubItems.Add 1, , banco(1)
var1 = banco(2)
var2 = banco(3)
var3 = banco(4)
var4 = banco(5)
var5 = banco(6)
var6 = banco(7)
var7 = banco(8)
var8 = banco(9)
var9 = banco(10)
var10 = banco(11)
If var10 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5 & ", " & var6 & ", " & var7 & ", " & var8 & ", " & var9 & ", " & var10
ElseIf var9 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5 & ", " & var6 & ", " & var7 & ", " & var8 & ", " & var9
ElseIf var8 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5 & ", " & var6 & ", " & var7 & ", " & var8
ElseIf var7 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5 & ", " & var6 & ", " & var7
ElseIf var6 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5 & ", " & var6
ElseIf var5 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4 & ", " & var5
ElseIf var4 <> "" Then
var = var1 & ", " & var2 & ", " & var3 & ", " & var4
ElseIf var3 <> "" Then
var = var1 & ", " & var2 & ", " & var3
ElseIf var2 <> "" Then
var = var1 & ", " & var2
ElseIf var1 <> "" Then
var = var1
End If
If Not IsNull(banco(12)) Then var11 = banco(12)
If Not IsNull(banco(13)) Then var12 = banco(13) Else varq = var11
If Not IsNull(banco(14)) Then var13 = banco(14) Else varq = var11 & ", " & var12
If Not IsNull(banco(15)) Then var14 = banco(15) Else varq = var11 & ", " & var12 & ", " & var13
If Not IsNull(banco(16)) Then var15 = banco(16) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14
If Not IsNull(banco(17)) Then var16 = banco(17) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14 & ", " & var15
If Not IsNull(banco(18)) Then var17 = banco(18) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14 & ", " & var15 & ", " & var16
If Not IsNull(banco(19)) Then var18 = banco(19) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14 & ", " & var15 & ", " & var16 & ", " & var17
If Not IsNull(banco(20)) Then var19 = banco(20) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14 & ", " & var15 & ", " & var16 & ", " & var17 & ", " & var18
If Not IsNull(banco(21)) Then var20 = banco(21) Else varq = var11 & ", " & var12 & ", " & var13 & ", " & var14 & ", " & var15 & ", " & var16 & ", " & var17 & ", " & var18 & ", " & var19
If Not IsNull(banco(21)) Then varq = var11 + var12 + var13 + var14 + var15 + var16 + var17 + var18 + var19 + var20
var21 = banco(43)
var22 = banco(44)
var23 = banco(45)
var24 = banco(46)
var25 = banco(47)
var26 = banco(48)
var27 = banco(49)
var28 = banco(50)
var29 = banco(51)
var30 = banco(52)
If var30 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25 & ", " & var26 & ", " & var27 & ", " & var28 & ", " & var29 & ", " & var30
ElseIf var29 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25 & ", " & var26 & ", " & var27 & ", " & var28 & ", " & var29
ElseIf var28 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25 & ", " & var26 & ", " & var27 & ", " & var28
ElseIf var27 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25 & ", " & var26 & ", " & var27
ElseIf var26 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25 & ", " & var26
ElseIf var25 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24 & ", " & var25
ElseIf var24 <> "" Then
vara = var21 & ", " & var22 & ", " & var23 & ", " & var24
ElseIf var23 <> "" Then
vara = var21 & ", " & var22 & ", " & var23
ElseIf var22 <> "" Then
vara = var21 & ", " & var22
ElseIf var21 <> "" Then
vara = var21
End If
If Not IsNull(banco(53)) Then var31 = banco(53)
If Not IsNull(banco(54)) Then var32 = banco(54) Else varqa = var31
If Not IsNull(banco(55)) Then var33 = banco(55) Else varqa = var31 & ", " & var32
If Not IsNull(banco(56)) Then var34 = banco(56) Else varqa = var31 & ", " & var32 & ", " & var33
If Not IsNull(banco(57)) Then var35 = banco(57) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34
If Not IsNull(banco(58)) Then var36 = banco(58) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34 & ", " & var35
If Not IsNull(banco(59)) Then var37 = banco(59) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34 & ", " & var35 & ", " & var36
If Not IsNull(banco(60)) Then var38 = banco(60) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34 & ", " & var35 & ", " & var36 & ", " & var37
If Not IsNull(banco(61)) Then var39 = banco(61) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34 & ", " & var35 & ", " & var36 & ", " & var37 & ", " & var38
If Not IsNull(banco(62)) Then var40 = banco(62) Else varqa = var31 & ", " & var32 & ", " & var33 & ", " & var34 & ", " & var35 & ", " & var36 & ", " & var37 & ", " & var38 & ", " & var39
If Not IsNull(banco(62)) Then varqa = var31 + var32 + var33 + var34 + var35 + var36 + var37 + var38 + var39 + var40
.ListItems(1).ListSubItems.Add 2, , var
.ListItems(1).ListSubItems.Add 3, , varq
.ListItems(1).ListSubItems.Add 4, , vara
.ListItems(1).ListSubItems.Add 5, , varqa
End If
banco.MoveNext
Next i
'atualiza o label de mensagens
If banco.RecordCount <= 0 Then
lblMensagens.Caption = banco.RecordCount & " registros encontrados"
Else
lblMensagens.Caption = banco.RecordCount & " registros encontrados"
End If
Exit Sub
Set banco = Nothing
cx.Desconectar
End With
Application.ScreenUpdating = True
End Sub
O que ocorre é que no caso na tabela do banco de dados do access existem 7 registros atualmente, numerados em ordem de cadastro do 1 ao 7, ao carregar pro listview ele esta carregando na seguinte ordem: 7, 4, 5, 6, 1, 2, 3. PORQUEEE????
Andei analisando o processo do código, ele esta puxando nessa ordem da tabela do banco de dados, por isso acho que nao seja problema no listview, mas alguma forma como ele esta puxando os dados do banco...