Problemas al crear consultas de actualización

Os va a parecer muy básico y así será supongo pero es que estoy haciendo un curso online de Access 2007 nivel medio, no encuentro en el temario como hacer los ejercicios en los que tengo duda y el tutor me dice que debo resolverlos con lo que figura en el temario.
La cuestión es que he resuelto, tras casi todo el día de ayer consultando webs, las cuestiones de consulta de selección pero con las de actualización todo lo que pruebo me da error.
Son dos ejercicios:
-En una tabla llamada "Datos laborales" que he creado dentro de una base de datos crear una consulta de actualización en el que en el campo "Disponible" si está marcado 1 sea reemplazado si en el campo Desempleado pone también un 1.
-Literalmente este ejercicio pone: "Cree una consulta de actualización reemplace el campo Hijos con 1 si en el campo Estado Civil pone “Otros”.
Tras mucho navegar tanto en la web de Access de Microsoft como en otras encuentro ejemplos de sumas pero ninguna en la que se reemplacen los datos de una columna si se cumplen unos criterios dados.

3 respuestas

Respuesta
2

Por si te sirve

¿Y cómo has hecho eso?

Crea la consulta con la tabla 2 y en la parte gris de la derecha de donde aparece la tabla2 pulsa con el botón derecho del ratón. En la ventana que aparece selecciona

Tal y como las he hecho no me aparece lo que a ti así que voy a hacerlas de nuevo desde 0 porque en algún lado (quizás di a Ejecutar en un momento que no debía) he fallado.

Que demonios, llevo dos noches acostándome a las 4 de la mañana con un resfriado de narices así que yo esto lo resuelvo (con vuestra inestimable ayuda) si o si.

Pues ya ves que es sencillo.

Respuesta
1
"UPDATE Tabla SET Campo = valor WHERE Campo1 = ValorComprobacion"

Te recomendaría uno de los mejores (nunca se puede decir el mejor :-P) manual de SQL:

[url=http://www.mvp-access.es/softjaen/manuales/Sql/index.htm ] Manual SQL SoftJaen [/url]

Sin duda debe serlo pero tengo que entregar el ejercicio práctico del módulo 3 para mañana antes de las 10 de la mañana y dificil que en 18 horas pueda aprender SQL cuando se tardan semanas, meses o años.

A ver tras muchas vueltas y siguiendo varios manuales en el ejercicio de la tabla de datos laborales el resultado si lo veo en SQL es este:

UPDATE [Datos laborales] SET [Datos laborales].Disponible = 0
WHERE ((([Datos laborales].Disponible)=1) AND (([Datos laborales].Desempleado)=1));

Pero debe estar mal porque ni se ha modificado la base de datos ni se ha encontrado a un empleado que esté en situación de desempleado y disponible. Y en la base de datos lo hay, uno.

En el segundo ejercicio lo mismo:

UPDATE [Datos Personales] SET [Datos Personales].Hijos = 1
WHERE ((([Datos Personales].[Estado Civil])="Otros"));

Ningún empleado cuyo estado civil sea "Otros" ha pasado a tener 1 en el campo "Hijos".

Y creo que lo he hecho como se debe de hacer, así:

Nueva consulta, he tomado la tabla Datos Personales, seleccionado 'Hijos' y 'Estado civil'. Bajo estado civil : "otros" he ejecutado y correcto.
Después he pasado de selección a consulta de actualización y bajo el campo 'Hijos' en la columna 'cambiar a:' un valor ('1' en este caso concreto)
He vuelto a ejecutar y nada, ningún empleado que estuviese en "Otras" ha pasado a tener un 1 en Hijos.

Agradecería una respuesta más concreta si es posible porque yo esto lo tengo que entregar mañana por la mañana si o si.

Gracias un saludo.

Valora esta respuesta

El problema es que aprobarás el ejercicio pero no vas a aprender SQL... te diría que usaras el asistente que genera consultas ...

UPDATE [Datos laborales] SET Disponible = 0 WHERE Disponible = 1 AND Desempleado = 1;

Todo eso suponiendo que el campo disponible y el campo desempleado sean numéricos.

Llevas toda la razón claro pero yo no aspiro a trabajar con Access. Era el curso que había disponible, ya tenía el de Excel que es una delicia comparado con Access por lo que veo o por lo menos para un aprendiz como yo, lo cogí y ya está. Necesito ampliar mi curriculum así que cojo lo que me dan me guste o no.

Demasiado que ayer estuve desde las 6 de la tarde hasta las 4 de la mañana repasando en texto, viendo tutoriales en Youtube, consultando la página Access de Microsoft, etc. Creo que he aprendido más de este punto al menos que en las dos seemanas que llevo de curso sin ningún problema.

Bueno gracias, un saludo.

Un placer ... ;-)

Perdón una pregunta más porque no encuentro qué función usar en una consulta de totales. Consulta que en mi curso viene como "totalización", no como consulta de totales.

Se perfectamente el procedimiento para hacerla, solo qué no encuentro que función debo usar para consultar esto: cuántos empleados tienen titulación de FP, EGB, Diplomados, etc.

Como en mi curso no vienen esas funciones las he buscado en la página de soporte de Access de Microsoft:

https://support.office.com/es-es/article/Mostrar-totales-de-columna-en-una-hoja-de-datos-8f1f89c4-7f86-4113-a836-291ac3ea446e 

No es SUMA, no es PROMEDIO, no es CUENTA ni MAXIMO, MÍNIMO, DesEs (esta si me aparece en el curso) ni suma ni VARIANZA...¿hay más que no estén en la página de soporte y con la que pueda ver crear una consulta en la columna "Nivel académico" y saber cuántos tienen EGB, FP, elementales, Bachillerato o Diplomado?.

Pero eso que enlazas es excel ...

Créate una consulta usando el asistente de Access ... y déjate guiar ... una vez que la tengas la abres en modo SQL y ... se te abrirá un mundo de posibilidades xD

Que no que es Access, copio y pego: "Cree una consulta de totalización por el campo Nivel académico. Compruebe cuantos trabajadores son de FP, cuantos de EGB"

Excel no tiene consultas de totales.

Vale, si lo es ...

En la pestaña crear -> una consulta -> con el asistente -> ... y déjate guiar

Ojalá hubiera un asistente para crear consultas totales pero va a ser que no.

Ya lo creo que lo hay ... consultas sencillas -> consulta resumen

Consultas sencillas como sabes no te hace una consulta de totales donde encima dentro de la misma columna (Nivel académico) hay que dividir las filas por titulación y sumar cuantos tienen el valor EGB, cuantos el "BUP", etc.

Aquí ando mirando videos en youtuve de subtotales que creo es lo que debo hacer. El problema es que todos usan más de una columna.

Dirás lo que quieras pero Access de primeras es como darte con las murallas de Ávila en la cara, muy desagradable.

Pues eso te lo hace el asistente, ... le dices que te haga la cuenta de un campo (el id por ejemplo) y lo que hará es agrupar por los valores que tengan el resto de campos de la consulta.

Por cierto, no soy de Ávila, pero paso por sus murallas unas cuantas veces al año, y ... merecen la pena, sobre todo cuando vienes de Salamanca y llegas de noche y están iluminadas.

Y obviamente ya no hablo de los chuletones que se comen en el mesón que hay en la entrada desde el que se ven las murallas.

Con la tabla productos de Nordwin:

SELECT Count(IdProducto) AS CuentaDeIdProducto, IdProveedor
FROM Productos
GROUP BY IdProveedor;

Y gráficamente:

¿Tan fácil era... cuatro o cinco golpes de ratón?, flipante. ¿Y por qué no hay ni un solo tutorial que explique estas cosas más fácilmente?.

Bueno en cualquier caso ese ejercicio está solucionado, je je. Gracias hombre.

Lo de las murallas de Ávila era una analogía entre dos cosas muy duras con las que si te encuentras no hay forma de pasarlas. Podría haber escrito el muro de las lamentaciones y hasta podría haber sido más acertado porque no tienes idea de lo mucho que he lamentado apuntarme a este curso, je je. Bueno pero se aprenden cosas, es entretenido ;).

Muchas gracias hombre, ya tengo los dos ejercicios que no tuve que consultar aquí (dos consultas de selección una por apellidos y otra por "nacidos entre los años tal a tal") más este de consulta de totales 3 de 5 ejercicios correctos.

Como ya le dije a mi tutor por e-mail que en las dos consultas de actualización cuando le doy a ejecutar no se modifica la base de datos ni me salta ningún error, aunque me los de por erróneos tendré un 6 (3 de 5 preguntas) que sumado al 9 del test de teoría me dará un seis o un siete.

Lo malo es que todo depende del ejercicio final práctico que da el 50% de la nota final del curso, así que ya puedo irme buscando un tutorial básico de Access en formato PDF y asimilarlo para la prueba final.

Bueno Jesús pues muchas gracias y ya pasaré algún día a probar chuletones y mirar a las mocitas abulenses con su grácil caminar :)

Hazte este curso, uno de los mejores:

[url=http://www.mvp-access.com/foro/curso-de-access-y-vba_forum19_page1.html] Curso Eduardo Olaz[/url]

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas