Necesito ayuda con una unión con Like usando el programa Microsoft Access

Hola selu123 te molesto porque no puedo encontrar la solución tengo una consulta de union que funciona bien pero me gustaría usar Like como una que uso y que me me es util. Aca abajo pongo primero la que quiero hacer funcionar
SELECT [AltaProductos].[IDProducto], [AltaProductos].[Producto] FROM [AltaProductos] ORDER BY [Producto] UNION select 0, '*Todos los Productos*' from AltaProductos
ORDER BY producto; 
Ahora bien me gustaría ponerle Like como la siguiente consulta claro que esta esta la uso por VBA y ademas porque es un cuadro de texto
DoCmd.ApplyFilter "", "[Producto] Like'" & Me.BuscarCon & "*'"
Espero que me puedas ayudar te estaré muy agradecido
Saludos Miguel

1 Respuesta

Respuesta
1
Creo que hay algunos fallos en la consulta que intentas hacer. Verás, en primer lugar, para poder utilizar "UNION", debes emplear dos consultas distintas que porporcionen los mismos campos como resultado:
(Consulta1) UNION (Consulta2)
Los campos que devuelva Consulta1 deben ser los mismos que devuelva Consulta2
Si lo que tu quieres es hacer es filtrar los resultados de una consulta con LIKE, pondrías algo así:
SELECT [AltaProductos].[IDProducto], [AltaProductos].[Producto]
FROM [AltaProductos]
ORDER BY [Producto]
WHERE ([AltaProductos].[Producto] Like '*Todos los Productos*');
Muchísimas gracias por responder. Tal vez no he hecho adecuadamente la pregunta o mejor dicho el planteo de lo que tengo y lo que quiero agregar. Tengo 2 subformularios dentro de uno principal. Cada Subformulario tiene el origen a las típicas llamadas a las tablas (Entradas y DetallesEntradas) y (Salidas y DetallesVentas) agregando una expresión del tipo Expr1: [forms]![frmEntSalStock]![IDProducto]. Un subformulario es de Entradas y el otro de Ventas.
El formulario principal tiene los dos formularios con un cuadro combinado con la consulta que te puse antes, cuando abro el form principal frmEntSalStock me muestra todas las entradas en sub DetalleEntradas y las salidas en el sub DetallesSalidas. Todo funciona ok cuando elijo en el cuadro combinado un articulo me pone las Entradas y Ventas en cada subformulario según lo elegido. ¿Cuál es el problema entonces? Que son más de 2000 artículos y buscar uno para ver el movimiento que tiene no es fácil. La solución que tengo en otros formularios únicos es Like con la sentencia que te pues antes que apenas voy tipiando el articulo se va depurando la lista pero no puedo hacerlo con los dos subformularios y el cuadro combinado del form principal. Puse la sentencia que me enviaste pero no funciona. Espero que me puedas dar una mano ya que hace dos días que lo intento y nada. Gracias por tu tiempo.
A ver si esta vez lo he entendido :)
El problema principal es que quieres que en un cuadro combinado, al ir escribiendo el nombre del producto, quieres que se complete, ¿no?
En un cuadro combinado, al ir escribiendo texto, intenta localizarlo dentro de la primera columna que muestra, que en este caso es el id. Si en otros cuadros combinados se completa y en este no, probablemente sea porque en esos otros solo muestras un campo, y no dos como haces en este (id y producto), o el campo que tecleas es precisamente el primero.
Prueba a modificar el orden de los campos en el cuadro combinado (primero Producto, y luego id), e intenta escribir el nombre del producto, verás como si se autocompleta. Acuérdate que en las propiedades del cuadro combinado debes poner:
Expansión automática = si
Gracias por tu respuesta no quiero ser molesto pero hice lo que me dijiste pero no me funciona que error puedo estar teniendo el subformulario tiene una consulta así
SELECT DetallesEntradas.Producto, Entradas.PInv, Entradas.PDate, DetallesEntradas.Linum, DetallesEntradas.Cantidad, DetallesEntradas.Rate, [forms]![frmEntSalStock]![IDProducto] AS Expr1 FROM Entradas INNER JOIN DetallesEntradas ON Entradas.PInv = DetallesEntradas.Pinv WHERE (((DetallesEntradas.Producto)=[forms]![frmEntSalStock]![IDProducto]) AND (([forms]![frmEntSalStock]![IDProducto]) Is Not Null)) OR ((([forms]![frmEntSalStock]![IDProducto])=0)) ORDER BY DetallesEntradas.Producto, Entradas.PInv;
Gracias por tu tiempo
¿Puedes intentar poner?
Subformulario. Requery

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas