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

    Ocultar Tabelas 2013

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Ocultar Tabelas 2013 Empty Ocultar Tabelas 2013

    Mensagem  Assis 17/7/2017, 16:02

    Boa tarde Amigos

    Na versão 2007 funcionava perfeito agora na versão 2013 depois de executar o código, funciona mas quando reabrir a BD e tentar alterar o VBA da BD informa o seguinte:

    Ocultar Tabelas 2013 Oculta10

    E depois não se consegue alterar ou adicionar o VBA

    PS - BD não dividida

    Private Sub Comando213_Click()
    On Error Resume Next
    If MsgBox("Ocultar as Tabelas ? ", vbYesNo + vbQuestion, "Aviso ") = vbYes Then
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    Rem  MsgBox Tb.Name
    If Not Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Or dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Foram Ocultas. ", vbExclamation, "Aviso "
    Else
    For Each Tb In CurrentDb.TableDefs
    If Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Xor dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Estão Visíveis. ", vbExclamation, "Aviso "
    Exit Sub
    End If
    Exit Sub
    End Sub


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Phillip_Junior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Ocultar Tabelas 2013 Empty Re: Ocultar Tabelas 2013

    Mensagem  Phillip_Junior 18/7/2017, 06:53

    Olá


    Como dizemos nesse mundo da programação, todo dia é um aprendizado.

    Estou ainda analisando.

    Veja!

    Coloquei seu código num projeto que tenho 12 tabelas vários outros forms consultas e tal.
    Na primeira utilização me retornou o erro apresentado a vc.

    Diante disso, criei um novo db e fiz 6 teste dentro de um form com 3 tbls.

    1º Teste, foi com seu código resultado sem erros

    2º Teste, foi dividir seu código e executar somente exibir, resultado sem erros

    3º Teste, foi dividir seu código e executar somente ocultar, resultado sem erros

    4º Teste, foi alterar seu código em uma unica linha, resultado sem erros

    5º Teste, foi alterar seu código em uma unica linha e dividir ele em somente exibir, resultado sem erros

    6º Teste, foi alterar seu código em uma unica linha e dividir ele em somente ocultar, resultado sem erros


    Segue abaixo os códigos utilizados nos teste num novo db access 2013.

    E ai que vem o motivo da minha frase no inicio dessa resposta, pois não tenho uma conclusão bem exata do porque o db estando carregado o erro surge.

    Digo carregado porque alem dos teste que fiz acima, utilizei teste com 12 tbls vazias e 12 tabelas cheias.

    As vazias não retornaram erro. Já as cheias com 200 registros cada, de imediato apresentaram o erro.

    Algo a ser analisado com calma.

    Tenho um palpite que possa ser referente a condição de cada campo dentro das tabelas.

    Ou até mesmo por se tratar de alteração na estrutura do db geral, esteja sendo armazenado no próprio processo e serviço do windows dando a entender que este db já esteja aberto.

    Mas breve terei a resposta.

    No mais, tente criar um novo db e realize os teste que fiz para verificar se fluirá.


    Abraços


    Código dos teste

    Option Compare Database
    Private Sub btn_exibir_Click()
    On Error Resume Next
    MsgBox "exibir as Tabelas! ", vbYes + vbInformation, "Aviso"
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    If Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Xor dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Estão Visíveis. ", vbExclamation, "Aviso "
    Exit Sub
    End Sub

    Private Sub btn_ocultar_Click()
    On Error Resume Next
    MsgBox "Ocultar as Tabelas! ", vbYes + vbInformation, "Aviso"
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    Rem MsgBox Tb.Name
    If Not dbHiddenObject Then
    Tb.Attributes = dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Foram Ocultadas. ", vbExclamation, "Aviso "
    Exit Sub
    End Sub
    Private Sub btn_seucodigoalterado_Click()
    On Error Resume Next
    If MsgBox("Ocultar as Tabelas ? ", vbYesNo + vbQuestion, "Aviso ") = vbYes Then
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    Rem MsgBox Tb.Name
    If Not Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Foram Ocultas. ", vbExclamation, "Aviso "

    Else

    For Each Tb In Current
    Db.TableDefs
    If Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Xor dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Estão Visíveis. ", vbExclamation, "Aviso "
    Exit Sub
    End If
    End Sub
    Private Sub btn_seucodigo_Click()
    On Error Resume Next
    If MsgBox("Ocultar as Tabelas ? ", vbYesNo + vbQuestion, "Aviso ") = vbYes Then
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    Rem MsgBox Tb.Name
    If Not Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Or dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Foram Ocultas. ", vbExclamation, "Aviso "
    Else
    For Each Tb In CurrentDb.TableDefs
    If Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Xor dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Estão Visíveis. ", vbExclamation, "Aviso "
    Exit Sub
    End If
    Exit Sub
    End Sub
    Private Sub btnseucodexibir_Click()
    On Error Resume Next
    MsgBox "Exibir as Tabelas", vbYes + vbQuestion, "Aviso "
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    If Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Xor dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Estão Visíveis. ", vbExclamation, "Aviso "
    Exit Sub
    End Sub

    Private Sub btnseucodocultar_Click()
    On Error Resume Next
    MsgBox "Ocultar as Tabelas", vbYes + vbQuestion, "Aviso "
    DoCmd.SetWarnings False
    Dim Tb As TableDef
    For Each Tb In CurrentDb.TableDefs
    Rem MsgBox Tb.Name
    If Not Tb.Attributes And dbHiddenObject Then
    Tb.Attributes = Tb.Attributes Or dbHiddenObject
    End If
    Next
    MsgBox "Todas As Tabelas Foram Ocultas. ", vbExclamation, "Aviso "
    Exit Sub
    End Sub






    .................................................................................
    Phillip_Junior
    Analista de Sistemas

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