Access - bloquear tablas

 
Vista:
sin imagen de perfil

bloquear tablas

Publicado por oem (12 intervenciones) el 17/01/2004 17:08:54
En una macro elimino 1 tabla e importo la misma de otra bd, pero puede abierta por otro usuario.
Necesito saber con qué función detecto el estado de la tabla para evitar eliminarla, desde las condiciones al trabajar con macros.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

bloquear tablas

Publicado por Alejandro (4142 intervenciones) el 04/05/2023 17:11:54
Puede utilizar la función `DCount` para comprobar si la tabla está abierta por otro usuario antes de intentar eliminarla. La función `DCount` devuelve el número de registros en una tabla que cumplen un criterio determinado, por lo que podemos utilizarla para determinar si hay algún registro en la tabla abierta por otro usuario.

Aquí hay un ejemplo de cómo podría usar `DCount` para verificar si la tabla está abierta:

1
2
3
4
5
6
If DCount("*", "MSysObjects", "[Name]='MiTabla' And [Type]=-32768") > 0 Then
    MsgBox "La tabla está abierta por otro usuario. No se puede eliminar."
Else
    DoCmd.DeleteObject acTable, "MiTabla"
    ' Aquí puede agregar la lógica para importar la tabla de la otra base de datos.
End If

En este ejemplo, estamos utilizando `DCount` para buscar cualquier registro en la tabla "MSysObjects" (que contiene información sobre los objetos de la base de datos) que tenga el nombre "MiTabla" y el tipo "-32768" (que representa una tabla vinculada). Si el resultado es mayor que cero, entonces sabemos que la tabla está abierta y mostramos un mensaje de error. Si no hay registros que coincidan con el criterio, eliminamos la tabla con `DoCmd.DeleteObject`.

Espero que esto ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar