none
ayuda con este codigo RRS feed

  • Pregunta

  • tengo un btnnuevo que al dar le click me manda a la funcion prox-categoria

     Private Sub btn_Nuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Nuevo.Click
           
            Call prox_categoria()
        End Sub

    esto me permite incrementar el codigo

    ej: 001-0003 el proximo seria

         001-0004 el guion es necesario

    Public Sub prox_categoria()
            Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
                conn.Open()
                Dim ocomando As New SqlCommand("SELECT cast(serie as nvarchar(5))  + ' - ' +  (SELECT MAX(serie1)FROM serie)  from serie", conn)
                adapter = New SqlDataAdapter(ocomando)
                dataset = New DataSet
                adapter.Fill(dataset)
                txtNumingreso.Text = ocomando.ExecuteScalar() + 1
                conn.Close()
            End Using
        End Sub

    sábado, 21 de enero de 2012 2:02

Respuestas

  • hola

    primeramente una correccion, nonecesitas de dos select para armar el valor

    Dim query As String = "SELECT serie As serie , MAX(serie1) As serie1 FROM serie  from serie GROUP BY serie"

    Dim ocomando As New SqlCommand(query, conn)

     

    como veras en la misma query se puede resolver, pero no los unas,esto puedes hacerlo desde codigo

    si los unes ya no podras incrementar o actualizar

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    sábado, 21 de enero de 2012 4:26
  • una vez que tengas ese consulta quedaria

    Public Sub prox_categoria()
    	Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
    		conn.Open()
    		
    		Dim query As String = "SELECT serie As serie , MAX(serie1) As serie1 FROM serie  from serie GROUP BY serie"
    		Dim ocomando As New SqlCommand(query, conn)
    		
    		Dim adapter As New SqlDataAdapter(ocomando)
    		Dim dt As New DataTable
    		adapter.Fill(dt)
    		
    		If dt.Rows.Count > 0 Then
    			Dim row As DataRow = dt.Rows(0)
    			
    			Dim proximoserie As Integer = Convert.ToInt32(row("serie1")) + 1
    			txtNumingreso.Text = String.Format("{0} - {1}", row("serie"), proximoserie)
    			
    			'aqui actualizar el valor
    			Dim query2 As String = "UPDATE serie SET serie1 = @param"
    			Dim ocomando2 As New SqlCommand(query2, conn)
    			ocomando2.Parameters.AddWithValue("@param", proximoserie)
    			ocomando2.EcecuteNonQuery()
    		
    		End If
    		
    	End Using
    End Sub
    


    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    sábado, 21 de enero de 2012 4:48
  • simple

    txtNumingreso.Text = String.Format("{0:000} - {1:0000}", row("serie"), proximoserie)

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:02
    domingo, 22 de enero de 2012 13:43

Todas las respuestas

  • Hola, pero no especificas que es lo que quieres en realidad. Cual es tu duda o problema ?. Simplemente muestras el código, pero no dices que es lo que necesitas. Si especificas mejor lo que quieres, estoy seguro de que pueden ayudarte. :)

     


    Saludos desde República Dominicana. :) Blog
    sábado, 21 de enero de 2012 2:34
  • esto es lo que necesito

      txtNumingreso.Text = ocomando.ExecuteScalar() + 1

    que permitra ingrementar

    sábado, 21 de enero de 2012 2:43
  • hola

    primeramente una correccion, nonecesitas de dos select para armar el valor

    Dim query As String = "SELECT serie As serie , MAX(serie1) As serie1 FROM serie  from serie GROUP BY serie"

    Dim ocomando As New SqlCommand(query, conn)

     

    como veras en la misma query se puede resolver, pero no los unas,esto puedes hacerlo desde codigo

    si los unes ya no podras incrementar o actualizar

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    sábado, 21 de enero de 2012 4:26
  • una vez que tengas ese consulta quedaria

    Public Sub prox_categoria()
    	Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("default").ToString())
    		conn.Open()
    		
    		Dim query As String = "SELECT serie As serie , MAX(serie1) As serie1 FROM serie  from serie GROUP BY serie"
    		Dim ocomando As New SqlCommand(query, conn)
    		
    		Dim adapter As New SqlDataAdapter(ocomando)
    		Dim dt As New DataTable
    		adapter.Fill(dt)
    		
    		If dt.Rows.Count > 0 Then
    			Dim row As DataRow = dt.Rows(0)
    			
    			Dim proximoserie As Integer = Convert.ToInt32(row("serie1")) + 1
    			txtNumingreso.Text = String.Format("{0} - {1}", row("serie"), proximoserie)
    			
    			'aqui actualizar el valor
    			Dim query2 As String = "UPDATE serie SET serie1 = @param"
    			Dim ocomando2 As New SqlCommand(query2, conn)
    			ocomando2.Parameters.AddWithValue("@param", proximoserie)
    			ocomando2.EcecuteNonQuery()
    		
    		End If
    		
    	End Using
    End Sub
    


    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    sábado, 21 de enero de 2012 4:48
  • todo esta bien pero necesito qeu se vea asi

    001-0004 lo necesito con los tres cero

    seria en esta linea

    txtNumingreso.Text = String.Format("{0} - {1}", row("serie"), proximoserie)

    gracias

    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    • Desmarcado como respuesta Dominio69 martes, 24 de enero de 2012 3:03
    domingo, 22 de enero de 2012 7:22
  • simple

    txtNumingreso.Text = String.Format("{0:000} - {1:0000}", row("serie"), proximoserie)

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Dominio69 martes, 24 de enero de 2012 3:02
    domingo, 22 de enero de 2012 13:43
  • gracias ....... :)
    martes, 24 de enero de 2012 3:03