Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ACCES - Problema con la consulta en un cuadro de lista

Estas en el tema de ACCES - Problema con la consulta en un cuadro de lista en el foro de Bases de Datos General en Foros del Web. Hola Programadores. Hace años que no volvía al Foro. Espero que estén muy bien. Cuestión que mi conocimiento es muy básico con este maravilloso programa ...
  #1 (permalink)  
Antiguo 26/03/2018, 22:13
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
ACCES - Problema con la consulta en un cuadro de lista

Hola Programadores. Hace años que no volvía al Foro. Espero que estén muy bien.
Cuestión que mi conocimiento es muy básico con este maravilloso programa ACCES, y voy tratando de entender de a poco: mirando videos y tutoriales.

Estoy tratando de hacer un Sistema de Facturación.

Me estanqué, ojalá me explique, cuando pasé un valor "Id_Cliente" de un formulario llamado "Clientes" a través de la llamada de un botón "Sus Pedidos" que me dirije a otro formulario llamada "Pedidos". En este último me llega bien el valor pero no en el "cuadro de lista" que necesito que aparezcan todos los pedidos de ese cliente (porque se muestran todos los pedidos de todos los clientes). Creo que podría ser mi problema en la consulta y en el "criterio" o algún código.

Aquí está el gráfico del problema:



Con su generador de consulta:



El proyecto completo:
http://ge.tt/91njhCp2



Desde ya muchas gracias. Se los dejo en sus manos porque muchas horas intenté.


Javier.
  #2 (permalink)  
Antiguo 27/03/2018, 00:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

acces no es una maravillosa herramienta, al parecer estas haciendo un producto cartesiano, seria ver cual es la consulta que se esta generando
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 27/03/2018, 07:29
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Buenas Libras. Te comento que no conozco otro programa para hacer facturas y me pareció espectacular las posibilidades que tiene el mismo para configurar a medida el proyecto con las BBDD. Me aconsejas, por favor, ¿algún programa mejor o ideal para esto?. No soy programador, de a poco voy aprendiendo.

Con respecto a "producto cartesiano" me mataste.

Esta es la consulta:

SELECT [PEDIDOS].[Fecha], [PEDIDOS].[Id_Pedido], [PEDIDOS].[Id_Cliente] FROM PEDIDOS ORDER BY [Id_Cliente];

El proyecto completo:
http://ge.tt/91njhCp2

Gracias por haberme respondido!

Última edición por mikehove; 27/03/2018 a las 07:34
  #4 (permalink)  
Antiguo 27/03/2018, 07:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Access es una aplicación primitiva de manejo de tablas, con un poco de recursos de SQL y BBDD embebido, que sólo sirve para oficinas, y únicamente en acceso en solitario. Si quieres ahcer algo donde haya mas de un usuario accediendo a eso, olvídalo.
En cuanto a tu problema, el tema es que debes hacer un JOIN entre ambas tablas. Ahora solamente estás consultando la de pedidos, donde se supone que están todos los pedidos, de todos los clientes, pero sin filtrar... Es decir, en la generación de tu consulta, la misma NO está incluyendo el WHERE donde se realice el filtrado.

Yo te sugeriría que ANTES de seguir avanzando, leas un poco más de SQL básico, para entender lo que Access está construyendo. Si no te vas a encontrar inventando la rueda a cada paso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/03/2018, 08:30
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Muchas gracias por la guía gnzsoloyo, lo pondré en práctica. Te comento que mi idea sería hacer pedidos con el sistema de Acces, y me gustaría que en el futuro otras personas desde otros dispositivos puedan almacenar datos en este, ¿tendría que ser un sistema esté basado con un servidor web?.
Disculpá que me extienda del tema.
  #6 (permalink)  
Antiguo 27/03/2018, 08:47
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Si quieres hacerlo de esa manera no te recomendaria access, te recomendaria un mysql, o un sqlite
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 27/03/2018, 10:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Cita:
Iniciado por mikehove Ver Mensaje
Muchas gracias por la guía gnzsoloyo, lo pondré en práctica. Te comento que mi idea sería hacer pedidos con el sistema de Acces, y me gustaría que en el futuro otras personas desde otros dispositivos puedan almacenar datos en este, ¿tendría que ser un sistema esté basado con un servidor web?.
Disculpá que me extienda del tema.
Si o si tiene que ser un sistema de base de datos que soporte concurrencia (múltiples usuarios), ya que son los únicos capaces de administrar esa capacidad.
Access no lo permite porque accede a un único repositorio y el usuario toma el control total. Lo puedes ver si en una red intentas abrir la base desde dos puestos diferentes. El segundo puede ver, pero no escribir.
Como comenta Libras, es preferible un repositorio basado en MySQL, MariaDB, PosgreSQL o incluso SQLite, aunque no estoy seguro de cuanto avanzó este último con el tema de la concurrencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 27/03/2018, 17:02
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Gracias gnzsoloyo y Libras voy a tener en cuenta el proyecto en más grande escala con MYSQL.

Continuando con el tema de la consulta me rompí la cabeza porque avancé un poco pero no le encuentro pegarle a la tecla, como le dicen.

Leí sobre INNER y lo puse en práctica.

Si colocara esta consulta:

SELECT PEDIDOS.Id_Pedido, PEDIDOS.Id_Cliente, PEDIDOS.Fecha FROM PEDIDOS WHERE Id_Cliente=2;

Eso me muestra los pedidos del cliente 2 y está bien, pero no muestra el valor pasado por el botón desde otro formulario en el cuadro de lista pero sí me muestra en un cuadro de texto.

O sea:

Formulario "CLIENTES" allí está un botón (con Macro incrustado) que va a redireccionar el valor "Id_Cliente" a otro formulario que se llama "PEDIDOS-CLIENTE".
Este es es el Macro del botón:



Y cuando se abre el formulario "PEDIDOS-CLIENTE":




Probé varias consultas, por ejemplo:
SELECT * FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.Id_Cliente=CLIENTES.Id_Cliente;

Pero no se cómo tomar un valor pasado de un botón que viene de otro formulario y que lo reciba el cuadro de lista.

Por favor, no se que estoy haciendo mal.

Última edición por mikehove; 27/03/2018 a las 17:15
  #9 (permalink)  
Antiguo 28/03/2018, 06:00
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: ACCES - Problema con la consulta en un cuadro de lista

Gracias a un programador que encontré en la web TENGO LA SOLUCION!
La comparto para aquellos que tengan el mismo problema:

Código:
SELECT PEDIDOS.Fecha, PEDIDOS.Id_Pedido, PEDIDOS.Id_Cliente
FROM PEDIDOS
WHERE (((PEDIDOS.Id_Cliente)=[Formularios]![PEDIDOS X CLIENTE]![Id_Cliente]));
¡A seguir aprendiendo!

Etiquetas: basic, bbdd, formularios, programacion, tablas, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.