none
Numero Correlativo para nuevo ingreso RRS feed

  • Pregunta

  • Estimados, tengo una base de datos en access enlazada a un datagridview.

    mi base de datos tiene (COD_PROD / PRODUCTO / PRECIO / CANTIDAD)

    en mi formulario tengo un datagridview para ver la bd y los 4 textbox con el boton ingresar y un boton eliminar.

    lo que quiero es que cuando de ingresar el campo COD_PROD se llene automaticamento con un codigo HR0001 y luego cuando quiera hacer otro ingreso me salga en automatico su correlativo osea HR0002 y asi sucesibamente.

    por favor su apoyo.

    • Cambiado Enrique M. Montejo martes, 14 de marzo de 2017 8:12 Pregunta relacionada con el acceso a datos con Microsoft Access.
    miércoles, 8 de marzo de 2017 22:40

Respuestas

  • Prueba esto:

    Private Function GenerarNumero() As String
            Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                oCommandBuilder = New SqlCommandBuilder(Me.oDataAdapter)
                oDataAdapter = New SqlDataAdapter("Select max(right(Codigo,4)) from Producto", cnx)
                Dim max As Integer
                GenerarNumero = "HR" & Format(max + 1, "0000")
            End Using
        End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            TextBox1.Text = GenerarNumero()
        End Sub
    Saludos


    • Editado Javier Roque miércoles, 15 de marzo de 2017 14:30
    • Marcado como respuesta eloshmt viernes, 17 de marzo de 2017 22:44
    miércoles, 15 de marzo de 2017 2:44

Todas las respuestas

  • Hola, revisa este enlace


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    miércoles, 8 de marzo de 2017 23:41
  • Hola eloshmt

    Bueno yo no utilizo mucho access, sino sql pero esto puede darte una referencia de como aplicarlo.

    Ejemplo Tabla: 

    Id|Cod_Pro|Producto|Precio|Cantidad

    Al Campo Id lo haces de identidad con incremento de 1 a 1 y tipo de datos int

    Luego al Código como veras tipo de datos esta vacío porque le aplico el formato 


    Finalmente cuando le doy click al boton nuevo (Nuevo Registro)

    Agrego

     cnx.Open()
                Dim cm As New SqlCommand("SELECT COALESCE(MAX(Id),0)+1  FROM Productos", cnx)
                Dim nro As Integer = Convert.ToInt32(cm.ExecuteScalar())
                txtCodigo.Text = String.Format("HR{0:000}", nro)

    y bueno eso generara el codigo como lo deseas aun si lo borras ese registro  y creas otro registro continua la secuencia.

    Eso si al momento de guardar tu consulta no debes considerar al id ni al codigo sino empezar desde Producto:

    Dim tex As New String(CType("Insert into Producto(Producto,Precio,Cantidad)values(@c,@d,@e)", Char()))

    Si te ayudo a solucionar tu problema márcalo  como respuesta, cualquier duda me avisas


    Saludos


    • Editado Javier Roque jueves, 9 de marzo de 2017 2:41
    • Propuesto como respuesta Joyce_AC viernes, 10 de marzo de 2017 18:37
    jueves, 9 de marzo de 2017 2:26
  • Lo he intentado en access pero no me ha funcionado, si tuvieras otro metodo.
    martes, 14 de marzo de 2017 17:45
  • Prueba esto:

    Private Function GenerarNumero() As String
            Using cnx As New SqlConnection(ConfigurationManager.ConnectionStrings("cnxString").ToString())
                oCommandBuilder = New SqlCommandBuilder(Me.oDataAdapter)
                oDataAdapter = New SqlDataAdapter("Select max(right(Codigo,4)) from Producto", cnx)
                Dim max As Integer
                GenerarNumero = "HR" & Format(max + 1, "0000")
            End Using
        End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            TextBox1.Text = GenerarNumero()
        End Sub
    Saludos


    • Editado Javier Roque miércoles, 15 de marzo de 2017 14:30
    • Marcado como respuesta eloshmt viernes, 17 de marzo de 2017 22:44
    miércoles, 15 de marzo de 2017 2:44
  • Estimado, gracias por tu ayuda, lo resolvi agregando una columna id autonumerica y luego la columna COD_TRAB y use una funcion que toma el numero mayor del campo ID le da el formato TR0000# y lo ingresa en el campo COD_TRAB.

    Me guié de tu opcion en sql. Gracias.

    • Marcado como respuesta eloshmt viernes, 17 de marzo de 2017 22:44
    • Desmarcado como respuesta eloshmt viernes, 17 de marzo de 2017 22:44
    viernes, 17 de marzo de 2017 22:43