** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Proteger Tablas y consultas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoProteger Tablas y consultas

 Responder Responder Página  <123>
Autor
Mensaje
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 10193
Enlace directo a este mensaje Enviado: 13/Febrero/2018 a las 12:56
en cada formulario, en cada report, en cada cuadro de lista, en cada combobox .... 
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9191
Enlace directo a este mensaje Enviado: 13/Febrero/2018 a las 17:32
También se puede crear un archivo binario para crear una cadena de la longitud que gustes para almacenar la información de la clave. Claro que estaría encriptada y ofuscada.

Saludos !
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
01loko Ver desplegable
Asiduo
Asiduo


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 443
Enlace directo a este mensaje Enviado: 13/Febrero/2018 a las 20:10
pero...  esto yo creo que es para preveerlo desde el inicio y empezar a hacerlo, sobre una base ya creada y con bastantes formularios, creo que es complicadisimo


Editado por 01loko - 13/Febrero/2018 a las 20:10
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 11:50
Buenas!!

Me esta resultando muy interesante este hilo, eso si, ya veo que tiene mucho mucho trabajo el hacer que pille los datos sin tener tablas vinculadas, consultas, cuadros combinados, listas etc....... todo de donde se tire de una tabla.....si cambias la ubicacion de las tablas, habria que modificar todo de donde se tire de tabla, habria que buscar la formula para que eso sea mas sencillo, pero eso es otra pelicula......

Estoy haciendo unas pequeñas pruebas, y ya voy consigiendo algo

En el Origen del registro de un formulario  con     SELECT * FROM Tabla1 IN 'C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_be.mdb';      Funciona correctamete, edito,creo,borro...... si es una mde no podra acceder a las tripas del formulario.

Ahora he creado una base datos con tablas y contraseña, como tendria que decirle a lo que esta en negrita la contraseña???

Saludos
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 12:04
Ya lo he encontrado buscando en mi pesimo ingles....

SELECT * FROM Tabla1 IN '' [MS Access;PWD=1111;DATABASE=C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_beContrasena1111.mdb];


https://www.access-programmers.co.uk/forums/showthread.php?t=213596

Y ya lo voy a preguntar, imaginaros que cambio la ubicacion de la base de datos o su contraseña, cambiar en todos los lados seria una currada y susceptible a fallos.....  como se podria hacer para cambiarlo en un solo sitio y que de hay se nutriesen todos formularios, consultas, cuadros combinados, listas etccc????

Saludos
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 10193
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 12:14
Una variable Global, 
- el dato lo puedes guardar en una propiedad de la aplicación y en el arranque del programa lees el dato y lo asignas


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 12:29
Bueno asi se haria en VBA, para que quede contancia para los foreros, estoy disfrutando con este tema....

Private Sub Form_Open(Cancel As Integer)
Me.RecordSource = "SELECT * FROM Tabla1 IN '' [MS Access;PWD=1111;DATABASE=C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_beContrasena1111.mdb]; "
End Sub



Lo de la variable global me suena a chino, jijiji, voy a buscar algo de info......


Editado por rokoko - 14/Febrero/2018 a las 12:30
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 10193
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 13:23
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 21:00
Buenas!
Estoy haciendo pruebas con el tema de contastes, digamos que de una forma sencilla para mi

En un modulo tengo declaradas estas constantes

Option Compare Database
Option Explicit

Public Const constDirectorio As String = "C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_beContrasena1111.mdb"
Public Const constPass As String = "1111"

Y en el formulario en evento al abrir

Private Sub Form_Open(Cancel As Integer)

Dim varPass As String
Dim varDirectorio As String

varPass = constPass
varDirectorio = constDirectorio

MsgBox varPass
MsgBox varDirectorio


Me.RecordSource = "SELECT * FROM Tabla1 IN '' [MS Access;PWD=varPass;DATABASE=varDirectorio]; "
End Sub


Los datos en las variables se almacenan bien, en los msgbox salen bien, pero al ejecutar el codigo me da este error

Error 3024 en tiempo de ejecucion
No se puede encontrar el archivo
C:\Users\Usuario\Documents\varDirectorio.mdb

Por que en la variable lo lee bien pero luego no lo hace en el recordSource???

Saludos
Arriba
01loko Ver desplegable
Asiduo
Asiduo


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 443
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 21:15
yo probaria con algo como :
misql= "SELECT * FROM Tabla1 IN '' & " [MS Access;PWD=" & varPass & ";DATABASE=" & varDirectorio & "]; "
Me.RecordSource = misql

"Por decir alguna burrada de las mias"
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 22:30
Justo esta probando algo parecido y lo acababa de resolver,no me acordaba que las variables tenian que ir asi  " & varPass & "

asi queda

Me.RecordSource = "SELECT * FROM Tabla1 IN '' [MS Access;PWD=" & varPass & ";DATABASE=" & varDirectorio & "]; "

Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 22:31
Tambien funciona poniendo las constastes directamente en la consulta sql

Me.RecordSource = "SELECT * FROM Tabla1 IN '' [MS Access;PWD=" & constPass & ";DATABASE=" & constDirectorio & "]; "




Editado por rokoko - 14/Febrero/2018 a las 23:55
Arriba
01loko Ver desplegable
Asiduo
Asiduo


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 443
Enlace directo a este mensaje Enviado: 15/Febrero/2018 a las 07:23
en un modulo:
public funcion rutabase (basedatos as string, tabla as string, campo as string)
rutabase= "SELECT" & camop & " FROM" & Tabla & " IN  [MS Access;PWD=" & constPass & ";DATABASE=" & basedatos & "]; "
end funcion

y llamandolo tal que:
=rutabase(mibase,clientes,nombre)

¿algo asi funcionaria?


Recordar de que soy nuevo y estoy aprendiendo.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 10193
Enlace directo a este mensaje Enviado: 15/Febrero/2018 a las 10:36
Yo utilizo otra manera de nombrar la tabla:
Cita
SELECT ... FROM [C:\MiBd.accdb;PWD=Miclave].[MiTabla] WHERE ...


Y para no liarme tengo una función creada:
Cita
Function RT_RutaTabla(Nombretabla As String) As String
    RT_RutaTabla = "[" & NombreBd & SufijoBd & "].[" & Nombretabla & "]"
End Function

Así esta SELECT:
Cita
"SELECT ... FROM Tabla1 LEFT JOIN Tabla2 ....."
queda asi:
Cita
"SELECT ... FROM " & " RT_RutaTabla("Tabla1") & " LEFT JOIN " & RT_RutaTabla("Tabla2")  & " ....."

Todo ello contando que NombreBd y SufijoBd son variables globales que contienen la ruta de la BD y la password de la misma.




Editado por Mihura - 15/Febrero/2018 a las 10:38
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1310
Enlace directo a este mensaje Enviado: 15/Febrero/2018 a las 19:40
Cita
Function RT_RutaTabla(Nombretabla As String) As String
    RT_RutaTabla = "[" & NombreBd & SufijoBd & "].[" & Nombretabla & "]"
End Function


No consigo hacer funcionar tu rutaina...Confused  y la he modificado algo y asi si va.....
En un modulo tengo

Public Const constDirectorio As String = "C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_beContrasena1111.mdb"
Public Const constPass As String = "1111"


Function RT_RutaTabla(Nombretabla As String) As String
    RT_RutaTabla = "[" & constDirectorio & ";PWD=" & constPass & "].[" & Nombretabla & "]"
End Function


Me.RecordSource = "SELECT * FROM " & RT_RutaTabla("Tabla1") & ""

Asi si me funciona, la que as escrito crees que esta bien o quizas yo no la sepa aplicar???
me daba el error3024  y  me sacaba la ruta + la contraseña todo seguido, decia que no encontraba la ruta........
asi la sacaba  tu rutina

C:\PruebaSinTablasVinculadas\PruebaSinTablasVincularasTablas_beContrasena1111.mdb1111



Editado por rokoko - 15/Febrero/2018 a las 19:41
Arriba
 Responder Responder Página  <123>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable