Application.Quit
jueves, 19 de septiembre de 2013
¿Cómo cerrar Access desde VBA?
i = MsgBox("No tiene permiso para utilizar esta aplicación. Contacte a su administrador.", vbOKOnly, "Error")
Application.Quit
Application.Quit
¿Cómo crear usuarios en SQL Server con TSQL?
Imaginemos que en nuestro proyecto de Access con SQL Server como base de datos, queremos crear usuarios usando scripts. Simplemente ejecutamos:
CREATE LOGIN ezequiel WITH PASSWORD = 'blablabla'
CREATE LOGIN ezequiel WITH PASSWORD = 'blablabla'
Y dentro de nuestra base de datos:
CREATE USER ezequiel FROM LOGIN ezequiel
GO
SP_ADDROLEMEMBER 'db_datawriter', 'ezequiel';
GO
SP_ADDROLEMEMBER 'db_datareader', 'ezequiel';
GO
¿Cómo obligar al pedido de credenciales al conectar Access con SQL Server?
Supongamos el siguiente escenario:
- Access como front end, SQL Server como base de datos
- Trabajamos en un ambiente de desarrollo con un usuario administrador
- Al abrir nuestra aplicación Access no nos pide credenciales
¿Por qué?
La razón es simple. Nuestro usuario de Windows tiene acceso directo a SQL Server, con lo cual está ignorando el pedido de credenciales del ODBC. Está almacenado dentro de nuestra aplicación.
¿Cómo resolverlo?
Configuramos el ODBC así:
[ODBC]
DRIVER=SQL Server
UID=blabla
DATABASE=blabla
WSID=blabla
APP=Microsoft Office 2010
SERVER=blabla
Pero no funciona, aún así no nos pide las credenciales
¿Cómo solucionarlo?
- Cambiamos el driver de SQL Server a SQL Native Client
- Volvemos a configurar las vinculaciones desde
- External Data
- Link Table Manager
- Opción "allways prompt for new location"
Veremos luego que nos pedirá las credenciales cada vez que ingresemos a Access.
Más información en: http://support.microsoft.com/kb/2650051
viernes, 23 de agosto de 2013
The Default 'DF_XXX' does not exist on the server.
En SQL Server Management Studio se obtiene el siguiente mensaje de error al tratar de eliminar un constraint:
La solución es sencilla, intentar borrarlo con una instrucción ALTER:
ALTER table Certificados drop DF_Certificados_Observaciones
Esto funcionará sin problemas.
The Default 'DF_Certificados_Observaciones' does not exist on the server.
La solución es sencilla, intentar borrarlo con una instrucción ALTER:
ALTER table Certificados drop DF_Certificados_Observaciones
Esto funcionará sin problemas.
jueves, 22 de agosto de 2013
There isn't enough free memory to update the display. Close unneeded programs and try again.
¿Qué hacer ante el siguiente error?
La solución que al menos a mi me ha funcionando es utilizar menos formularios u organizarlos de otra forma para que no se abran muchos al mismo tiempo.
There isn't enough free memory to update the display.
Close unneeded programs and try again.
La solución que al menos a mi me ha funcionando es utilizar menos formularios u organizarlos de otra forma para que no se abran muchos al mismo tiempo.
jueves, 8 de agosto de 2013
¿Cómo agregar un parámetro como filtro en una DataSheet view?
Supongamos que queremos tener un filtro ingresado por el usuario en una vista de hoja de datos, tal como se ven en la siguiente imagen:
Una forma simple de resolverlo es agregando entre corchetes el nombre del parámetro en la vista SQL o en la vista de Diseño:
WHERE (((dbo_Reporte.[Vencimiento])>DateAdd('d',-[Ingrese la cantidad de días anteriores a la Fecha de Vencimiento:],Now())));
Fuente: http://office.microsoft.com/en-us/access-help/using-parameters-with-queries-and-reports-HA001117077.aspx
Una forma simple de resolverlo es agregando entre corchetes el nombre del parámetro en la vista SQL o en la vista de Diseño:
WHERE (((dbo_Reporte.[Vencimiento])>DateAdd('d',-[Ingrese la cantidad de días anteriores a la Fecha de Vencimiento:],Now())));
Fuente: http://office.microsoft.com/en-us/access-help/using-parameters-with-queries-and-reports-HA001117077.aspx
domingo, 14 de julio de 2013
Cargar un combo en función de otro
En el siguiente código vemos cómo cargar un combo en función de otro:
Private Sub ComboNorma_Exit(Cancel As Integer)
'Si hay algún valor en el combo PADRE
If ComboNorma.ListIndex <> -1 Then
'Y no hay ningún valor en el combo HIJO
If ComboSubRubro.ListIndex = -1 Then
'Elijo el valor del HIJO tomando la tercera columna del combo PADRE
ComboSubRubro.Value = ComboNorma.Column(2)
End If
End If
End Sub
Referencias:
Private Sub ComboNorma_Exit(Cancel As Integer)
'Si hay algún valor en el combo PADRE
If ComboNorma.ListIndex <> -1 Then
'Y no hay ningún valor en el combo HIJO
If ComboSubRubro.ListIndex = -1 Then
'Elijo el valor del HIJO tomando la tercera columna del combo PADRE
ComboSubRubro.Value = ComboNorma.Column(2)
End If
End If
End Sub
Referencias:
Suscribirse a:
Entradas (Atom)