Access - Pantalla de Registro

 
Vista:
Imágen de perfil de Claudio Ramirez

Pantalla de Registro

Publicado por Claudio Ramirez (30 intervenciones) el 17/02/2006 00:19:24
Hola a todos los colegas de la programacion y de Access.

El problema que tengo es el siguiente:

tengo una base de datos de ventas, en la cual quiero hacer un formulario principal en el cual tenga un cuadro de texto donde ingrese un codigo de barras y al darle enter que busque en la tabla de articulos y numeros de serie si existe el producto, si el producto existe, debe crearme un registro en la tabla bajas con la cantidad, el idproducto y el precio, y si es un numero de serie, asignarle al numero de serie el numero de partida que se haya creado en la tabla de bajas; la pantalla ya la tengo y tambien ya me busca el codigo y me lo encuentra pero el problema es que al crearme el registro me marca 2 o 3 en la pantalla de bajas; les puedo enviar el archivo para que lo verifiquen y me puedan ayudar, solo escribanme a mi correo [email protected], es muy importante porque es un sistema para una empresa.

saludos y gracias por su tiempo y ayuda.

Claudio ramirez
Tampico, Tamps., Mex.
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

Creando un formulario de ventas con búsqueda de productos y registro en tabla de bajas

Publicado por Alejandro (4142 intervenciones) el 20/06/2023 22:10:24
Para resolver el problema descrito, puedes seguir los siguientes pasos:

1. En el formulario principal, asegúrate de tener un cuadro de texto llamado "txtCodigoBarras" donde el usuario ingrese el código de barras del producto.

2. Asigna el siguiente código al evento "Al perder el foco" o al evento "Después de actualizar" del cuadro de texto "txtCodigoBarras":

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
26
27
28
29
30
31
32
33
34
35
36
Private Sub txtCodigoBarras_AfterUpdate()
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim idProducto As Long
    Dim precio As Double
    Dim numSerie As String
 
    ' Verificar si el código de barras existe en la tabla de artículos
    strSQL = "SELECT IDProducto, Precio, EsNumeroSerie FROM Articulos WHERE CodigoBarras='" & Me.txtCodigoBarras & "'"
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    If rs.RecordCount > 0 Then
        idProducto = rs!IDProducto
        precio = rs!Precio
        If rs!EsNumeroSerie = True Then
            ' Es un número de serie, asignar número de partida en tabla de bajas
            strSQL = "INSERT INTO Bajas (IDProducto, Cantidad, Precio) VALUES (" & idProducto & ", 1, " & precio & ")"
            CurrentDb.Execute strSQL
            ' Obtener el número de partida generado
            strSQL = "SELECT MAX(IDPartida) AS UltimaPartida FROM Bajas"
            Set rs = CurrentDb.OpenRecordset(strSQL)
            numSerie = rs!UltimaPartida
            MsgBox "Número de serie asignado: " & numSerie
        Else
            ' No es un número de serie, crear registro en tabla de bajas
            strSQL = "INSERT INTO Bajas (IDProducto, Cantidad, Precio) VALUES (" & idProducto & ", 1, " & precio & ")"
            CurrentDb.Execute strSQL
            MsgBox "Registro creado en tabla de bajas"
        End If
    Else
        MsgBox "El código de barras no existe en la tabla de artículos"
    End If
 
    rs.Close
    Set rs = Nothing
End Sub

Asegúrate de reemplazar los nombres de las tablas y los campos por los correspondientes en tu base de datos.

3. Guarda el formulario y pruébalo. Al ingresar un código de barras y presionar Enter, el código buscará el producto en la tabla de artículos. Si el producto existe, se creará un registro en la tabla de bajas con la cantidad, el ID del producto y el precio. Si el producto tiene asignado un número de serie, se le asignará el número de partida generado en la tabla de bajas.

Recuerda realizar las adaptaciones necesarias según la estructura de tu base de datos y los nombres de tus tablas y campos.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto!
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