Foros del Web » Programación para mayores de 30 ;) » .NET »

Mini Control de Stock vb2008 - restas y sumas

Estas en el tema de Mini Control de Stock vb2008 - restas y sumas en el foro de .NET en Foros del Web. Este mini control de stock esta enlazado directamente con la base de datos access, cuenta con dos campos "Id" y "cantidad", no usare por el ...
  #1 (permalink)  
Antiguo 09/12/2008, 15:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 15 años, 8 meses
Puntos: 6
Mini Control de Stock vb2008 - restas y sumas

Este mini control de stock esta enlazado directamente con la base de datos access, cuenta con dos campos "Id" y "cantidad", no usare por el momento el campo "Id" solo utilizare el campo "cantidad".

Como se puede apreciar en la figura, en el primer textbox muestra la cantidad total, que no tiene limite de compra, quiere decir que se incremente el numero sin limite, se incrementa ingresando un numero donde dice "Comprar", lo que deveria de sumar el valor agregado + el de la base de datos, y hacer lo mismo cuando se necesite vender algo, se restara, pero tiene un limite que es "10", debera desplegar un mensaje que no se puede vender nada más, es decir inabilitar ese textbox de vender..

Tengo un problema en las restas y sumas



Formulas

Sección vender
cantidad = txtvender - base de datos

si cantidad =>10 base de datos entonces
mensaje ("no se puede vender más")
fin si

Sección comprar
cantidad = txtcomprar + base datos

base datos - descargar
http://www.mediafire.com/?jfmgi9tm0n1

El código fuente vb-2008
http://www.mediafire.com/?yfzljnbhqwe

Logre hacer cargar la cantidad total, con el siguiente código.

Código del boton comprar, me modifica todo ok, como le implemento la resta.

Cita:
Dim coneccion As OleDbConnection
Dim orden As OleDbCommand

coneccion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Stock\Stock\bin\Debug\mibase.mdb")

Dim q As String = "update mitabla set cantidad = @cantidad where Id = 1"

orden = New OleDbCommand(q, coneccion)

orden.Parameters.Add(New OleDbParameter("@cantidad", OleDbType.Integer, 20))

orden.Parameters("@cantidad").Value = txtvender.Text

orden.Connection.Open()

orden.ExecuteNonQuery()

orden.Connection.Close()

MsgBox("Registro modificado")

txttotal.Refresh()

Como puedo convertir este codigo de VB6.0 a .Net

Cita:
Dim Resta As Long
Resta = rst!cantidad - txtvender
If Resta <= txtstock Then
MsgBox "Inferior al Stock"
Else
' actualiza el campo de la tabla
rst!cantidad = Resta
rst.Update
' actualiza el TextBox
txtcantidad.Refresh
End If
Me da error

Cita:
Dim Resta As Long

Resta = orden.Parameters!txttotal - txtvender

If Resta <= txtvender Then
MsgBox("Inferior al Stock")
Else
' actualiza el campo de la tabla
orden.Parameters!!cantidad = Resta
orden.Parameters!.Update()
' actualiza el TextBox
txttotal.Refresh()
End If

Última edición por flashtkd; 09/12/2008 a las 16:29
  #2 (permalink)  
Antiguo 10/12/2008, 04:14
 
Fecha de Ingreso: agosto-2005
Mensajes: 33
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Mini Control de Stock vb2008 - restas y sumas

Muy currado tu post

copia y pega en tu codigo y mira a ver si es esto lo que quieres, es lo que me parecio entender

Código:
    Dim cn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim lector As OleDbDataReader
    Dim ruta As String = "C:\foro\mibase.mdb"


    Private Sub Stock_Actual()

        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta & "")
        cmd = New OleDbCommand("select cantidad from mitabla", cn)

        cn.Open()
        lector = cmd.ExecuteReader
        lector.Read()

        If lector.HasRows Then
            txttotal.Text = lector.Item(0)
        End If

        lector.Close()
        cn.Close()

    End Sub

    Private Sub btnvender_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvender.Click

        If txttotal.Text >= 10 Then

            cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta & "")
            cmd = New OleDbCommand("UPDATE mitabla SET mitabla.cantidad = " & txttotal.Text & "-" & txtvender.Text & "", cn)

            cn.Open()
            cmd.ExecuteNonQuery()
            MsgBox("Venta ok")
            cn.Close()

            Stock_Actual()

        Else
            MsgBox("no se puede vender más")
        End If
        

    End Sub

    Private Sub btncomprar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncomprar.Click

        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta & "")
        cmd = New OleDbCommand("UPDATE mitabla SET mitabla.cantidad = " & txttotal.Text & "+" & txtcomprar.Text & "", cn)

        cn.Open()
        cmd.ExecuteNonQuery()
        MsgBox("Compra ok")
        cn.Close()

        Stock_Actual()


    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Stock_Actual()

    End Sub
  #3 (permalink)  
Antiguo 10/12/2008, 09:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Mini Control de Stock vb2008 - restas y sumas

muchas gracias ya lo e conseguido.

como puedo bloquear el ingreso a los textbox, solo ingreso de numero.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.