Sql-access

Me gustaría saber como puedo establecer en SQL-Access una restricción a la hora de crear una tabla, es decir, me gustaría poder declarar un campo de una tabla, pero estableciendo una restricción como por ejemplo lo siguiente, pero en SQL-Access, porque el CHECK el Access no lo permite, al menos no esta palabra clave.
CREATE TABLE Permisos
( num_zona INTEGER,
num_max_permisos INTEGER CHECK (num_max_permisos between 0 AND 50),
CONSTRAINT Pri_Permisos PRIMARY KEY(num_zona);
Y otra consulta mas: se que en SQL-plus se pueden crear Vistas como pej:
CREATE VIEW Vista_ejemplo...
Pero con SQL-Access no se como hacerlo o si se puede hacer. ¿Alguien sabe como?

2 Respuestas

Respuesta
1
En Access se llaman Reglas de validación y se establecen DESPUÉS de crear la tabla.
1º creas la tabla
2º te concectas a ella y estableces
Dim cmpPermisos As Field
set cmpPermisos = tblPermisos.fields!Num_Max_permisos
cmpPermisos.ValidationRule = "Entre 0 y 50"
cmpPermisos.ValidationTEXT = "El Campo Permisos tiene que estar entre 0 y 50"
Lo que ya no te puedo decir si la regla se queda 'para siempre' en la base de datos o solo se establece mientras exista el WorkSpace. En este caso deberías establecer la regla después de conectar a la base de datos.
El equivalente de las Vistas en SQL-Access serian las Consultas. También funcionan como Procedimientos almacenados.
Respuesta
1
La 1ª pregunta, abres la tabla en diseño, te posicionas en el campo num_max_permisos y en la parte de abajo, en regla de validación tecleas:
Entre 0 y 50
En texto de validación pones el mensaje que quieres que te salga y fin, ya ves más fácil, más visual y más parametrizable que en SQL.
Lo segundo, tienes un error de concepto, en Access no existen vistas propiamente dichas (es decir Create view etc.), pero lo que puedes hacer es definirte una consulta que es prácticamente igual que una vista (al 99,9%), supongo que habré resuelto tus dudas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas