Ir ao conteúdo
  • Cadastre-se

josequali

Membro Pleno
  • Posts

    230
  • Cadastrado em

  • Última visita

Tudo que josequali postou

  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 Arquivo teste.zip
  2. @Midori @Basole tem alguma sugestão de como resolver, não achei nenhum material que tratasse dessa limitação . Obrigado
  3. Boa noite. Gostaria de saber se existe alguma forma de preencher a combobox do Excel com dados do Acess e ignorar as linhas vazias. Atualmente uso esse código do vídeo abaixo, mas caso tenha linha vazia ele da erro. Adicionei a ele o critério de ordem by ou distinct, assim como tratamento de erro, mas mesmo assim não funciona bem. Desde já muito obrigado
  4. @Basole Perfeito! Muito obrigado @Basole Como seria uma condição para colocar no filtro caso ele não encontre as datas?
  5. @Basole Funcionou o filtro , mas quando eu limpo o último filtro ele da um erro de sintaxe
  6. 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. 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
  7. @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.
  8. @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 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.
  9. @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.
  10. Fiz alguns teste e realmente tem relação com seus carregamento das combobox. Fiz o que você orientou e coloquei as combobox para carregar depois de selecionada a page, mas quando clico o erro aparece
  11. @Basole @Midori vi em alguns posts que pode ter haver com a presença de formas na planilhas (botões), mas já fiz o teste e não vi nada. Não sei se ao carregar os combobox com informações do Acess eles ficam com alguma informação gravada na memória que dar erro quando abro novamente ou o banco fica aberto (que não percebi).
  12. @Basole já testei em diferentes computadores e ele sempre ocorre.
  13. @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
  14. @Basole @Basole @Basole @Basole @Basole @Basole @Basole perfeito! Muito obrigado
  15. 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
  16. @Basole Perfeito! Agora está fechado o banco de dados certinho @Basole Muito obrigado! Salvou meu projeto
  17. @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
  18. Acredito que ao realizar a atualização a tabela dinâmica cria e mantém um vinculo que de alguma forma impede uma outra conexão via VBA
  19. @AfonsoMira se eu quiser somar duas cores, como seria? , RS obrigado
  20. @AfonsoMira @Midori saberiam algo a respeito do tópico #3 Desde já agradeço a todos 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...