Cómo poner etiquetas de precios diferentes a un mismo producto en un documento de Microsoft Access

Quiero hacerte una pregunta como puedo tener varios precios por producto o si es que se puede hacer
Por ejemplo:
Leche: precio1: 5000 precio2: 4500 precio3: 4400
Por ejemplo para cuando ingreso el producto en un subformulario me de la opción de elegir el precio a dar el producto

1 Respuesta

Respuesta
1
Te voy a explicar un sistema, a ver si lo puedes adaptar a tu BD:
Imaginemos que en la tabla, a la que llamará TProd, tú tienes estos campos:
[Producto] (Que sería la leche)
[P1], [P2] y [P3] (que serían los distintos precios
OK. Ahora, de manera totalmente independiente, tu tienes tu tabla TDetalleVentas, por ejemplo, donde tienes, entre otros, el campo [ProdVta], que te recoge el producto que vendes, y el campo [PreVta], que será el precio por el cual lo vendes.
Cuando creas el formulario para rellenar los detalles de la venta añades un cuadro de texto, que será en el que especificarás la "tarifa" que quieres utilizar.
- Sacas las propiedades de ese cuadro de texto y te vas a la pestaña Otras->Nombre, y ahí le escribes txtTarifa
- En la pestaña Eventos de ese mismo cuadro de texto, en el evento "Después de actualizar", si te colocas en el espacio en blanco a su derecha verás que te aparece un pequeño botón de puntos suspensivos. Si haces click sobre él te aparecerá una ventana. Le dices que quieres generar código.
- Se te abrirá el editor de VB, con dos líneas por defecto (Private Sub... y End Sub). No debes tocar esas líneas. En medio de ellas escribes el siguiente código:
...
Private Sub...
    Dim vTfa as Variant
    Dim vPrec as variant
    Dim vProd as variant
    vProd=me.ProdVta.Value
    vTfa=me.txtTarifa.value
        'Si no hay producto seleccionado sale del proceso
    If isnull(vProd) then exit sub
        'Si no hay valor en el textbox sale del proceso
    If isnull(vTfa) then exit sub
        'Examinamos el valor introducido en el textbox
    Select Case vTfa
        Case 1
            vPrec=dlookup("[P1]","TProd","[Producto]='" & vProd & "'")
        Case 2
            vPrec=dlookup("[P2]","TProd","[Producto]='" & vProd & "'")
        Case 3
            vPrec=dlookup("[P3]","TProd","[Producto]='" & vProd & "'")
        Case Else
            msgbox "La tarifa introducida no es correcta",vbExclamation,"Incorrecto"
            Exit sub
    End Select
        'Si no se ha encontrado valor lanza un mensaje de advertencia. Si se encuentra
        'valor lo asigna al campo [PreVta]
    If isnull(vPrec) then
        msgbox "No existe precio para este producto en esta tarifa",vbInformation,"SIN PRECIO"
        Exit sub
    Else
        me.PreVta.value=vPrec
    End if
End sub
...
El código está comentado, por lo que no creo que tengas problemas para entender lo que hace.
La idea es que en el formulario rellenas:
- Primero, el producto que vas a vender
- Segundo, la tarifa que vas a emplear (1, 2 ó 3)
Y automáticamente se te rellena el precio de venta en función de la tarifa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas