Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Limitações quanto ao número de linhas

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
Antonio CJ
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Jul 15, 2015 9:21 am

Limitações quanto ao número de linhas

Mensagem por Antonio CJ »

Desde já agradeço a disponibilização dos modelos de cadastro/pesquisa.
Mas, vamos a dúvida!
O modelo de cadastro/pesquisa tem limitações quanto ao número de linhas?
Tenho uma planilha com mais de 700.000 linhas, 7 colunas e 53 MB de tamanho. Fiz alterações no modelo de cadastro V2 (tentei sem sucesso adaptar o modelo V3).
Basicamente não tenho interesse na função de cadastro, apenas confirmar dados de NIS, nome e CadUnico de demandas que recebo. Necessito confirmar o número do CadUnico pesquisando (filtros) pelo nome, pelo NIS ou pelo próprio CadUnico (confirmação). Nos testes com o formulário de pesquisa percebi que ocorriam falhas. Fiz testes de busca dos dados nas linhas 10.000, 20.000, 30.000. A partir da linha 35.000 linha não houve qualquer retorno de busca. O formulário de cadastro exibe o último registro da planilha de dados.
Há tambem outros erros:
1. No formulário de pesquisa a lstCidades não exibe as cidades.
2. O filtro de ascendente e descendente não funciona.
3. O formulário de pesquisa inicializa apenas se for adicionado um underline (_) após o Initialize (Private Sub UserForm_Initialize()_'preenche o cboDirecao e seleciona o primeiro item

Obrigado!

Agradeço pela ajuda!
Anexos
ModeloCadastro.zip
Arquivo de consulta por Nome NIS e CadUnico
(54.2 KiB) Baixado 280 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Limitações quanto ao número de linhas

Mensagem por Reinaldo »

Não testei todos os recursos, mas os "erros" apontados devem-se a adaptação feita com falhas.
Ao alterar a planilha base de .xls para .xlsm o "motor" de coneção "Jet" não é mais valido devendo se utilizado o "Ace", altere sua rotina de conexão conforme o disposto em:
viewtopic.php?f=5&t=3859&hilit=+%2Aconex%2A#p15743
Lembrando que se for ambiente 64 bits também ocorrerá problemas.
A rotina de abertura apresenta erro, pois ao executar a rotina Popula Cidades, apresenta erro porque foi alterado o nome do campo na tabela.
a rotina Chama Cidade e na tabela está Cidades.

Código: Selecionar todos

Private Sub PopulaCidades()
    Dim conn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim sql As String

    Set conn = New ADODB.Connection
    'With conn
    '    .Provider = "Microsoft.JET.OLEDB.4.0"
    '    .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 8.0;"
    '    .Open
    'End With
    With conn
        If Val(Application.Version) < 12 Then
            .Provider = "Microsoft.JET.OLEDB.4.0"
            .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 8.0;"
            .Open
        Else
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 12.0;"
            .Open
        End If
    End With
    sql = "SELECT DISTINCT Cidades FROM [Dados$]"

    Set rst = New ADODB.Recordset
    With rst
        .ActiveConnection = conn
        .Open sql, conn, adOpenDynamic, _
              adLockBatchOptimistic
    End With

    Do While Not rst.EOF
        If Not IsNull(rst(0).Value) Then
            lstCidades.AddItem rst(0).Value
        End If
        rst.MoveNext
    Loop

    ' Fecha o conjunto de registros.
    Set rst = Nothing
    ' Fecha a conexão.
    conn.Close

End Sub
O filtro ascendente /Descendente funciona em conjunto com a seleção do campo de ordem (Ordenar Por), se nada for indicado nada ocorre.

Corrija as modificações e teste


Antonio CJ
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Jul 15, 2015 9:21 am

Re: Limitações quanto ao número de linhas

Mensagem por Antonio CJ »

Rmarcos obrigado pela pronta resposta!
Apenas hoje consegui realizar as alterações sugeridas por você.
A falha do “Cidade” e “Cidades” ocorreu porque utilizei duas planilhas diferentes nas várias tentativas de adaptação do modelo v2. Ainda sou iniciante em VBA, e as alterações surtiram efeito e o formulário de pesquisa está funcionando perfeitamente. Um pouco lento, mas funcionando.

Tentei adaptar o modelo V3. Quando os arquivos alterados do MdC_FrontEnd ListView e ModeloCadastro_Dados são salvos como pastas de trabalho do excel 97-2003 os formulários funcionam bem. O problema é quanto a limitação do número de linhas do excel 97-2003. Alterando os arquivos para .xlsm e mudando as rotinas de conexão como indicado aqui recebo a mensagem de erro.
“Erro em tempo de execução '-2147467259 (800004005)'
Cadastrados$ não é um nome válido. Certifique-se de que ele inclua somente caracteres ou pontuação válidos e de que não seja longo demais”
De qualquer forma fico agradecido pela ajuda e vou tentar ir até o meu limite nas tentativas de adaptação do modelo V3.
Depois farei o retorno do sucesso/insucesso
Obrigado!


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Limitações quanto ao número de linhas

Mensagem por Mauro Coutinho »

Antonio, alem da dica do colega Rmarco, você terá erros pois o modelo que anexou se verificar na abas Dados temos dados até a linha 20 e pulamos varias linhas em branco e temos dados novamente nas linhas A797406 - A797413, então limpe tudo o que tiver depois da linha 20, mas lembre-se que o excel interpreta como celula com dados as celulas vazias mas que estejam formatadas.

[]s


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Limitações quanto ao número de linhas

Mensagem por joseA »

Para esse caso, mencionado pelo Mauro, eu prefiro excluir as linhas.


Antonio CJ
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Jul 15, 2015 9:21 am

Re: Limitações quanto ao número de linhas

Mensagem por Antonio CJ »

Olá Mauro!

As correções sugeridas pelo colega resolveram o problema. Quando fiz a exclusão de dados para diminuir o tamanho do arquivo devo ter deixado as linhas finais em apagar. De qualquer forma agradeço as observações. Sou iniciante em VBA.
Faz pouco tempo que descobri que exitem limitações quanto ao número de linhas de cada planilha individual nas versões 97, 2003 e 2007 do MS office.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder