Sistema de Ventas Ayuda por favor
Publicado por Infobit07 (1 intervención) el 03/11/2014 21:16:28
Hola a todos, soy nuevo en el foro al igual que en la utilización de visual net, quisiera consultarles por un soft que estoy haciendo. Funciona de la siguiente manera, busco el producto en Stock por medio de una consulta SQL colocando el código en un TextBox y con el botón con la etiqueta confirmar lo inserta en ventas restando una cantidad al stock y sumándolo a ventas. Mi consulta es como evitar usar un botón es decir que por medio de una pistola lectora de códigos me lo busque, me lo inserte de una sola vez, trate de programarlo en el filtro pero me lo inserta la cantidad de veces que tiene de números el código de barras del producto. La base de datos que uso es la de Visual net 2010 (Base de datos basada en servicios) espero su ayuda mis colegas o saber dónde está más o menos respuesta.
Este es el código del Botón:
Este es el código del Botón:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Private Sub Bt_confirma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_confirma.Click
Dim Cmd As SqlClient.SqlCommand
Dim Adp As SqlClient.SqlDataAdapter
Dim dspend As New DataSet
Dim SQLComando As String
Dim Comando As SqlClient.SqlCommand
dspend.Clear()
conectar()
Try
Cmd = New SqlClient.SqlCommand("SELECT codigo ,Producto, Descripción, Cantidad, Precio FROM stock where codigo like '" & txt_flitro.Text & "%'", con)
Adp = New SqlClient.SqlDataAdapter(Cmd)
Adp.Fill(dspend, "stock")
DataGridView2.DataSource = dspend
DataGridView2.DataMember = "stock"
TextBox1.Text = DataGridView2.Item(0, DataGridView2.CurrentRow.Index).Value
TextBox3.Text = "Consumidor Final"
TextBox4.Text = DataGridView2.Item(1, DataGridView2.CurrentRow.Index).Value
TextBox5.Text = DataGridView2.Item(2, DataGridView2.CurrentRow.Index).Value
TextBox2.Text = DataGridView2.Item(3, DataGridView2.CurrentRow.Index).Value
If TextBox6.Text = "1" Then
TextBox6.Text = "1"
End If
TextBox7.Text = DataGridView2.Item(4, DataGridView2.CurrentRow.Index).Value
txt_flitro.Text = ""
txt_flitro.Focus()
Catch ex As Exception
MessageBox.Show("No se pueden obtener datos de Usuarios ERROR: " & ex.Message & "")
End Try
desconectar()
'Guardar el producto filtrado
SQLComando = "INSERT INTO venta(codigo, fecha, cliente, producto, descripcion, cantidad, precio) VALUES(@codigo, @fecha, @cliente, @producto, @descripcion, @cantidad, @precio)"
Comando = New SqlClient.SqlCommand(SQLComando, con)
Comando.Parameters.Add(New SqlClient.SqlParameter("@codigo", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@fecha", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@cliente", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@producto", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@descripcion", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@cantidad", SqlDbType.VarChar))
Comando.Parameters.Add(New SqlClient.SqlParameter("@precio", SqlDbType.VarChar))
Comando.Parameters("@codigo").Value = TextBox1.Text
Comando.Parameters("@fecha").Value = DateTimePicker1.Text
Comando.Parameters("@cliente").Value = TextBox3.Text
Comando.Parameters("@producto").Value = TextBox4.Text
Comando.Parameters("@descripcion").Value = TextBox5.Text
Comando.Parameters("@cantidad").Value = TextBox6.Text
Comando.Parameters("@precio").Value = TextBox7.Text
conectar()
Comando.ExecuteNonQuery()
desconectar()
'Agrego los datos al DataGridView1
Me.DataGridView1.Rows.Add(Me.TextBox1.Text, Me.DateTimePicker1.Text, Me.TextBox3.Text, Me.TextBox4.Text, Me.TextBox5.Text, Me.TextBox6.Text, Me.TextBox7.Text)
TextBox8.Text = Val(TextBox2.Text) - Val(TextBox6.Text)
SQLComando = "Update stock set Cantidad= @Cantidad where codigo=@codigo "
Comando = New SqlClient.SqlCommand(SQLComando, con)
Comando.Parameters.Add(New SqlClient.SqlParameter("@Cantidad", SqlDbType.VarChar))
Comando.Parameters("@Cantidad").Value = TextBox8.Text
Comando.Parameters.Add(New SqlClient.SqlParameter("@codigo", SqlDbType.VarChar))
Comando.Parameters("@codigo").Value = TextBox1.Text
conectar()
Comando.ExecuteNonQuery()
desconectar()
ObtengoStock()
If TextBox6.Text <> "1" Then
TextBox6.Text = "1"
End If
End Sub
Valora esta pregunta


0