Download sistema – cuentas de cobro
Transcript
SENA REGIONAL DISTRITO CAPITAL 08/08/2017 CGMLTI CURSO: BASES DE DATOS EN ACCESS AVANZADO URANIO 10 Instr:Ing-MPosseC. 1 SQL – BASES DE DATOS – ACCESS AVANZADO – 502 Lengua de manipulación de datos del SQL (DML) El SQL (lenguaje de interrogación estructurado) es un sintaxis para ejecutar preguntas. Pero la lengua del SQL también incluye un sintaxis para poner al día, para insertar, y para suprimir expedientes. Éstos preguntan y ponen al día comandos junto forman la pieza de la lengua de manipulación de datos (DML) de SQL: SELECTO - datos de los extractos de una tabla de la base de datos ACTUALIZACIÓN - datos de las actualizaciones en una tabla de la base de datos CANCELACIÓN - datos de las cancelaciones de una tabla de la base de datos RELLENO EN - nuevos datos de los rellenos en una tabla de la base de datos -------------------------------------------------------------------------------Idioma de definición de datos del SQL (DDL) La pieza del idioma de definición de datos (DDL) de SQL permite que suprimes las tablas de la base de datos sean creadas o. Podemos también definir los índices (llaves), especificar acoplamientos entre las tablas, e imponer apremios entre las tablas de la base de datos. Las declaraciones más importantes de DDL del SQL son: CREAR LA TABLA - crea una tabla nueva de la base de datos ALTERAR LA TABLA - altera (los cambios) una tabla de la base de datos TABLA de la GOTA - cancelaciones una tabla de la base de datos CREAR EL ÍNDICE - crea un índice (llave de búsqueda) ÍNDICE de la GOTA - cancelaciones un índice SISTEMA – CUENTAS DE COBRO Para el desarrollo de las respectivas consultas; vamos a convertir las hojas 1 y 2, del archivo cobros.xls. Las tablas deben tener los siguientes nombres: SENA REGIONAL DISTRITO CAPITAL 08/08/2017 CGMLTI CURSO: BASES DE DATOS EN ACCESS AVANZADO URANIO 10 Instr:Ing-MPosseC. 2 Bd_cuentas = 200 registros Bd_pagos = 15 registros Para ello vamos a realizar una serie de consultas en vista de diseño, utilizando el lenguaje SQL. 1. Consultar pagos, digitando en pantalla en número de la cuenta de cobro; usted debe tener en cuenta las siguientes instrucciones en SQL: PARAMETERS CUENTA IEEEDouble; SELECT bd_cobros.CUENTA, bd_cobros.FECHA, bd_pagos.PAGO AS Número_pago, bd_pagos.FECHA AS Fecha_de_Pago, bd_pagos.VALORP as Valor_de_pago, bd_cobros.VALOR, bd_cobros.ACUMULADO, bd_cobros.SALDO FROM bd_cobros INNER JOIN bd_pagos ON bd_cobros.CUENTA=bd_pagos.CUENTA WHERE bd_pagos.CUENTA=CUENTA ORDER BY bd_pagos.PAGO, bd_pagos.FECHA; FICHA TECNICA Consultas de Combinación entre tablas Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común. Su sintaxis es: SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2. En donde: tb1, tb2 Son los nombres de las tablas desde las que se combinan los registros. campo1, campo2 Son los nombres de los campos que se combinan. Si no son numéricos, los campos deben ser del mismo tipo de datos y contener el mismo tipo de datos, pero no tienen que tener el mismo nombre. comp Es cualquier operador de comparación relacional: =, <,<>, <=, =>, ó >. SENA REGIONAL DISTRITO CAPITAL 08/08/2017 CGMLTI URANIO 10 Instr:Ing-MPosseC. CURSO: BASES DE DATOS EN ACCESS AVANZADO 3 2. Generación de una tabla a partir de una consulta, en este caso vamos a incluir en una nueva consulta con el nombre bd_consulta_relación_cuenta_pagos_table, incluyendo la instrucción después del select con su selección de campos la instrucción: PARAMETERS CUENTA IEEEDouble; SELECT bd_cobros.CUENTA, bd_cobros.FECHA, bd_pagos.PAGO AS Número_pago, bd_pagos.FECHA AS Fecha_de_Pago, bd_pagos.VALORP AS Valor_de_pago, bd_cobros.VALOR, bd_cobros.ACUMULADO, bd_cobros.SALDO INTO bd_consulta_relación_cuenta_pagos_table FROM bd_cobros INNER JOIN bd_pagos ON bd_cobros.CUENTA=bd_pagos.CUENTA WHERE bd_pagos.CUENTA=CUENTA ORDER BY bd_pagos.PAGO, bd_pagos.FECHA; 3. Bien, ahora vamos a realizar un consolidado por el número de cuenta 45321, con el siguiente código SQL: SELECT bd_consulta_relación_cuenta_pagos_table.CUENTA AS Cuenta, sum(bd_consulta_relación_cuenta_pagos_table.Valor_de_pago) AS Total_Pagos FROM bd_consulta_relación_cuenta_pagos_table GROUP BY bd_consulta_relación_cuenta_pagos_table.CUENTA; La consulta se llama: consulta_consolidado_cuenta 4. Generar un formulario con las siguientes especificaciones técnicas: 4.1. Crear en el subformulario de pagos después del pie de página un cuadro de texto con el nombre acumulado. Este cuadro de texto debe ser el contador de pagos. Utilice el origen de control de datos con la siguiente instrucción: =Suma([VALORP]) 4.2. En el evento al recibir el enfoque, de las propiedades del cuadro de texto, tenga en cuenta la siguiente instrucción VBA en el generador de código: Private Sub Texto4_GotFocus() SENA REGIONAL DISTRITO CAPITAL 08/08/2017 CGMLTI CURSO: BASES DE DATOS EN ACCESS AVANZADO URANIO 10 Instr:Ing-MPosseC. 4 'Actualiza acumulado cuentas Form_actualizar_bd_cobros.ACUMULADO = Texto4 End Sub 4.3. En el evento al entrar del atributo ACUMULADO del formulario principal, programe la siguiente instrucción en VBA: Private Sub ACUMULADO_Enter() SALDO = VALOR - ACUMULADO End Sub 4.4. Verifique la actualización de los datos, de las tablas/entidades originales. 4.5. Configure correctamente la configuración del formulario, teniendo en cuenta que no debe activar: BARRAS DE DESPLAZAMIENTO, SELECTORES DE REGISTRO, BOTONES DE DESPLAZAMIENTO, SEPARADORES DE REGISTRO. Los atributos CUENTA, FECHA, VALOR, ACUMULADO, SALDO, PAGO, VALORP y EL CONTADOR deben estar seguros. EL MODELO DEBE SEGUIR EL ESTILO INDUSTRIAL. SENA REGIONAL DISTRITO CAPITAL 08/08/2017 4.6. CGMLTI URANIO 10 Instr:Ing-MPosseC. CURSO: BASES DE DATOS EN ACCESS AVANZADO 5 Generación de desplazamiento de registros con RECORDSET. Código fuente en VBA para el formulario principal, SIMBOLOGIA GENERAL: Recorset es el control de registro de una entidad. Utilice para cada botón el evento al hacer CLICK. Cada botón tiene un nombre consecutivo como comando12, comando13, comandos. CODIGO FUENTE VBA Private Sub Comando12_Click() 'Primer registro Recordset.MoveFirst End Sub Private Sub Comando13_Click() 'Ir al anterior If Recordset.BOF() Then MsgBox ("Primer Registro") Else Recordset.MovePrevious End If End Sub Private Sub Comando14_Click() 'Ir al siguiente If Recordset.EOF() Then MsgBox ("Ultimo Registro") Else SENA REGIONAL DISTRITO CAPITAL 08/08/2017 CGMLTI URANIO 10 Instr:Ing-MPosseC. Recordset.MoveNext End If End Sub Private Sub Comando15_Click() 'Ultimo registro Recordset.Movelast End Sub CURSO: BASES DE DATOS EN ACCESS AVANZADO 6