Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ocultar Tablas (otra ves...)

70 views
Skip to first unread message

Daniel Pozzi

unread,
Oct 23, 2004, 9:48:10 PM10/23/04
to
Al no poder hacer funcionar el ejemplo de Chea de cómo ocultar tablas, seguí
buscando y encontré q renombrando una tabla a USys desaparece totalmente de
vista!
Por cierto, quien me pueda ayudar con el código de Chea tendrá mi gratitud!
Saludos

Daniel


Sashka

unread,
Oct 24, 2004, 12:21:29 AM10/24/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola Daniel... no sé problema tienes exactamente con el código de Chea para
ocultar tablas.... pero se me ocurre que lo que pasa es que estas usando
access 2000 o superior... y en estas bases de datos DAO no viene
referenciado por default (sino ADO) ... ese código necesita DAO.... ya que
usas tabledefs.... que son objetos DAO.

Sashka
MS MVP Access
MCP ASP.Net

"Daniel Pozzi" <dpo...@gmail.com> escribió en el mensaje
news:%23cRgIuW...@TK2MSFTNGP14.phx.gbl...

Chea

unread,
Oct 24, 2004, 6:10:29 AM10/24/04
to
El código no es del todo de Chea: surgió en un hilo de este grupo al alimón
entre varios a partir de una propuesta de Car Car :-)

Creo que el problema puede estar en lo que te ha indicado Sashka, en que te
falte la referencia a DAO,

En cuanto a renombrar las tablas con USys es una opción "blanda" para
ocultar las tablas: basta con elegir en Herramientas->Opcionces->Mostrar
tablas del sistema para que te las vuelva a mostrar, mientras que la opción
que surgió en aquel hilo es una opción tan "dura" que ni siquiera Access 97
es capaz de encontrar las tablas cuando compacta y las pierde del todo
(tranquilo, a partir de Access 2000 no pasa).


--
Saludos.

José Bengoechea Ibaceta [MS-MVP Access]
http://perso.wanadoo.es/j.bchea


"Daniel Pozzi" <dpo...@gmail.com> escribió en el mensaje
news:%23cRgIuW...@TK2MSFTNGP14.phx.gbl...

Daniel Pozzi

unread,
Oct 24, 2004, 11:29:36 AM10/24/04
to
Gracias a todos, ya lo resolví, faltaba la referencia Microsoft DAO 3.6
Object Library, y ahora funciona. Pero no funciona con Tablas Vinculadas!!
Probaron eso?
Saludos y gracias!

Daniel

"Chea" <j.bcheatar...@wanadoo.es> escribió en el mensaje
news:OV7BuGb...@TK2MSFTNGP10.phx.gbl...

Chea

unread,
Oct 24, 2004, 12:20:32 PM10/24/04
to
Sí, lo probamos con tablas vinculadas en su momento y, lamentablemente, no
funciona.

Es una auténtica pena, porque sería la cuadratura del círculo de la
protección de las tablas. Para que sea realmente eficaz, hay que hacer un
trabajo adicional, como abrir las tablas sólo por código, por ejemplo, que
sólo compensa si son tablas muy especiales.

--
Saludos.

José Bengoechea Ibaceta [MS-MVP Access]
http://perso.wanadoo.es/j.bchea
"Daniel Pozzi" <dpo...@gmail.com> escribió en el mensaje

news:%23%23a3K5du...@tk2msftngp13.phx.gbl...

Sashka

unread,
Oct 24, 2004, 5:22:14 PM10/24/04
to
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo. Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Lo que pasa es que no puedes "cambiar" un attributo como dbAttachedTable...
y eso es lo que estas tratando de hacer con ésta línea:
Tb.Attributes = Tb.Attributes Or dbHiddenObject
Es decir se lo estás reaplicando y te dá error.... basta con que le asignes
el dbHiddenObject y luego se lo quites.... eso no cambiará el que sea una
tabla vinculada....
Prueba así: (yo prefiero no tocar las tablas de sistema.... de modo que en
lugar de verificar si está oculta... si la reoculto no pasa nada... verifico
que no sea de sistema...


Public Sub OcultaTodasTablas()
Dim Tb As TableDef
For Each Tb In CurrentDb.TableDefs
If Not (Tb.Attributes And dbSystemObject) Then
Tb.Attributes = dbHiddenObject
End If
Next
End Sub

Public Function MuestraTodasTablas()
Dim Tb As TableDef
For Each Tb In CurrentDb.TableDefs
If Not (Tb.Attributes And dbSystemObject) Then
Tb.Attributes = 0
End If
Next
End Function


Sashka
MS MVP Access
MCP ASP.Net

"Daniel Pozzi" <dpo...@gmail.com> escribió en el mensaje
news:%23%23a3K5du...@tk2msftngp13.phx.gbl...

Daniel Pozzi

unread,
Oct 24, 2004, 7:32:02 PM10/24/04
to
Gracias Sashka, funciona perfectamente. Lo q terminé haciendo es lo sgte.,
distribuir la base principal y la de tablas en formato .mde, oculto las
tablas en la base principal donde esta el "programa" y la base donde están
las tablas, al cargar el form inicio oculto las herramientas. De esta forma
logro algo de seguridad. También uso algún código de Búho para grabar el
rígido encriptado en un reg de Windows y la cantidad de veces q se carga el
programa en otro reg.
Me gustaría tu opinión sobre la vulnerabilidad de esto.
Saludos y gracias nuevamente

Daniel

"Sashka" <sasshk...@NOVAESTOhotmail.com> escribió en el mensaje
news:ewwrL%23guEH...@TK2MSFTNGP15.phx.gbl...

marius

unread,
Oct 25, 2004, 7:00:32 AM10/25/04
to
Buenas,
 
Otra funcion que sirve tanto para ocultar/mostrar tablas locales como vinculadas.
Public Function AWHideTable(opHIDE As Boolean)
Dim tblTMP As TableDef
For Each tblTMP In CurrentDb.TableDefs
    With tblTMP
    If .Attributes = dbAttachedTable And opHIDE Then
        .Attributes = dbHiddenObject
    ElseIf .Attributes = (dbAttachedTable + dbHiddenObject) And Not opHIDE Then
        .RefreshLink
    ElseIf .Attributes = 0 And opHIDE Then
        .Attributes = dbHiddenObject
    ElseIf .Attributes = 1 And Not opHIDE Then
        .Attributes = 0
    End If
    End With
Next
Application.RefreshDatabaseWindow
End Function
--
Saludos,
Màrius
"Daniel Pozzi" <dpo...@gmail.com> escribió en el mensaje news:%23E2JvGi...@tk2msftngp13.phx.gbl...
0 new messages