Ir ao conteúdo
  • Cadastre-se

josequali

Membro Pleno
  • Posts

    230
  • Cadastrado em

  • Última visita

posts postados por josequali

  1. @Midori Segue em anexo o arquivo teste.

    Sub CarregarComboboxfiltro()
    conectdb
    'esse comando deveria permiti carregar os nomes das empresas ao se relaciona com coluna ramal
    rs.Open "Select distinct Produto from TabTeste", db, 3, 3
    Do Until rs.EOF
    Me.filtro2.AddItem rs!Produto
    rs.MoveNext
    Loop
    FechaDb
    End Sub

    Para conectar ao banco de dados mostre a localização do banco de dados acess. Já irei deixa de proposito uma linha do banco de dados vazia na tabela teste. Esse erro irá aparecer

     

    image.thumb.png.366a9a48beac5f6cade9c5b5e6f6bd3c.png

    Arquivo teste.zip

  2. Boa tarde. Gostaria de saber se alguém pode me ajudar. Preciso filtra meus dados na listbox com o valor entre datas, usando o Excel com aplicação no banco de dados no Acess, gostaria de saber como realizar o procedimento.

    Primeiro seleciono o critério do filtro2 (empresa) e depois aplico os filtros 6 e 4 (data inicial e final). Tentei usar o comando betwen, mas não funcionou no meu projeto. 

    image.thumb.png.8d1a952bb31f5a7f00299a4fef405a22.png

     

    Atualmente uso o seguinte código dentro das textbox (filtro6 e 4) para buscar as data

     

     

    Dim vBusca       As String
    Dim LinhaListbox As Integer
    Dim rsArray      As Variant
    vBusca = filtro6.text
    conectdb 'conectar ao banco de dados e carregar
    
    rs.Open "Select * from TabNaoConformidades where DATACAD like'" & Replace(vBusca, "'", "''") & "'", db, 3, 3
    
    Do Until rs.EOF
    If Not rs.EOF Then
    rsArray = rs.GetRows
    With ListBox1
    .Clear
    .ColumnCount = 76
    .ColumnWidths = "20;1;150;1;1;1;1;1;1;1;1;1;1;1;1;55;1;1;60;70;50;1;1;1;50;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;80;1;1;1;1;1;50;1;85;50;1;1;1;1;1;1;1;1;1;100;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1"
    .List = TransposeArray(rsArray)
    .ListIndex = -1
    End With
    End If
    Loop
    contagemdelinhas.Caption = ListBox1.ListCount & " registros encontrados"  'contagem de linhas
    contagemdelinhas.Width = 144                                              ' ajusta a largura da label
    FechaDb 'fehcar o banco
    End Sub

     

    Estarei anexado aqui o modelo de arquivo exemplo.

     

    @Midori @Basole

     

    Tentei aplicar esse código no projeto, mas sempre dar erro

     

    Dim vBusca       As String
    Dim LinhaListbox As Integer
    Dim rsArray      As Variant
    Dim datainicial As Databar, datafinal As Date
    
    conectdb 'conectar ao banco de dados e carregar
    rs.Open "Select * from TabAcao where DATADAACAO like'" & Me.filtro6.text & "'AND AREA  ='" & Me.filtro2.text & "'", db, 3, 3
    rs.Open "Select * from TabAcao where DATADAACAO like'" & Replace(vBusca, "'", "''") & "'", db, 3, 3
    rs.Open "SELECT * FROM TabAcao WHERE DATACADACAO Like'" & filtro2.text & "%'""AND DATADAACAO >= #" & datainicial & "#""AND DATADAACAO <= #" & datafinal & "#", db, adOpenKeyset, adLockReadOnly
    
    Do Until rs.EOF
    If Not rs.EOF Then
    rsArray = rs.GetRows
    With ListBox1
    .Clear
    .ColumnCount = 43
    .ColumnWidths = "1;160;170;1;1;1;65;1;1;1;1;1;1;1;1;1;100;1;90;50;1;1;1;1;1;1;1;1;1;80;1;60;1;1;1;1;1;1;1;45;1"
    .List = TransposeArray(rsArray)
    .ListIndex = -1
    End With
    End If
    Loop
    contagemdelinhas.Caption = ListBox1.ListCount & " registros encontrados"  'contagem de linhas
    contagemdelinhas.Width = 144                                              ' ajusta a largura da label
    FechaDb 'fehcar o banco

     

    Desde já, agradeço a ajuda de todos   😄 

    Arquivoteste.zip

  3. @Midori Resolvi mudar! Aparentemente o erro acontece sempre nas mesmas multipages, tentei de tudo mas não deu certo, aparentemente é um daqueles erros que acontece em um computadores e outros não 😞 . Aparentemente para o tipo de código que uso depois de uma certa quantidade de controles +/- 80 (frames, textbox, combobox e opptionbuttons) ele começa a aparecer esses erros. 

    Para resolver, tirei alguns dos formulários das multipages e coloquei em form separado, como comando de carregar os dados do txtid do primeiro formulário para encontrar no formulário 2 na listbox1 para carregar os dados no segundo formulário.

  4. @Midori  @BasoleVerifiquei! Infelizmente não mudou muita coisa.

    Mas fiz uns testes:

    1° teste - Quando atualizo algum dado e tem algum comando para carregar dado na textbox após abrir de novo o formulário dar erro ao abrir.

    2° teste - Quando atualizo algum dado e tem alguma call para carregar combobox após abrir de novo o formulário dar erro.

    3° teste - Quando atualizo algum dado e já deixo desativada a call das combobox e dos textbox, mas aplico o filtro para buscar na listbox1, dar erro também.

     

    Acredito que de alguma forma está acontecendo alguma das seguintes situações:

     

    1) A ação que foi executada ao carregar as combobox e textbox para alterar os dados está ficando armazenada na memória da planilha ao fechar de alguma forma.

    2) A ação que foi executada ao carregar as combobox e textbox para alterar os dados está deixando o banco de dados em aberto, o que leva o combobox ser desconectado do banco de dados na call que chama eles.

     

    Se não for isso não sei o que é 😭 Saberia como limpar a memória.

    Já tentei o método close e quit, mas fica pendurado na memória. No meu projeto já deixei um módulo que limpa os formulários também, não teve efeito.

     

    Desde já agradeço a ajuda até agora ☺️

    @Midori

    10 horas atrás, Midori disse:

    Isso é no botão do Form? Qual?

    Sim. Você seleciona algum dado na listbox (aplica o segundo filtro, digitando palavra "teste"). Em seguida seleciona o "título" para ir para outra page e adiona-se novo dados apertando na "sim" na primeira freme e depois coloca nomes aleatório e uma data.

    Na frame de baixo coloca só número e depois clica em "Gravar", para ele adicionar aquele registro outras informações.

     

    IMG_20220330_002546.jpg

  5. @Midori  @BasoleFiz os seguintes testes:

     

    - Removi o carregamento dos textbox

    - Removi o carregamento dos combobox

    - Removi o carregamento automático da listbox1

    - Removi as multipages e colei em um único formulário

     

    E em seguida executei os comando de alterar dados ou cadastrar novo dado. Fecho a planilha, abro novamente e em seguida abro o sistema.

    Dessa vez ele trava o painel e fecha. Não faço a mínima ideia agora do que possa ser 😞 

     

    Fiz também o teste ainda com as multipages, e o erro se repetiu.

  6. @Midori @Basole

    Olá pessoal! Gostaria de tirar uma dúvida que vem me perseguindo a algum tempo e não consigo resolver de jeito nenhum. Já busquei em vários fóruns nacionais e internacionais e verifiquei que várias pessoas tem esse mesmo problema, mas nenhuma das soluções resolveu a minha situação.

    Possuo um projeto em VBA com vários formulários e que funciona normalmente, mas após executar o formulário "NCpainel" de 2 a 3 vezes para alterar algum dado no meu banco de dados Acess, salvar e abrir novamente o Excel trava ao reabrir esse formulário pela 3° ou 4° vez que usei para alterar os dados congelando, travando o sistema e em seguida aparece a seguinte frase e fecha o sistema: 

     

    "Erro de automação"

    - O objeto foi desconectado de seus clientes

     

    Já realizei as seguintes ações para tentar resolver:

    - Verifiquei todas as bibliotecas (estão todas ok)

    - Removi fórmulas antigas

    - Removi comandos das combobox do RowSource que não usava mais.

    - Instalei o netframwork 3.5

    - Removi espaçamento nas planilhas (abas)

    - Verifiquei se o banco de dados fecha após a atualização dos dados.

     

    Observação: se eu abrir qualquer outro formulário do sistema não dar erro, mas se eu usar esse e fizer essas ações ele da esse erro, já vi alguém dizendo que pode ser por causa das frames que contém outras frames, mas não entendi direito.

    Site: https://social.msdn.microsoft.com/Forums/pt-BR/40ea7c09-7e6d-4efe-bd19-53f233f4a011/erro-em-tempo-de-execuo-2147417848-80010108-erro-de-automao-o-objeto-chamado-foi?forum=vbapt

     

    Segue abaixo o vídeo demostrando o erro e o link do arquivo. Desde já agradeço a ajuda de todos.

    Estarei enviando em ANEXO a planilha junto com o banco de dados em Acess.

    No vídeo primeiro ensino a conectar ao banco de dados e depois a executar a ação.

     Vídeo:

     

     

     

    https://youtu.be/UlOFNQ9EO0s

     

     

     

     

     

     

     

    Arquivo exemplo.zip

  7. Boa noite! Tenho a seguinte dúvida:

     

    Como exibir em uma textbox do Excel no evento initialize o último id cadastrado na minha base dados no acess? Atualmente tenho um código, mas ele faz a contagem de linhas e adiciona + 1. Entretanto, não serve já por exemplo, se eu tiver 10 registro e excluir 2, o próximo ID cadastrado deveria ser 11, mas ele exibe 9 (8 registros + 1). Meu objetivo era que na tabela na coluna código ele encontra-se o valor máximo e adiciona-se + 1. Segue abaixo a fórmula que eu uso. Desde já agradeço a ajuda! 😊

     

    @Midori @Basole

     

    Sub carregarid()
    conectdb
           
    rs.Open "Select * from TabNaoConformidades", db, 3, 3
    Me.txtId1.text = rs.RecordCount + 1
    
    
    FechaDb
    End Sub

     

     

     

  8. @Basole Funcionou ☺️ Não da mais não erro. Entretanto, como o meu projeto tem mais de uma Tabela no Acess, quando eu aplico a macro para atualizar a tabela dinâmica que tem vínculo com a TabTeste ela simplesmente limpa todos os outros filtros de outras tabelas dinâmicas do excel que não tem vínculo com a TabTeste 🥺😅. Exemplo as TabEmpresas, TabNaoconformidades do Acess possuem tabela dinâmica no Excel tem suas tabelas dinâmicas no Excel, mas ao aplicar a macro elas ficam limpas os filtros, ficando só a TabTeste atualizada 🙈. Como eu poderia resolver? ☺️ Desde já, muito obrigado 😊

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!