Access - Como filtrar dos tablas

 
Vista:

Como filtrar dos tablas

Publicado por Francisco (13 intervenciones) el 05/09/2005 22:58:03
Tengo una tabla clientes y tengo una tabla que se llama mercancia, lo que quiero hacer es que dentro de un formulario yo pueda seleccionar un cliente solo uno y de la tabla mercancia seleccionar solo un registro esto para elaborar un informe que me de como resultado el cliente que seleccione y la mercancia que va para ese cliente.,
Francisco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Seleccionar cliente y mercancía para generar un informe personalizado

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 23:08:09
1. Crea un formulario en Access que tenga un cuadro combinado para seleccionar el cliente y otro cuadro combinado para seleccionar la mercancía.
2. En el cuadro combinado del cliente, establece la propiedad "Origen del control" para que muestre los datos de la tabla "clientes".
3. En el cuadro combinado de la mercancía, establece la propiedad "Origen del control" para que muestre los datos de la tabla "mercancia".
4. Agrega un botón al formulario y en el evento "Al hacer clic" del botón, coloca el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub btnGenerarInforme_Click()
    Dim clienteID As Long
    Dim mercanciaID As Long
    Dim strSQL As String
    Dim strReporte As String
 
    ' Obtener los IDs seleccionados del cliente y la mercancía
    clienteID = Me.cboCliente.Value
    mercanciaID = Me.cboMercancia.Value
 
    ' Construir la consulta SQL para filtrar los datos
    strSQL = "SELECT * FROM clientes WHERE clienteID = " & clienteID
    strSQL = strSQL & " UNION ALL "
    strSQL = strSQL & "SELECT * FROM mercancia WHERE mercanciaID = " & mercanciaID
 
    ' Establecer el nombre del informe
    strReporte = "InformePersonalizado"
 
    ' Abrir el informe con los datos filtrados
    DoCmd.OpenReport strReporte, acViewPreview, , strSQL
 
    ' Limpiar la selección en los cuadros combinados
    Me.cboCliente.Value = Null
    Me.cboMercancia.Value = Null
End Sub

Asegúrate de reemplazar "clientes" y "mercancia" con los nombres reales de tus tablas, y "clienteID" y "mercanciaID" con los nombres reales de los campos que representan los identificadores únicos de cada registro en las tablas.

5. Crea un informe en Access llamado "InformePersonalizado" que esté basado en la consulta SQL construida en el código VBA.
6. Diseña el informe según tus necesidades, incluyendo los campos de las tablas "clientes" y "mercancia".
7. Cierra el informe y guarda todos los cambios.

Cuando selecciones un cliente y una mercancía en el formulario y hagas clic en el botón "Generar Informe", se abrirá el informe "InformePersonalizado" con los datos filtrados del cliente y la mercancía seleccionados.

Puedes utilizar esta solución como base para generar informes personalizados en Access, adaptando los nombres de tablas y campos según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar