.
Cuando se manipula datos se requiere normalmente insertar, modificar o eliminar datos con sentencias SQL es por ello que en esta parte del tutorial se muestro como agregar, modificar o eliminar datos guardados en Access desde Excel mediante una macro de VBA, recuerda que aca tienes el ejemplo sobre como conectar excel con access, suscribe al blog para que lleguen a tu mail las próximas entregas o post que se escriban sobre el tema.
Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
Desde el link podrás descargar el ejemplo que conecta Excel con Access y desde el link del final cientos de ejemplos totalmente GRATUITO, recordando que si este o alguno de los ejemplos publicados te fueron de utilidad y puedes, aporta a seguir manteniendo esta página.
acción son aquellas que no devuelven valor alguno, sino que
se encargan de realizar acciones agregar, modificar o borrar
datos; como son las consultas para añadir datos, consultas para modificar de
datos y consultas para eliminar datos.
AÑADIDOS COMANDO INSERT INTO
insertar, añadir o agregar un dato a la tabla, se puede agregar un registro
único; seleccionar registros y agregarlo en una tabla nueva o agregar todos los
registros de una tabla a otra tabla.
INTO para insertar un solo registro, en este caso se debe especificar el nombre
del campo y el valor que debe ingresarse, cuando no se especifica el nombre del
campo de ingresa el valor predeterminado o nulo; los registros se agregan al
final de la tabla o base de datos: la sintaxis es la siguiente:
campo2, campoN) VALUES (valor1, valor2, valorN)
Comando que permite insertar o agregar un registro.
tabla donde se agregará e registro.
primer campo donde se agregará el registro.
el segundo campo donde se agregará el registro.
el último campo donde se agregará el registro.
comando INSERT INTO donde se expresan los valores a agregar.
agregar para el campo1.
a agregar para el campo2.
a agregar para el campoN.
cuenta al agregar un registro que los valores literales o cadena de texto se
deben agregar entre comillas simples (‘texto literal’), si el dato a insertar
es una fecha se debe indicar entre almohadillas (#) y en formato mm-dd-yy.
inserta al campo cliente y cuenta corriente de la tabla ventas el valor
«Dayra Tomy» y el valor «SI».
(cliente, CuentaCorriente) VALUES (‘Dayra Tomy’, ‘SI’)
una tabla a otra tabla, se puede usar INSERT INTO para ingresar un conjunto de datos
pertenecientes a otra tabla o consulta mediante la cláusula SELECT …FROM, en
este caso se selecciona que datos se deben ingresar en la base de
datos; la sintaxis es la siguiente:
TablaDestino (IN Base Datos Externa) (campo1, campo2, campoN) SELECT TablaOrigen.campo1, TablaOrigen.campo2, TablaOrigen.campoN
FROM TablaOrigen WHERE Criterios
Comando que permite insertar o agregar un registro.
si la base de datos es externa.
la tabla donde se agregará e registro.
primer campo donde se agregará el registro.
el segundo campo donde se agregará el registro.
el último campo donde se agregará el registro.
es el campo uno de la tabla origen que se insertará en el campo uno de la tabla
destino.
es el campo uno de la tabla origen que se insertará en el campo desde la tabla
destino.
es el campo uno de la tabla origen que se insertará en el campo N de la tabla
destino.
de donde provienen los datos
expresa los diferentes criterios para determinar que datos se deben insertar.
En los campos autocontadores o incrementales, se debe tener presente que se
copiará el valor que tenga en la tabla origen, no incrementándose como
corresponde; si la base de datos es una base de datos Externa se debe
agregar IN.
Si la tabla origen y destino tienen los mismos nombres y tipos de datos, es
decir contiene todos los campos con idénticos nombre de campo y tipo de datos; ósea
la misma estructura de las tablas, se puede simplificar las sintaxis de la
siguiente forma:
INSERT INTO Tabla SELECT TablaOrigen.* FROM TablaOrigen WHERE criterios
El siguiente ejemplo inserta datos en una base de dato externa ResumenVenta que
se encuentra en la dirección ‘c:dbasepadron.mdb’, los datos a
insertar son todos los campos de la tabla de origen Ventas, solo cuando el
campo Venta sea igual a Dayra Col o Tomy Lee :
INSERT INTO ResumenVenta IN ‘c:dbasepadron.mdb’ SELECT Ventas
* FROM Ventas WHERE Venta = ‘Dayra Col’ or Venta = ‘Tomy Lee’
Es posible averiguar los registros que se insertarán para ello se debe proceder
a realizar una consulta de selección para determinar o mostrar que datos se
insertarán.
DE DATOS COMANDO UPDATE
crea una consulta de actualización de datos, cambiando los registros de una
tablas especificada en la cláusula FROM que satisfacen el o los
criterios expresados en la cláusula WHERE, UPDATE no genera ningún
resultado, para saber que datos se actualizarán se puede determinar
creando una consulta de selección con el mismo criterio de actualización de
datos; si se omite la cláusula WHERE se actualizarán todos los datos, no es
posible deshacer la actualización por ello se debe contar con una copia de
seguridad en caso que necesitemos restablecer los datos; la
sintaxis es:
UPDATE Tabla SET campo1 = valor1, campo2 = valor2, campoN = valor N WHERE
Criterio
ejemplo actualiza el campo comisión estableciéndolo en un 10% de las ventas
cuando las ventas sean superiores a 2000 o los clientes sean Dayra Col o
Tomy Lee.
UPDATE Ventas SET FROM Comision = Venta *0,10 WHERE Venta > 2000
OR Cliente = ‘Dayra Sol’ OR Cliente = ‘Tomy Lee’
DATOS COMANDO DELETE
crea una consulta de eliminación de datos, borrando registros de una o más
tablas listadas en la cláusula FROM que satisfacen el o los criterios
expresados en la cláusula WHERE, con este comando se elimina el registro
completo, no siendo posible eliminar el contenido de cierto campos solamente;
una vez eliminados los registros no se pueden recuperar salvo desde una copia
de seguridad, por eso se recomienda realizar siempre una copia, por lo menos
antes de eliminar datos; tal vez sea preciso saber que datos se eliminarán,
ello se soluciona creando una consulta de selección con el mismo criterio de
eliminación de datos, la sintaxis es:
DELETE * FROM Tabla WHERE Criterio
El siguiente ejemplo borra los datos cuyas ventas sean menores a 2000 y
distintas de los clientes Dayra Col o Tomy Lee.
DELETE * FROM Ventas WHERE Venta < 2000 AND Cliente
<> ‘Dayra Sol’ OR
Cliente <> ‘Tomy Lee’
SUBCONSULTAS
es una instrucción SELECT anidada dentro de otra instrucción SELECT, se asemeja
a cuando se anidan formulas en Excel.
Se puede usar una subconsulta en lugar de una expresión en la lista de campos
de una instrucción SELECT o cláusula WHERE O HAVING, en una subconsulta se
puede utilizar una instrucción SELECT, con ello se proporciona un conjunto de
dato de uno o más valores especificados para evaluar en la expresión de la
cláusula WHERE O HAVING.
Existen tres formas de sintaxis para crear una subconsulta.
·
Comparación ANY ALL SOME (instrucción SQL)
·
Expresión [NOT] IN (instrucción SQL)
·
[NOT] EXISTS (instrucción SQL)
una expresión y un operador de comparación que compara la expresión con el
resultado de la subconsulta.
expresión por la que se busca el conjunto resultante de la subconsulta.
es una instrucción SELECT que tiene el mismo formato y regla de cualquier
instrucción SQL vistas anteriormente, debe ir entre paréntesis.
Los predicados ANY y SOME son sinónimos, sirven para recuperar registros de la
consulta principal que coincidan con cualquier registro de la subconsulta.
En el ejemplo se requiere recuperar todos los campos de la tabla Ventas cuando
el campo Comisión sea mayor o igual a alguno de los registros devuelto por la
subconsulta, requiriendo en la subconsulta seleccionar los registros del campo
Comision de la tabla Comisiones cuando Comision sea mayor o igual a 1000.
Ventas WHERE Comision >= ANY (SELECT Comision FROM Comisiones
WHERE Comision >= 1000)
El predicado ALL se usa para recuperar registros de la consulta principal
que coincidan con todos los registros de la subconsulta.
En el ejemplo se requiere recuperar todos los campos de la tabla Ventas cuando
el campo Comisión sea mayor o igual a todos los registros devuelto por la
subconsulta, requiriendo en la subconsulta seleccionar los registros del campo
Comision de la tabla Comisiones cuando Comision sea mayor o igual a 1000.
Comision >= ALL (SELECT Comision FROM Comisiones WHERE Comision
>= 1000)
El predicado IN se usa para recuperar registros de la consulta principal que
coinciden exactamente con algún registro de la subconsulta; si se usa
NOT IN se recuperan los registros de la consulta principal que no coinciden exactamente
con algún registro de la subconsulta, es decir se obtiene los datos inversos
que cuando se usa IN solamente.
En el ejemplo se requiere recuperar todos los campos de la tabla Clientes
cuando el campo Venta sea igual a los registros devuelto por la subconsulta,
requiriendo en la subconsulta seleccionar los registros del campo Venta de la
tabla Ventas cuando Comision sea mayor o igual a 500.
(SELECT Venta FROM Ventas WHERE Comision >= 500)
En este caso se utiliza NOT IN, es decir se obtendrán los resultados inversos a
los requeridos con la consulta anterior.
NOT IN (SELECT Venta FROM Ventas WHERE Comision >= 500)
El predicado EXISTS se utiliza en comparaciones verdadero / falso,
sirve para determinar si la subconsulta devuelve algún registro, si se una NOT
se obtiene el resultado inverso.
En este ejemplo devolverá verdadero si en la subconsulta existe algún registro
que cumpla las condiciones, si se una NOT se devolverá lo contrario.
EXISTS (SELECT Venta FROM Ventas WHERE Comision >= 500)
NOT EXISTS (SELECT Venta FROM Ventas WHERE Comision >= 500)
Se puede usar AS (alias) en la subconsulta para referirse a una tabla listada
en la cláusula FROM fuera de la subconsulta.
El ejemplo devuelve el nombre de los clientes cuyas ventas sean mayores o
iguales que el promedio de ventas a todos los clientes del mismo país, ordenado
por País.
SELECT NombreCliente, País, Venta FROM Clientes As Vta1 WHERE Venta
>= (SELECT AVG (Venta)
FROM Clientes WHERE Vta1.Pais = Clientes.Pais) ORDER BY Pais
El ejemplo devuelve el nombre y demás datos de los Empleados cuyos salarios
superan al salario de Jefe o Director, ordenado por País (nótese que si el comodín
% produce error se debe usar *).
SELECT NombreEmpleado, País, Cargo, Salario FROM PadronEmpleaos WHERE
Cargo LIKE «Vende%» AND Salario >= ALL (SELECT Salario
FROM PadronEmpleaos WHERE Cargo LIKE «%Jefe%» OR Cargo LIKE
«%Director%») ORDER BY Pais
El ejemplo devuelve listado de nombre y demás datos de Productos cuyo precio de
venta sea igual al precio del producto Chocolate Blanco.
SELECT DISTINCTROW Producto, PrecioCompra, PrecioVenta, Codigo FROM
PadronProductos
WHERE PrecioVenta = (SELECT PrecioVenta FROM PadronProductos WHERE Producto «Chocolate
Blanco)
El ejemplo devuelve listado de nombre y demás datos de Clientes cuyos Clientes
han realizado alguna compra entre el 12/01/2012 y el 12/06/2014.
DISTINCTROW NombreCliente, Direccion, Telefono, Mail FROM PadronClientes
WHERE Cliente
IN (SELECT DISTINCTROW Cliente FROM Ventas WHERE
Fecha >= #12/01/2012# AND Fecha <= #12/06/2014#)
devuelve listado de nombre y demás datos de Clientes cuyos Clientes han
realizado alguna compra.
DISTINCTROW NombreCliente, Direccion, Telefono, Mail FROM PadronClientes
AS Pd WHERE EXISTS (SELECT * FROM Ventas AS Vtas1 WHERE
Pd.NombreCliente = Vtas1.NombreCliente)
devuelve el código del producto, la cantidad pedida y el nombre del producto,
nombre que es extraído mediante una subconsulta de la tabla PadronProductos;
cuando la cantidad sea superior o igual a 5000 ordenado por código.
DISTINCTROW PadronPedidos.Codigo, Pedidos.Cantidad, (SELECT DISTINCTROW
PadronProductos.Producto FROM PadronProductos WHERE PadronProductos.Codigo =
PadronPedidos.Codigo) AS NombreProducto FROM PadronPedidos WHERE
PadronPedidos.Cantidad > 5000 ORDER BY Pedidos.Codigo
CRUZADAS
permite la visualización de datos como si fuese una tabla u hoja de Excel en
filas y columnas, la sintaxis es la siguiente
agregada instrucción select PIVOT campo pivot IN valor1, valor 2, valorN WHERE
criterios GROUP BY criterio agrupamiento ORDER BY orden de datos
cláusula para crear consultas de referencia cruzada.
función agregada SQL que opera sobre los datos.
select: es una instrucción SELECT como las vistas anteriormente.
el campo o expresión que se requiere usar para crear cabecera de las columnas.
valor fijo uno usado para crear la cabecera de la columna.
un valor fijo dos usado para crear la cabecera de la columna.
un valor fijo N usado para crear la cabecera de la columna.
criterios de la cláusula WHERE.
agrupamiento: criterios para agrupar datos.
qué campo se debe ordenar.
crea una referencia de tablas cruzadas que muestra las ventas de producto
por mes para un período determinado.
(Cantidad) AS Ventas SELECT Empresa FROM Pedidos WHERE Fecha
BETWEEN #12/01/2012# AND #12/06/2014# GRUOP BY Empresa ORDER
BY Empresa PIVOT «Trimestre» &
DATE PART(«q»,Fecha) IN
(‘Trimestre1’, ‘Trimestre2’, ‘Trimestre3’, ‘Trimestre4’)
Cantidad FROM Pedidos WHERE Fecha BETWEEN #12/01/2012# AND #12/06/2014#
GRUOP BY Producto ORDER BY Producto PIVOT DATE PART(«m»,Fecha)
INTERNAS
permite la vinculación de tablas, combinando los registros siempre que haya un
campo en común y concordancia de datos, la sintaxis es:
Comparación Tabla2.campo2
SELECT.
que se vinculan.
tabla a vincular.
tabla a vincular.
Tabla1.Campo1: nombre de los campos que se combinan de la
tabla1.
Tabla1.Campo2: nombre de los campos que se combinan de la tabla2.
comparación: es un operador de comparación.
INNER JOIN, por ejemplo, con tablas de Departamentos y Empleados para
seleccionar todos los empleados de cada departamento, por el contrario para
seleccionar todos los departamentos, incluso los que no tienen empleados se
emplea LEFT JOIN o todos los empleados si alguno no está asignado a
departamentos se usa RIGTH JOIN.
varias cláusulas ON en una instrucción JOIN, la sintaxis sería:
FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.Campo1 Operador de comparación
Tabla2.Campo2 AND ON Tabla1.Campo2 Operador de comparación Tabla2.Campo2
OR ON Tabla1.Campo3 Operador de comparación Tabla2.Campo3
anidar la instrucción JOIN, la sintaxis es la siguiente:
Operador de comparación TablaX.CampoX)]
Operador de comparación Tabla3.Campo3)
Operador de comparación Tabla2.Campo2
JOIN se pueden anidar dentro de INNER JOIN, pero no al revés.
EXTERNAS
permite la vinculación de dos o más tablas o consultas independientes, si no se
indica lo contrario no se devuelven registros duplicados, para mostrar todos
los registros se debe usar el predicado ALL; en una operación de UNION se debe
tener el mismo número de campos sin importar el tamaño del campo y el tipo de
datos; la sintaxis es:
[ALL] TABLE consutaN
clave de SQL que permite crear una unión Externa.
instrucción SQL que permite la combinación de dos o más tablas
consulta a la primer tabla, es una consulta SELECT o nombre de una tabla.
consulta a la segunda tabla, es una consulta SELECT o nombre de una tabla.
consulta a la N tabla, es una consulta SELECT o nombre de una tabla.
combina una tabla existente con una instrucción SELECT
parámetros, se denominan a las consultas cuyas criterios de búsqueda son
definidos por parámetros que debe ingresar el usuario, al ejecutarse desde la
base de datos directamente el usuario debe ingresar cada parámetro solicitado,
si se ejecuta desde alguna aplicación se debe asignar mediante el valor de
dichos parámetros y luego ejecutarlas, la sintaxis es:
nombre2, tipo2, nombreN tipoN Consulta
parámetro
del parámetro
parámetro
del parámetro
parámetro
del parámetro
SELECT
establece una consulta de parámetros, donde los datos que debe introducir el
usuario en un cuadro de diálogo; la Fecha dela venta, si la venta fue realizada
en Cuenta Corriente y el importe de Venta mínima, luego de ello se realizará la
consulta que devolverá los clientes cuyas fecha de venta sean mayor a la
indicada en el parámetro, las ventas se realizaron o no en cuenta corriente y
el importe sea mayor al establecido por el usuario.
Desde:] DateTime, [Indique Si es Cuenta
Corriente:] String, [Indique Importe Venta Desde:] Currency; SELECT
Cliente FROM Ventas WHERE Fecha > [Indique Fecha
Desde:] AND CuentaCorriente = [Indique Si es Cuenta
Corriente:] AND Venta > [Indique Importe Venta Desde:]
TABLAS
de base de datos de Microsoft, para conectar con bases de datos Access, solo es
posible usar la siguiente instrucción para crear una base de dato propia de Access,
la sintaxis es la siguiente:
Tabla (campo1 tipo tamaño indice1, campo2 tipo tamaño indice2, campoN tipo
tamaño indiceN, indice multicampo)
instrucción SQL que permite crear tabla.
nombre del campo1 a crear.
nombre del campo2 a crear.
nombre del campoN a crear.
de datos del campo.
tamaño del campo, se debe ingresar solo en campos tipo texto o string.
cláusula CONSTRAINT que indica, respecto del campo1, el tipo de indice a crear,
es opcional.
cláusula CONSTRAINT que indica, respecto del campo2, el tipo de indice a crear,
es opcional.
cláusula CONSTRAINT que indica, respecto del campoN, el tipo de indice a crear,
es opcional.
multicampo: un indice multicampo es aquel que esta indexado por el contenido de
varios campos, es una cláusula CONSTRAINT opcional que define el tipo de indice
multicampo.
ejemplo crea una tabla cuyo nombre es Ventas con tres campos, Fecha, Cliente,
Venta, donde el primero es tipo DateTime, el segundo Text con un largo de 50,
estableciéndolo como indice primario y el tercero Currency.
Ventas (Fecha DATETIME, Cliente TEXT (50) CONSTRAINT IndicePrimario PRIMARY,
Venta CURRENCY)
ejemplo crea una tabla cuyo nombre es Ventas con tres campos, Fecha, Cliente,
Venta, donde el primero es tipo DateTime, el segundo Text con un largo de 50 y
el tercero Currency; crea un indice general formado por los tres campos y no
acepta valores repetidos.
Ventas (Fecha DATETIME, Cliente TEXT (50), Venta CURRENCY) CONSTRAINT
IndiceGeneral UNIQUE (Fecha, Cliente, Venta)
mencionó dicha cláusula, se puede decir que CONSTRAINT se utiliza para crear o
eliminar índices en las instrucciones ALTER TABLE Y CREATE TABLE, difieren las
sintaxis dependiendo si se trata de un índice único o multindice.
únicos la sintaxis es la que sigue:
Nombre {PRIMARY KEY UNIQUE REFERENCES tabla externa [(Campo
externo1), Campo externo2, Campo externoN]}
cláusula que sirve para crear índices.
del índice a crear.
es el nombre de la tabla que contienes el campos referenciado
es el campo1 de la tabla externa.
externo2: es el campo2 de la tabla externa.
externoN: es el campoN de la tabla externa.
Para índices
con campos múltiples la sintaxis es la que sigue:
CONSTRAINT
Nombre {PRIMARY KEY (Primario1, Primario2, PrimarioN) UNIQUE
(Unico1, Unico2, UnicoN) FOREING KEY (Ref1, Ref2, RefN) REFERENCES Tabla
externa [(Campo externo1), Campo externo2, Campo externoN]}
CONSTRAINT:
cláusula que sirve para crear índices.
Nombre: nombre
del índice a crear.
Primario1:
nombre campo1 forma el indice.
Primario2: nombre
campo2 forma el indice.
PrimarioN: nombre
campoN forma el indice.
Unico1: nombre
campo1 forma el indice de clave única.
Unico2: nombre
campo2 forma el indice de clave única.
UnicoN: nombre
campoN forma el indice de clave única.
Ref1: es el nombre del campo1 de la otra tabla
que forman el indice externo.
Ref1: es el nombre
del campo2 de la otra tabla que forman el indice externo.
Ref1: es el
nombre del campoN de la otra tabla que forman el indice externo.
Tabla externa:
es el nombre de la tabla que contienes el campos referenciados.
Campo
externo1: es el campo1 de la tabla externa especificado por Ref1.
Campo
externo2: es el campo2 de la tabla externa especificado por
Ref2.
Campo
externoN: es el campoN de la tabla externa especificado por RefN.
UNIQUE: genera
un índice de clave única, implicando que los registros de la tabla no pueden
estar duplicados en el campo indexado.
PRIMARY KEY:
genera un indice primario con el campo o campos especificados, los registros de
la clave principal deben ser únicos y no nulos, cada tabla puede
tener solo una clave única principal.
FOREING KEY:
Genera un índice externo tomando como valor del índice campos de otras tablas,
si la clave principal de la tabla externa consta de más de un campo , se debe
utilizar una definición de índice de múltiples campos, listando todos
los campos de referencia, el nombre de la tabla externa y los nombre de los
campos referenciados en dicha tabla externa, en el mimo orden que los campos
listados. Si los campos referenciados son clave principal de la tabla externa,
no se debe especificar los mismos, el motor Jet de base de datos predeterminará
el valor como si la clave principal de la tabla externa fueran los campos
referenciados.
CREATE
índices se usa con el motor de base de datos Jet de Microsoft, solo sirve para
crear bases de datos del mismo motor, se puede utilizar CREATE INDEX para crear
un pseudo índice sobre una tabla adjunta en una fuente de datos ODBC tal como
SQL Server que no tenga todavía un índice, no es necesario tener permiso o
acceso a un servidor remoto para ello, la base de datos remota no es afectada
por el pseudo índice, la sintaxis es la misma para las tablas adjuntas que para
las originales, siendo útil para crear un índice en una tabla que es solo
lectura debido a la falta de índice; la sintaxis es la siguiente
INDEX indice ON Tabla (campo1 [ASD DESC], campo2 [ASD DESC], campoN [ASD DESC])
[WITH {PRIMARY DISALLOW NULL IGNORE NULL}]
SQL que permite crear un pseudo índice.
contener valores duplicados el campo indexado.
índice a crear.
la tabla donde se creara el índice.
del campo1 de constituye el índice.
del campo2 de constituye el índice.
del campoN de constituye el índice.
orden ascendente de los valores de los campos, es opcional, ASC es
predeterminado.
orden descendente de los valores de los campos, es opcional.
un indice primario con el campo o campos especificados, los registros de la clave
principal deben ser únicos y no nulos, cada tabla puede tener solo
una clave única principal.
admite valores nulos en el índice.
excluye del índice los valores nulos incluidos en los campos que lo componen.
un indice llamado MyIndice en la tabla ventas usando los campos Fecha y Cliente
no permite que contenga valores repetidos ni nulos.
DISALLOW NULL
ALTER
permite la modificación del diseño de una tabla existente, pudiendo modificar
los campos e índices existentes, la sintaxis es la que sigue:
Tabla {ADD {COLUMN Tipo [(Tamaño)] [CONSTRAINT Indice]
CONSTRAINT Indice multicampo} DROP {COLUMN Campo CONSTRAINT
NombreIndice] }
SQL que permite modificar un índice.
la tabla donde se modificará el índice.
índice del campo a modificar o a eliminar.
Tipo: es el tipo de datos del campo.
Tamaño: es el tamaño del campo, se debe ingresar
solo en campos tipo texto o string.
Indice muticampto: nombre de índice multicampo
a modificar o a eliminar.
ADD COLUMN: se usa para añadir un nuevo campo a
la tabla, indicando nombre, tipo de campo y tamaño en caso de ser texto.
ADD: se usa para agregar un índice multicampo o
de un único campo.
DROP COLUMN: Se utiliza para borrar un campo,
solo se debe especificar el nombre del mismo.
eliminar un índice, se debe especificar el nombre del índice a continuación de
la palabra reservada CONSTRAINT.
ejemplo crea un campo tipo moneda.
Ventas ADD COLUMN ImporteTotal CURRENCY
se elimina el campo creado con la sentencia anterior.
Ventas DROP COLUMN ImporteTotal
ejemplo se agrega un índice externo a la tabla pedidos, este se basa en el
campo IDEmpleado y se refiere al campo IDEmpleado de la tabla Empleados, no es
necesario indicar el campo junto al nombre de la tabla en la cláusula
REFERENCES ya que IDEmpleado es la clave principal de la tabla Empleados.
Pedidos ADD CONSTRAINT RelacionPedidos FOREIGN KEY (IDEmpleado) REFERENCES
Empleados (IDEmpleado)
se elimina el índice de la tabla Pedidos
Pedidos DROP CONSTRAINT RelacionPedidos
DATOS EXTERNA CLAUSULA IN
permite accede a bases de datos externas, entre ellas dBase, Paradox o Btrieve,
permitiendo la conexión con una base de datos externa a la vez, se define base
de datos externa aquella que no es la activa, es recomendable para incrementar
el rendimiento y productividad adjuntar la base de dato externa a la actual y
trabajar con ella; es preciso agregar punto y coma (;) cuando la base de datos
no es Access además de encerar entre comillas simples, también se puede usar
DATABASE para referir a ellas por ejemplo:
‘[dBASE IV; DATABASE=C:DBVENTAS ]’
‘C:DBVENTAS’ ‘dBASE IV;’
requiere acceder a una base externa de Access se deber referenciar de la
siguiente forma:
Cliente LIKE ‘Day’
requiere acceder a una base externa de dBase III se deber referenciar de la
siguiente forma:
III;’ WHERE Client
acceder a una base externa de dBase IV se deber referenciar de la siguiente
forma:
IV;’ WHERE Cliente LIKE ‘Day’
Cuando se
requiere acceder a una base externa de Paradox 3.x se deber referenciar de la
siguiente forma:
‘Paradox 3.x;’ WHERE Cliente LIKE ‘Day’
requiere acceder a una base externa de Paradox 4.x se deber referenciar de la
siguiente forma:
‘Paradox 4.x;’ WHERE Cliente LIKE ‘Day’
requiere acceder a una base externa de Btrieve se deber referenciar de la
siguiente forma:
‘C:BTRIEVEVENTASFILE.DDF’ ‘Btrieve;’ WHERE Cliente LIKE ‘Day’
WITH OWNERACCESS OPTION
base de datos con permisos de seguridad para grupos de trabajo es posible usar
la cláusula WITH OWNERACCESS OPTION y con ello se omiten permisos de ejecución;
de esta forma el usuario actual adquiere los derechos de propietario cuando se está
ejecutando la consulta, la sintaxis es la siguiente:
WITH OWNERACCESS OPTION
expone un ejemplo de su uso, donde se deben obtener los datos de Fecha, Cliente
y Venta de la tabla Ventas omitiendo los permisos de ejecución con la cláusula
en estudio.
Fecha WITH OWNERACCESS OPTION
PROCEDURE
una consulta a la misma vez que se la ejecuta, en forma opcional se pueden definir
los parámetros de la misma, la sintaxis es la siguiente:
NombreConsulta Parametro1 tipo1, Paramentro2 tipo2, ParametroN tipoN;
ConsultaSQL
para crear una consulta a la vez que se ejecuta.
nombre con el que se guarda la consulta en la base de datos.
nombre del parametro1 de dicha consulta.
nombre del parametro2 de dicha consulta.
nombre del parametroN de dicha consulta.
de datos del parámetro.
consulta que se desea grabar y ejecutar.
ejemplo crea una consulta que se denominará ListadoClientes y a su vez la
ejecuta requiriendo listar los clientes únicos de la tabla Ventas, ordenados
por Cliente.
FROM Ventas ORDER BY Clientes
ejemplo crea y ejecuta la consulta denominada ResumenVentas incorporando dos parámetros
uno es la Fecha Desde y el otro Fecha Hasta; cuyos tipos de datos son DATATIME;
la expresión SQL establece que se extraiga datos del campo Fecha, Codigo e
Importe agregando un campo denominado Año que se obtiene del campo fecha de
envío estableciendo el formato para mostrar el año solamente todo esto se debe
extraer dela tabla Ventas cuando el campo Fecha este entre los parámetros
FechaDesde y FechaHasta; ordenando los datos por Fecha en forma descendente.
ResumenVentas FechaDesde DATETIME, FechaHasta DATETIME; SELECT DISTINCTROW
Fecha, Codigo, Importe, Format (FechaEnvio,»yyyy») AS Año FROM Ventas
WHERE Fecha BETWEEN FechaDesde AND FechaHasta ORDER BY Fecha DESC
El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar Excel con Access y muchos ejemplos más.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Continua en parte I Principales sentencias SQL
Continua en parte II Seleccionar Datos Comando SELECT
Continua en parte III Insertar, actualizar y eliminar Datos Comando INSERT, UPDATE DELETE
.