Muy pocas pistas das, pero... Voy a aprovechar una base que ya tenía hecha. Si tengo la tabla Productos, donde le he añadido un campo Foto( por ponerle un nombre)
Vale con tres registros, más no trabajo.
Construyo un formulario con controles imagen llamados precisamente A1, A2 y A3, donde con el asistente le asigno la imagen que quiero que muestre
Si tengo el formulario Ventas con un subformulario DetalleVenta donde se van a reflejar los productos
Verás que en el encabezado le he añadido un botón Ver Productos(aunque podría ser en cualquier otro evento). Cuando lo pulso
Si hago clic en la imagen de las botellas(A1)
Si ahora hago clic en las cervezas A2
Me va pasando al subformulario los productos y su precio.
Te pongo los códigos de los controles imagen
Private Sub A1_Click()
If CurrentProject.AllForms("ventas").IsLoaded Then
DoCmd.RunSQL "insert into Detalleventa(producto,precio) select producto,precio from productos where foto=""A1"""
DoCmd.RunSQL "update detalleventa set idventa=forms!ventas!idventa where idventa is null"
Forms!ventas!DetalleVenta.Form.Requery
End If
End Sub
Private Sub A2_Click()
If CurrentProject.AllForms("ventas").IsLoaded Then
DoCmd.RunSQL "insert into Detalleventa(producto,precio) select producto,precio from productos where foto=""A2"""
DoCmd.RunSQL "update detalleventa set idventa=forms!ventas!idventa where idventa is null"
Forms!ventas!DetalleVenta.Form.Requery
End If
End Sub
Private Sub A3_Click()
If CurrentProject.AllForms("ventas").IsLoaded Then
DoCmd.RunSQL "insert into Detalleventa(producto,precio) select producto,precio from productos where foto=""A3"""
DoCmd.RunSQL "update detalleventa set idventa=forms!ventas!idventa where idventa is null"
Forms!ventas!DetalleVenta.Form.Requery
End If
End Sub
Si tienes muchos productos no sería problema, ya que todo consiste en copiar el código de un control, pegarlo en el evento Al hacer clic de otro y sustituir, por ejemplo, A1 por A4, A5, A6, etc
No te puedo decir más, porque como te dije, con las pistas que das...