none
Combinar dos campos de búsqueda en otras tablas, en una misma tabla RRS feed

  • Pregunta

  • Hola,

    Con microsoft access 2010. 

    Para facilitar rellenar un pedido de tienda, estoy creando una tabla con un campo "categoría de producto" que muestra una lista desplegable con las categorías de producto existentes en la tabla correspondiente. Uso:

    SELECT [Categorias].[Categoría] FROM Categorias ORDER BY [Categoría]; 

    En la misma acción de hacer el pedido, también escojo el artículo concreto que también sale de una tabla de artículos. Lógicamente en dicha tabla de artículos cada uno está asignado a una categoría de esas mismas. Uso:

    SELECT Articulos.Código, Articulos.Código FROM Articulos ORDER BY Articulos.Código; 

    (lo ha hecho el asistente, no sé porqué los corchetes y tal son diferentes).

    El caso es que me gustaría que al elegir el código de producto, SÓLO apareciesen los códigos de la tabla de productos que corresponden a la categoría de producto que acabo de escoger en el campo anterior. ¿Cómo hago esto? ¿Si lo monto en una tabla funcionará directamente en un formulario?

    Muchas gracias.

    domingo, 4 de septiembre de 2011 12:04

Respuestas

Todas las respuestas

  • Hola!

     

    no aportas suficientes datos para una respuesta detallada pero solo tienes que poner como criterio que la categoría sea la que quieres.

    SELECT Articulos.Código, Articulos.Código

    FROM Articulos

    WHERE Categoría = loquesea

    ORDER BY Articulos.Código


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    • Propuesto como respuesta José Mª Fueyo lunes, 5 de septiembre de 2011 8:56
    domingo, 4 de septiembre de 2011 15:00
  • Gracias de nuevo!

    Qué info necesitas?

    El tema es que en

    WHERE Categoría = loquesea 

    ese lo que sea es la categoría que acabas de meter justo en el campo de al lado... puedo poner Where categoria = [categoría] y ya está?

    De todos modos no me deja editar la función directamente sino que tengo que ir a personalizarla como si fuese una consulta, y ahí no sé donde meter el where... 

    :-(

    domingo, 4 de septiembre de 2011 15:07
  • Ya he probado esto pero no va:

    SELECT Articulos.Código, Articulos.Código FROM Articulos WHERE Articulos.Categoría=Categoría ORDER BY Articulos.Código; 

    (muestra todos los productos, no los de la categoría)

    y esto

    SELECT Articulos.Código, Articulos.Código FROM Articulos WHERE Categoría=Categoría ORDER BY Articulos.Código; 

    (idem)

    y esto

    SELECT Articulos.Código, Articulos.Código FROM Articulos WHERE Articulos.Categoría=Transacción:compra, productos.Categoría ORDER BY Articulos.Código; 

    (error de sintaxis)

    SOS!

    domingo, 4 de septiembre de 2011 15:18
  • No puedes poner SELECT Articulos.Código, Articulos.Código FROM Articulos WHERE Categoría=Categoría ORDER BY Articulos.Código porque Access no lo entiende, habrás de poner una referencia a la categoría que hayas seleccionado en el formulario, algo como forms("ElFormulario").Categoría

    Te sugiero que analices el ejemplo de Access, Neptuno o Northwind según la versión, tiene muchas soluciones a problemas tan simples como ese.


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    domingo, 4 de septiembre de 2011 16:09
  • Ya lo intento ya... pero nortwind no se puede ver en modo diseño y la ayuda de Access nunca ayuda... pero muchas gracias.
    domingo, 4 de septiembre de 2011 16:34
  • ¿Qué me dices?, yo lo tengo abierto en modo diseño en este momento :-O


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    domingo, 4 de septiembre de 2011 16:50
  • A mi no me permite ver el diseño de nada... de hecho hay varios templates en plan "limpiamos el template de datos y usas esto" pero no me permite cambios. :-(
    domingo, 4 de septiembre de 2011 16:56
  • Ahora que mencionas la plantilla, creo recordar que cuando lo instalé, hace cuatro o cinco años, cree la base de datos utiliznado la plantilla descargada.


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    domingo, 4 de septiembre de 2011 17:39
  • No sé... yo las descargo también pero nada.

    Por cierto, conoces alguna web de ayuda o algo para aprender más sobre la función SELECT y cómo escribir sobre ella? La ayuda de Access oficial no es lo suficientemente extensa y no me resuelve el problema... no sé cómo invocar una celda de la misma fila - tabla. :-(

    Muchas gracias por toda la ayuda.

    domingo, 4 de septiembre de 2011 17:42
  • En Access no hay filas ni celdas, así que no se a que te refieres.

    En cuanto a prender SQL, aquí tienes el mejor manual en español que conozco http://www.mvp-access.es/softjaen/manuales/sql/index.htm


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    domingo, 4 de septiembre de 2011 18:08
  • Es una manera de hablar... sorry!

    En realidad con lo que estoy perdido es con hacer funcionar dos cuadros combinados en cascada. He encontrado incluso una demo tuya que intento replicar y no hay manera de que funcione. El WHERE no pilla lo que tiene que pillar. :-(

    domingo, 4 de septiembre de 2011 18:12
  • Te he respondido en http://www.mvp-access.com/foro/forum_posts.asp?TID=70227&PID=418868#418868
    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    • Marcado como respuesta Uriel Almendra viernes, 15 de marzo de 2013 15:40
    domingo, 4 de septiembre de 2011 19:21