Formularios y listas desplegables (quinto día)

 Importar datos desde Excel (punto pendiente para repasarlo en clase)


Creación de formularios

Si necesito ver datos en pantalla, pero quiero poder hacer cambios o añadir información sin ir a la tabla en sí, puedo crear un formulario con los datos "escogidos" de todas las tablas que tenga relacionadas. Al contrario que los informes, que sólo nos permitían mostrar, con mejor aspecto, colores u otra distribución de los campos (dónde aparece cada dato, para dejarlo a nuestro gusto), los formularios sí permiten hacer cambios.


Para crear un formulario o informe, partimos del menú "Crear", podemos usar el Asistente (que es cómodo), pero se recomienda ir a "Diseño", para invocar las tablas que queramos usar, eligiendo entonces los datos. Botón derecho, clico en "Mostrar Tabla" y ya puedo llevar el dato que necesito a la parte inferior.


Informe que pueda necesitar: si es el del zoo,podría querer sacar un "listado" de todos los animales, con su foto y el cuidador que tienen asignado. Es lo mismo que una consulta, pero con los datos colocados donde tú le pidas, dentro de recuadros que son como los cuadros de texto que usábamos en Word.


Pág.78 , tiene un error importante de diseño. Deberíamos tener 3 tablas:


-Usuarios/Alumnos (los que cogen libros)


-Libros: los datos de cada libro en particular


-Préstamos: donde figure el código del libro y el código del alumno que lo pidió prestado (el libro NO la puso, sólo aparece la tabla de alumnos, con un libro que haya cogido prestado, lo que implica que un alumno sólo podría tener un libro en ese momento y que, de querer un segundo libro, tendremos que borrar el que figuraba y poner sólo el nuevo)


Resolución del ejercicio de la Pág.79, donde se nos propone una tabla, donde sólo tenemos que hacer consultas para "filtrar" datos, en base a las condiciones propuestas


TRUCO: Para que me deje poner decimales en las notas, el tipo de dato deber ser "Número", cambiando lo de "entero" por "decimal" (si no funciona, elige "doble", en vez de "Decimal"), con los 2 decimales (salvo que lo dejes en automático)


Para poner la máscara de entrada, debo tener en cuenta que Access me pide que especifique la "plantilla de entrada", por ejemplo, para conseguir el curso 5-IA (número , guión, letra, letra), tengo que indicar esto:  #-??          


# (almohadilla, que consigo con AltGr+3) representa sólo los números (no letras)


? (mayúsc + tecla que está a la derecha del CERO) , permite sólo letras (no nº)


Tipos de Criterios:


1º Trabajando con números:

>500 (500 no, 500,001 ya lo contaría)

>=500 (desde 500 inclusive, en adelante)


Entre 500 y 1000 (abarca todo lo comprendido entre 500 y 1000,no 1000,01)


También se podría poner como:

>=500 y <=1000 (más largo,hace lo mismo)


2º Si trabajamos con Letras (apellidos):

>AL (me buscaría todo lo que comience por AL, como Alonso, Alvarez (sin tilde, ojo)

Entre AL y ROS, debería comprender todos los apellidos que comienzan por AL (inclusive) y las letras que sigan, hasta llegar a todas las variaciones de ROS (no ROT, ROU....)


Pág. 80, soluciones:


1ª Alumnos con apellido que comienza por A  (criterio--> "<B" )    D

o         >A y <B   >=D y <E

(NOTA: las comillas las pone Access de forma automática, al hacer clic en otra casilla, si le das a ENTER, puede salir un error, porque "él" espera que tú le pongas las comillas a las letras)


2º Apellidos entre "E" y "Z"

           Exxxxxx  y Zxxxxxx


Dos posibilidades:

1º   ">=E" (porque Z es la última letra)

2º Lo correcto--> Entre "E" y "Z"

(ojo, coge desde E y lo que siga, hasta llegar a la Z, pero no abarca los apellidos ZA, ZE, ZI....)


Entre E y Z, quiere decir DESDE la E, hasta la Z (como letra "suelta")


Entre "E" y "ZZ", abarca DESDE la E, hasta la Z inicial del apellido y la Z final (p.ej. Zinedin, Zidane)


3º Nos pide consulta por Curso, si le pongo 5-IA, me busca sólo los alumnos que pertenezcan a esa clase (ignora a los de 5-IB)


Criterio --->  [¿Qué clase buscas?]

(lo importante son los corchetes, lo que pongas a continuación, es el mensaje que verás, escribes 5-IA y pulsas ENTER,para que Access te muestre los alumnos de esa clase en particular)


4º Notas de la 1ª evaluación (el orden deberá ser ascendente y con el nombre de alumno)

No escribo nada, sólo elijo sobre la casilla del criterio, el desplagable que pone "Orden", para elegir "Ascendente"


5º En Criterio, Evaluación 2, >7

(encontrará 6 personas)


6º Media de 5IB (se hace con un campo calculado, poniendo la expresión ([Evaluación 1] + [Evaluación 2] +[Evaluación 3])/3


7º Criterio para evaluación 1 y 2, la nota debe ser menor de 4 o segundo criterio (fila siguiente), que hayan sacado un 7 en la tercera evaluación


8º Criterio para la primera evaluación, que la nota sea ---->    <5


9º Alumnos que promocionan: sólo deben aparecer, aquellos que tengan >=5 en las 3 evaluaciones (criterio es >=5  , en cada una de las evaluaciones)


Pág.81 , claves para resolver los criterios:


*Si nos piden que filtremos por Windows 95 o 98, podríamos usar:  Windows 9x (9?) , ya que la ? representaría un caracter (si nos diese problemas, prueba con # , recuerda que en la máscara de entrada, # sólo aceptaba números y ? , sólo aceptaba letras)


Win* = Win y lo que siga

* = comodín sin limit.

de tamaño o tipo de inform.


?o*ol

# = sólo números

? = sólo letras


<  >    <=   >=   <>

<>W95 o <> Windows*

(o más simple-->  <>W*)


Tipo no relacional:

<> Relacional `


C1--> fabricante B*

distribuidor, S*


C2 --> precio >60.000

o Sistema = "MS-DOS"

 

C3 --> Elijo Ms-Dos 

 o Mac (probar con "y")

(pág. 84)



*****************************************

Campos Calculados (resolución del punto 6, que teníamos pendiente)


Para poder crear un "campo calculado" y que Access me permita hacer cálculos (de una fo[rma "similar" a Excel), tengo que tener un campo en la tabla que me interese, que sea de tipo "Calculado". Al momento, veré una ventana nueva, llamada "Generador de Expresiones". 

Ahí es donde tengo que escribir los campos que deseo sumar, para que quede así:

(Evaluación1+Evaluación2+Evaluación3)/3

No necesitas escribir los corchetes, Access los completa, de la misma forma que te sugiere el nombre del campo cuando lo escribes

*************************************

Creación de listas desplegables en Access

Partiendo de una tabla que tenga los datos que me gustaría poner en uno de los campos (p.ej. Población), tendría que añadir, en la tabla donde lo necesite, un campo de tipo "Asistente para búsqueda" (el último de la lista). Access me facilita este trabajo, pudiendo crear la lista en el momento y él me hace esa tabla (que me dejará actualizar en cualquier momento, ya que figura como una tabla "a mayores", con un único "campo" -Población- que puede ser o no, campo clave)

Permitir varios valores de la lista, podría tener sentido si quisiera que esa factura (que va en una única línea), incluyese más de un artículo (partiendo de un desplegable, donde pudiera elegir diferentes artículos).

La forma más simple, sin entrar en SQL, sería tener una tabla de pedidos, donde cada línea tendría los datos del cliente (código de cliente, nº de factura...), eligiendo un producto en cada línea, por lo que el cód.de factura NO puede ser un campo clave (no me dejaría repetirlo).

Si cojo el ejercicio de "Notas Ana" y cambio el curso por COD.CLIENTE y los alumnos por PRODUCTOS COMPRADOS, debería poder tener diferentes artículos asociados a una misma factura, siempre que no usemos los campos clave (porque necesito que me permita poder repetir el número de la factura)

Si necesitase tener dos tablas iguales (p.ej. asistencias de octubre y el siguiente mes, queremos una tabla igual, pero que NO contenga los datos de octubre), sólo tendría que ponerme sobre la tabla, botón derecho copiar y acto seguido, botón derecho, pegar (eligiendo "estructura" , no la opción de "datos y estructura", que me haría una copia idéntica y NO es lo que yo necesito).

Si eligiese copiar "estructura y datos", haciendo clic en otra tabla(Localidades) de entrada, NO une dos tablas, lo que sí hace es crear una copia de la tabla que tú has copiado, pero con el nombre que elijas (esto es ideal para usar filtros, si no quieres usar consultas y criterios).

Si yo tuviese una tabla con las ventas de octubre y otra, idéntica en estructura, pero con datos noviembre, podría interesarme el "unir" ambas tablas , para tener una, que contenga los datos de los dos meses (para no tener que consultarlos por separado)



**Solucionado el tema de "Anexar Datos" , para llevar datos de una tabla a otra*

Para que Access me permita unir el contenidos de 2 tablas, deben ser iguales en su estructura (los campos tienen que ser literalmente los mismos, aunque la tabla esté vacía, sin alumnos).

Por ello, deberíamos hacer una copia de los alumnos (5-IA y 5-IB), poniendo el nombre deseado (6-IA) y haciendo los cambios oportunos (añadimos los nuevos alumnos, borrando los anteriores, para evitar confusiones). 

Una vez hecho esto, sólo debes copiar la tabla de Sexto Curso sobre la de "Quinto Curso", escribiendo literalmente su nombre (para que Access "sepa" que es la tabla a la que DEBE COPIAR los datos).

En cuanto elijas "Pegar", aparecerá la lista de opciones , elige la nº 3, "ANEXAR Datos a la tabla existente"



Preguntas típicas de un examen:

¿Cómo elegirías el campo que debe ser clave en una tabla de Access?

Partiendo del tipo de ejercicio, debo buscar un dato que sepa que no debe repetirse, para evitar duplicados (un cliente NO debería tener 2 fichas, un proveedor NO debe estar repetido ya que si busco en una consulta, no saldrían todas las facturas asociadas a esa persona o empresa concreta) y una factura tampoco debería estar duplicada (porque los artículos y su valor, podrían no ser los mismos).

Para el ejercicio de "Notas", quiero crear un formulario, para poder añadir nuevos alumnos, SIN tener que ir siempre a las tablas (así ahorras tiempo y ves menos datos en la pantalla, con menos fatiga para tus ojos). Puedes crearlo desde el Asistente para Formularios, para elegir la disposición de los campos (es más fácil que yendo a "Diseño")



Miscelánea (off topic, resumen de temas mencionados en los descansos, sobre informática y contenidos en internet):


Las VPN como medio para poder conectarnos "desde otro país" (el video no tiene desperdicio, explica cómo ahorrar a la hora de elegir billete de avión, porque según desde dónde lo hagamos, el precio cambia MUCHO):


Para ver opiniones de cine o series, una de las referencias es IMDB.COM , pero en castellano, tenéis esta:

(si os gustan las series diferentes, con un enfoque humano y cercano, tocando el tema hospitales)

Comentarios

Entradas populares de este blog

Funciones financieras en Excel (PAGO, PAGOINT y otras)

Enlaces interesantes para conocer mejor tu hardware y luego instalar Windows (pensado para curso IFCT0210)

El peligro de los activadores (para Office y Windows) , qué debes conocer