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 de Neckkito Nck
1
1
Neckkito Nck, Access... ser o no ser. Esa es la cuestión
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.