MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Como localizar objetos no access 2003

    suporte
    suporte
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 80
    Registrado : 18/01/2011

    Como localizar objetos no access 2003 Empty Como localizar objetos no access 2003

    Mensagem  suporte 5/7/2017, 20:22

    Tenho muitas consultas, formulários e relatórios criados num sistema escolar, existe alguma possibilidade de localizar um objeto(nome de relatório), simplesmente digitando o primeiro nome, igual fazemos na pesquisa do access 2007.

    Obs.: Meu sistema é no access 2003.


    Desde já agradeço a atenção,

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  ronaldojr1 6/7/2017, 21:39

    no access 2007 em diante tem essa barra de pesquisa no painel de navegação, nao sei se tem algum lugar para ativar essa barra no 2003,
    faz muitos anos que nao vejo essa versão, nao lembro nem do layout dele, mas enfim, acho que esse codigo pode te ajudar.

    Código:
    Function findObject(nomeObj As String)
    'By JPaulo ® Maximo Access 2010
    'Modificado por ronaldo

    Dim obj As AccessObject
    Dim dbs As Object
    Dim T As DAO.TableDef
    Dim tblNome As String
    Dim i As Integer
    Dim X As Integer
    Dim db As DAO.Database
      
        Set db = CurrentDb() 'para o access 2007
        Set dbs = Application.CurrentProject 'para o access 2000 e 2003

    '       percorre por todos formularios
            For Each obj In dbs.AllForms
                 If obj.Name Like "*" & nomeObj & "*" Then
                    Application.SetHiddenAttribute acForm, obj.Name, False
                 Else
                    Application.SetHiddenAttribute acForm, obj.Name, True
                End If
                
            Next obj

    '       percorre por todos relatorios
            For Each obj In dbs.AllReports
               If obj.Name Like "*" & nomeObj & "*" Then
                    Application.SetHiddenAttribute acReport, obj.Name, False
                 Else
                    Application.SetHiddenAttribute acReport, obj.Name, True
                End If
            Next obj
            
            'percorre pelos modulos
             For Each obj In dbs.AllModules
                If obj.Name Like "*" & nomeObj & "*" Then
                    Application.SetHiddenAttribute acModule, obj.Name, False
                Else
                    Application.SetHiddenAttribute acModule, obj.Name, True
                End If
            Next obj
            
            'percorre pelas macros
            For Each obj In dbs.AllMacros
                If obj.Name Like "*" & nomeObj & "*" Then
                    Application.SetHiddenAttribute acMacro, obj.Name, False
                 Else
                    Application.SetHiddenAttribute acMacro, obj.Name, True
                End If
            Next obj
            
             'percorre pelas consultas
            Set dbs = Application.CurrentData
                For Each obj In dbs.AllQueries
                    
                    If obj.Name Like "*" & nomeObj & "*" Then
                       Application.SetHiddenAttribute acQuery, obj.Name, False
                     Else
                        Application.SetHiddenAttribute acQuery, obj.Name, True
                     End If
            Next obj
            
            
    '       percorre as tabelas
            For i = 0 To dbs.TableDefs.Count - 1 'originalmente era db.TableDefs.Count -1, troquei na tentativa de funcionar para a versao 2003, se nao der certo volte para o modo original e ve se nao da erro
                Set T = dbs.TableDefs(i)  'originalmente era db.TableDefs.Count -1, troquei na tentativa de funcionar para a versao 2003, se nao der certo volte para o modo original e ve se nao da erro
                
                tblNome = T.Name
                
                    If Not tblNome Like "Msys*" And tblNome Like "*" & nomeObj & "*" Then
                        Application.SetHiddenAttribute acTable, tblNome, False
                     ElseIf Not tblNome Like "Msys*" Then
                        Application.SetHiddenAttribute acTable, tblNome, True
                    End If
                    
                    X = X + 1
            Next i
                    
    End Function
    para a minha versão(access 2010) esta funcionando normal a função que te passei, se der erro no seu tente jogar na net algo como "listar tabela access 2003".

    para usar
    Código:
    findObject (Me.txtPesquisa)'me.txtPesquisa e o campo que de texto que criei.

    obs.: para fazer voltar todos os objetos digite "*" no campo de pesquisa.
    suporte
    suporte
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 80
    Registrado : 18/01/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  suporte 6/7/2017, 23:05

    Me perdoe ronaldojr1, meu conhecimento limitado, rsrsr, qual seria o meu procedimento? Jogo este código dentro de um módulo? e Depois crio uma caixa de texto com um botão? Me perdoe eu não entendi.

    Desde já fico agradecida a sua atenção, muito, mas muito obrigada mesmo!
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  ronaldojr1 7/7/2017, 13:01

    é exatamente o que vc disse,
    a função cole em um modulo a parte.

    ai para usar crie um formulario qualquer coloque uma caixa de texto.

    ai vc pode usar de duas maneiras.

    1º coloque o codigo no evento "apos atualizar" do campoDeTexto
    2º crie um botao e adicione o codigo no evento "ao clicar" do botão
    Código:

    if Not IsNull(me.nmCampoTexto) then
       findObject(me.nmCampoTexto)
    else
       findObject("*") 'se for nulo reabre todos objetos
    endif
    suporte
    suporte
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 80
    Registrado : 18/01/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  suporte 8/7/2017, 21:31

    Desculpe a falta de retorno, estava sem internet.

    Deu um erro vou disponibilizar aqui um bd básico, que poderia posteriormente ficar como exemplo. Coloquei no formulário pesquisa, o procedimento que você pediu.
    Anexos
    Como localizar objetos no access 2003 AttachmentDemo_2009.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (59 Kb) Baixado 9 vez(es)
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  ronaldojr1 10/7/2017, 12:42

    bom dia

    na parte da função findObjetc que percorre pelos formularios substitua por esse codigo
    Código:
    'percorre por todos formularios
            For Each obj In dbs.AllForms
                If obj.Name <> "pesquisa" Then 'essa linha evita o erro de "formulario de pesquisa aberto"
                If obj.Name Like "*" & nomeObj & "*" Then
                        Application.SetHiddenAttribute acForm, obj.Name, False
                    Else
                        Application.SetHiddenAttribute acForm, obj.Name, True
                    End If
                End If
            Next obj
    suporte
    suporte
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 80
    Registrado : 18/01/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  suporte 10/7/2017, 21:44

    ronaldorj1 muito obrigada mestre ficou certo.

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  ronaldojr1 11/7/2017, 12:43

    disponha, mas não consiguiriamos sem o criador do codigo orignal (JPaulo), eu apenas modifiquei o codigo na sua necessidade.
    rsrs
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  ronaldojr1 13/7/2017, 14:25

    oi suporte td bem,
    esqueci de destuir os objetos de abertura do banco de dados.
    coloque essas duas linhas no final da função findObjetct

    Set db = Nothing
    Set dbs = Nothing

    Conteúdo patrocinado


    Como localizar objetos no access 2003 Empty Re: Como localizar objetos no access 2003

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 19:41