Ok sem problemas veja bem, eu gostaria de saber porque colocar essas colunas no Listview se elas nao vao ser visualizadas? porque nao montar uma listview somente com colunas que vao ser usadas?
mas por exemplo vc tem que ter um funcao que monta a listview , nde vc coloca os nomes das colunas e tal, veja esse exemplo , vc pode montar um funtion que faz isso , perceba que todas as colunas que estao com a extensao 0 , nao vao aparecer,
General
Option Explicit
Private Rs2 As New ADODB.Recordset
Private Conn1 As New ADODB.Connection
Function lerlistview()
On Error Resume Next
Set Rs2 = New ADODB.Recordset
Set Conn1 = New ADODB.Connection
'FAZENDO A CONEXÃO COM O BANCO DE DADOS
Conn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "Lab.MDB;Persist Security Info=False"
Rs2.Open "Select CodigoH,* FROM Tbl_Contas Order by CodigoH asc", Conn1, adOpenKeyset, adLockOptimistic
'encabeçando a LISTVIEW
LV1.ListItems.Clear
LV1.ColumnHeaders.Clear
LV1.ColumnHeaders.Add 1, , "Codigo", 0
LV1.ColumnHeaders.Add 2, , "Nome Empresa", 4000
LV1.ColumnHeaders.Add 3, , "Contato", 0
LV1.ColumnHeaders.Add 4, , " N°CNPJ", 4000
LV1.ColumnHeaders.Add 5, , "Descrição", 0
LV1.ColumnHeaders.Add 6, , "Tipo de Documento", 4000
LV1.ColumnHeaders.Add 7, , "Telefone", 4000
LV1.ColumnHeaders.Add 8, , "Data Vencimento", 0
LV1.ColumnHeaders.Add 9, , "Unidades", 4000
LV1.ColumnHeaders.Add 10, , "Valor", 2000
LV1.ColumnHeaders.Add 11, , "Pagamento Efetuado", 2000
LV1.ColumnHeaders.Add 12, , "Valor Total", 2000
LV1.ColumnHeaders.Add 13, , "", 1
txtTotal = LV1.ListItems.Count
While Not Rs2.EOF
LV1.ListItems.Add 1, , Rs2!CodigoH
LV1.ListItems(1).SubItems(1) = Rs2!Empresa
LV1.ListItems(1).SubItems(2) = IIf(IsNull(Rs2!Contato), "", Rs2!Contato)
LV1.ListItems(1).SubItems(3) = IIf(IsNull(Rs2!cnpj), "", Rs2!cnpj)
LV1.ListItems(1).SubItems(4) = IIf(IsNull(Rs2!Descricao), "", Rs2!Descricao)
LV1.ListItems(1).SubItems(5) = IIf(IsNull(Rs2!TipoDoc), "", Rs2!TipoDoc)
LV1.ListItems(1).SubItems(6) = IIf(IsNull(Rs2!Telefone), "", Rs2!Telefone)
LV1.ListItems(1).SubItems(7) = IIf(IsNull(Rs2!DataPag), "", Rs2!DataPag)
LV1.ListItems(1).SubItems(8) = IIf(IsNull(Rs2!Unidade), "", Rs2!Unidade)
LV1.ListItems(1).SubItems(9) = Format(Rs2("Valor"), "currency")
LV1.ListItems(1).SubItems(10) = IIf(IsNull(Rs2!dataQpagou), "", Rs2!dataQpagou)
LV1.ListItems(1).SubItems(11) = Format(Rs2("ValorTotal"), "currency")
LV1.ListItems(1).SubItems(12) = Rs2!idH
txtTotal = LV1.ListItems.Count
Rs2.MoveNext
Wend
Rs2.Close 'aki fecha o recordset e limpa os campos dos txts
txtCodigo = ""
txtEmpresa = ""
txtcontato = ""
txtcnpj = ""
txtdescricao = ""
txtdocumento = ""
txttel1 = ""
txtdata = ""
txtunidade = ""
txtvalor = ""
txtdataQpagou = ""
txtvaltot = ""
100:
End Function
pra exibir esses dados vc poe o nome da function dentro do form load
Private Sub Form_Load()
lerlistview
End Sub
Logico que vc nao precisa seguir esse exemplo a risca , mas pra deixar em branco a coluna vc tem que por assim na rotina de preenchimento do listview, com o, 0
LV1.ColumnHeaders.Add 5, , "Descrição", 0
se o seu listview tiver alguam rotina pra ajustar as colunas automaticamente com o conteudo vc vai ter que tirar senao ele nao respeita esse 0.....qualquer coisa tamo ae