Access - precios por cliente

 
Vista:

precios por cliente

Publicado por jorgu (4 intervenciones) el 31/03/2006 21:27:58
Tengo clientes con productos de distintos precios , quiero que al facturar me tome eso. Porque la que hice toma de una columna en particular. Me podrian decir como puedo hacer. Gracias
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

Facturar clientes con productos de distintos precios

Publicado por Alejandro (4142 intervenciones) el 17/07/2023 23:48:45
Para facturar clientes con productos de distintos precios, puedes utilizar una tabla adicional que relacione los productos con sus respectivos precios para cada cliente. Aquí tienes los pasos para lograrlo:

1. Crea una nueva tabla en Access para almacenar la información de los precios de los productos por cliente. Esta tabla debe tener al menos los siguientes campos: "ID Cliente", "ID Producto" y "Precio".

2. Establece las relaciones necesarias entre la tabla de clientes, la tabla de productos y la tabla de precios. El "ID Cliente" y el "ID Producto" serán claves foráneas que se relacionarán con los campos correspondientes en las otras tablas.

3. Ingresa los registros en la tabla de precios para cada cliente y producto con su respectivo precio. Asegúrate de tener un registro por cada combinación cliente-producto.

4. En tu formulario de facturación, agrega un cuadro combinado (combobox) o un control de lista que muestre los productos disponibles para seleccionar.

5. En el evento "Después de actualizar" del cuadro combinado o control de lista, utiliza una consulta de búsqueda para obtener el precio del producto seleccionado para el cliente actual.

6. Utiliza el precio obtenido en la consulta de búsqueda para calcular el monto total de la factura.

Aquí tienes un ejemplo de código VBA para el evento "Después de actualizar" del cuadro combinado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub cmbProductos_AfterUpdate()
    Dim strSQL As String
    Dim rst As DAO.Recordset
    Dim precio As Currency
 
    strSQL = "SELECT Precio FROM TablaPrecios WHERE IDCliente = " & Me.IDCliente & " AND IDProducto = " & Me.cmbProductos.Value
    Set rst = CurrentDb.OpenRecordset(strSQL)
 
    If rst.RecordCount > 0 Then
        precio = rst.Fields("Precio").Value
        ' Realiza el cálculo necesario con el precio obtenido
        ' ...
    End If
 
    rst.Close
    Set rst = Nothing
End Sub

Asegúrate de reemplazar "TablaPrecios" con el nombre de tu tabla de precios, "IDCliente" y "IDProducto" con los nombres de los campos correspondientes, "cmbProductos" con el nombre de tu cuadro combinado y "IDCliente" con el campo que identifica al cliente actual en tu formulario de facturación.

Con este enfoque, podrás obtener el precio correcto del producto seleccionado para cada cliente al facturar, utilizando la tabla de precios que relaciona los productos con sus respectivos precios para cada cliente.
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