TELA DE VENDAS EM VB
Gente meu TCC é pra agora dia 2/10/2012 e eu não sei fazer a tela de vendas,o meu sistema é de um Pet Shop.
algumas partes da codificação estão prontas porém,qndo eu insiro o produto na parte de item vendido os campos apagam e na hora de efetivar a venda. Alguém pode me ajudar ????
Vou tirar um print da tela.
O meu e-mail é i.tarata@hormail.com
Se alguém puder me ajudar eu vou ficar muuuito feliz
Os códigos:
Imports System.Data.SqlClient
Public Class Vendas
Private Sub Cadastrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cadastrar.Click
If Cod_Func.Text <> [Ô][Ô] Then
Dim cn As SqlConnection
Dim cmd As New SqlCommand
Dim mr As Integer
Dim FormaPgto As String = Nothing
Dim Parcela As Integer
If Credito.Checked = True Then
FormaPgto = [Ô]Cartão de Crédito[Ô]
Parcela = Parcelas.Text
End If
If Debitomaster.Checked = True Then
FormaPgto = [Ô]Cartão de Débito Master[Ô]
Parcela = 1
End If
If Debitovisa.Checked = True Then
FormaPgto = [Ô]Cartão de Débito Visa[Ô]
Parcela = 1
End If
If FDinheiro.Checked = True Then
FormaPgto = [Ô]Cheque[Ô]
Parcela = 1
End If
cn = New SqlConnection(Conexao)
cn.Open()
With cmd
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]insert into Tb_Vendas(Data,Cod_Venda,Cod_Func,Cod_Cli,Nome_Cli,Subtotal,FormaPgto,Parcela,Valor_Venda,Dinheiro,Troco) values([ô][Ô] & Dt_Venda.Text & [Ô][ô],[ô][Ô] & Cod_Venda.Text & [Ô][ô],[ô][Ô] & Cod_Func.Text & [Ô][ô],[ô][Ô] & Cod_Cli.Text & [Ô][ô],[ô][Ô] & Nome_Cli.Text & [Ô][ô],[ô][Ô] & Cod_Prod.Text & [Ô][ô],[ô][Ô] & Quantidade.Text & [Ô][ô],[ô][Ô] & Descricao.Text & [Ô][ô],[ô][Ô] & Vl_Unitario.Text & [Ô][ô],[ô][Ô] & Subtotal.Text & [Ô][ô],[ô][Ô] & Dt_Venda.Text & [Ô][ô],[ô][Ô] & FormaPgto & [Ô][ô],[ô][Ô] & Parcelas.Text & [Ô][ô],[ô][Ô] & Valor.Text & [Ô][ô],[ô][Ô] & Dinheiro.Text & [Ô][ô],[ô][Ô] & Troco.Text & [Ô][ô])[Ô]
.CommandType = CommandType.Text
End With
mr = cmd.ExecuteNonQuery
MsgBox([Ô]Venda cadastrada com sucesso[Ô], MsgBoxStyle.Information, [Ô]ConcluÃdo[Ô])
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
Dinheiro.Clear()
Troco.Clear()
Dim cmd3 As New SqlCommand
Dim mr3 As SqlDataReader
With cmd3
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]Select MAX(Cod_Venda) AS idAtual from Tb_Vendas[Ô]
.CommandType = CommandType.Text
End With
mr3 = cmd3.ExecuteReader
mr3.Read()
If Not IsNothing(mr3!idAtual) Then
Cod_Venda.Text = mr3!idAtual + 1
Else
Cod_Venda.Text = 1
End If
Cod_Func.BackColor = Color.White
Cod_Cli.BackColor = Color.White
Nome_Cli.BackColor = Color.White
Cod_Prod.BackColor = Color.White
Quantidade.BackColor = Color.White
Descricao.BackColor = Color.White
Vl_Unitario.BackColor = Color.White
Subtotal.BackColor = Color.White
Parcelas.BackColor = Color.White
Dt_Venda.BackColor = Color.White
Valor.BackColor = Color.White
Dinheiro.BackColor = Color.White
Troco.BackColor = Color.White
Else
MsgBox([Ô]Erro 004: O campo código do funcionário é obrigatório.[Ô], MsgBoxStyle.Exclamation, [Ô]Erro[Ô])
Cod_Func.BackColor = Color.Red
Cod_Cli.BackColor = Color.White
Nome_Cli.BackColor = Color.White
Cod_Prod.BackColor = Color.White
Quantidade.BackColor = Color.White
Descricao.BackColor = Color.White
Vl_Unitario.BackColor = Color.White
Subtotal.BackColor = Color.White
Parcelas.BackColor = Color.White
Dt_Venda.BackColor = Color.White
Valor.BackColor = Color.White
Dinheiro.BackColor = Color.White
Troco.BackColor = Color.White
Cod_Func.Focus()
End If
End Sub
Private Sub Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sair.Click
Me.Close()
End Sub
Private Sub Limpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Limpar.Click
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
Dinheiro.Clear()
Troco.Clear()
End Sub
Private Sub Alterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Alterar.Click
If Cod_Func.Text <> [Ô][Ô] Then
If Cod_Cli.Text <> [Ô][Ô] Then
If Cod_Prod.Text <> [Ô][Ô] Then
If Quantidade.Text <> [Ô][Ô] Then
Dim cn As SqlConnection
Dim cmd As New SqlCommand
cn = New SqlConnection(Conexao)
Dim FormaPgto As String
If FDinheiro.Checked = True Then
FormaPgto = [Ô]Dinheiro[Ô]
Else
FormaPgto = [Ô]DebitoVisa[Ô]
End If
cn.Open()
With cmd
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]update Tb_Vendas set Data=[ô][Ô] & Dt_Venda.Text & [Ô][ô],Cod_Venda = [ô][Ô] & Cod_Venda.Text & [Ô][ô],Cod_Func = [ô][Ô] & Cod_Func.Text & [Ô][ô],Cod_Cli = [ô][Ô] & Cod_Cli.Text & [Ô][ô],Nome_Cli=[ô][Ô] & Nome_Cli.Text & [Ô][ô],Cod_Prod = [ô][Ô] & Cod_Prod.Text & [Ô][ô],Quantidade = [ô][Ô] & Quantidade.Text & [Ô][ô],Descricao = [ô][Ô] & Descricao.Text & [Ô][ô],Vl_Unit = [ô][Ô] & Vl_Unitario.Text & [Ô][ô],Subtotal = [ô][Ô] & Subtotal.Text & [Ô][ô],FormaPgto = [ô][Ô] & FormaPgto & [Ô][ô],Parcelas = [ô][Ô] & Parcelas.Text & [Ô][ô],Valor_Venda=[ô][Ô] & Replace(Valor.Text, [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],Dinheiro = [ô][Ô] & Dinheiro.Text & [Ô][ô] where Cod_Venda=[ô][Ô] & Cod_Venda.Text & [Ô][ô][Ô]
.CommandType = CommandType.Text
End With
Dim mr2 As Integer
Dim cmd2 As New SqlCommand
Dim cond As Integer = 0
Dim lista As Integer
While cond <> lista
With cmd2
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]insert into Tb_Vendas(Cod_Venda) values ([ô][Ô] & Cod_Venda.Text & [Ô][ô])[Ô]
.CommandType = CommandType.Text
End With
mr2 = cmd2.ExecuteNonQuery
cond = cond + 1
End While
MsgBox([Ô]Venda alterada com sucesso![Ô], MsgBoxStyle.Information, [Ô]ConcluÃdo[Ô])
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
algumas partes da codificação estão prontas porém,qndo eu insiro o produto na parte de item vendido os campos apagam e na hora de efetivar a venda. Alguém pode me ajudar ????
Vou tirar um print da tela.
O meu e-mail é i.tarata@hormail.com
Se alguém puder me ajudar eu vou ficar muuuito feliz
Os códigos:
Imports System.Data.SqlClient
Public Class Vendas
Private Sub Cadastrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cadastrar.Click
If Cod_Func.Text <> [Ô][Ô] Then
Dim cn As SqlConnection
Dim cmd As New SqlCommand
Dim mr As Integer
Dim FormaPgto As String = Nothing
Dim Parcela As Integer
If Credito.Checked = True Then
FormaPgto = [Ô]Cartão de Crédito[Ô]
Parcela = Parcelas.Text
End If
If Debitomaster.Checked = True Then
FormaPgto = [Ô]Cartão de Débito Master[Ô]
Parcela = 1
End If
If Debitovisa.Checked = True Then
FormaPgto = [Ô]Cartão de Débito Visa[Ô]
Parcela = 1
End If
If FDinheiro.Checked = True Then
FormaPgto = [Ô]Cheque[Ô]
Parcela = 1
End If
cn = New SqlConnection(Conexao)
cn.Open()
With cmd
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]insert into Tb_Vendas(Data,Cod_Venda,Cod_Func,Cod_Cli,Nome_Cli,Subtotal,FormaPgto,Parcela,Valor_Venda,Dinheiro,Troco) values([ô][Ô] & Dt_Venda.Text & [Ô][ô],[ô][Ô] & Cod_Venda.Text & [Ô][ô],[ô][Ô] & Cod_Func.Text & [Ô][ô],[ô][Ô] & Cod_Cli.Text & [Ô][ô],[ô][Ô] & Nome_Cli.Text & [Ô][ô],[ô][Ô] & Cod_Prod.Text & [Ô][ô],[ô][Ô] & Quantidade.Text & [Ô][ô],[ô][Ô] & Descricao.Text & [Ô][ô],[ô][Ô] & Vl_Unitario.Text & [Ô][ô],[ô][Ô] & Subtotal.Text & [Ô][ô],[ô][Ô] & Dt_Venda.Text & [Ô][ô],[ô][Ô] & FormaPgto & [Ô][ô],[ô][Ô] & Parcelas.Text & [Ô][ô],[ô][Ô] & Valor.Text & [Ô][ô],[ô][Ô] & Dinheiro.Text & [Ô][ô],[ô][Ô] & Troco.Text & [Ô][ô])[Ô]
.CommandType = CommandType.Text
End With
mr = cmd.ExecuteNonQuery
MsgBox([Ô]Venda cadastrada com sucesso[Ô], MsgBoxStyle.Information, [Ô]ConcluÃdo[Ô])
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
Dinheiro.Clear()
Troco.Clear()
Dim cmd3 As New SqlCommand
Dim mr3 As SqlDataReader
With cmd3
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]Select MAX(Cod_Venda) AS idAtual from Tb_Vendas[Ô]
.CommandType = CommandType.Text
End With
mr3 = cmd3.ExecuteReader
mr3.Read()
If Not IsNothing(mr3!idAtual) Then
Cod_Venda.Text = mr3!idAtual + 1
Else
Cod_Venda.Text = 1
End If
Cod_Func.BackColor = Color.White
Cod_Cli.BackColor = Color.White
Nome_Cli.BackColor = Color.White
Cod_Prod.BackColor = Color.White
Quantidade.BackColor = Color.White
Descricao.BackColor = Color.White
Vl_Unitario.BackColor = Color.White
Subtotal.BackColor = Color.White
Parcelas.BackColor = Color.White
Dt_Venda.BackColor = Color.White
Valor.BackColor = Color.White
Dinheiro.BackColor = Color.White
Troco.BackColor = Color.White
Else
MsgBox([Ô]Erro 004: O campo código do funcionário é obrigatório.[Ô], MsgBoxStyle.Exclamation, [Ô]Erro[Ô])
Cod_Func.BackColor = Color.Red
Cod_Cli.BackColor = Color.White
Nome_Cli.BackColor = Color.White
Cod_Prod.BackColor = Color.White
Quantidade.BackColor = Color.White
Descricao.BackColor = Color.White
Vl_Unitario.BackColor = Color.White
Subtotal.BackColor = Color.White
Parcelas.BackColor = Color.White
Dt_Venda.BackColor = Color.White
Valor.BackColor = Color.White
Dinheiro.BackColor = Color.White
Troco.BackColor = Color.White
Cod_Func.Focus()
End If
End Sub
Private Sub Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sair.Click
Me.Close()
End Sub
Private Sub Limpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Limpar.Click
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
Dinheiro.Clear()
Troco.Clear()
End Sub
Private Sub Alterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Alterar.Click
If Cod_Func.Text <> [Ô][Ô] Then
If Cod_Cli.Text <> [Ô][Ô] Then
If Cod_Prod.Text <> [Ô][Ô] Then
If Quantidade.Text <> [Ô][Ô] Then
Dim cn As SqlConnection
Dim cmd As New SqlCommand
cn = New SqlConnection(Conexao)
Dim FormaPgto As String
If FDinheiro.Checked = True Then
FormaPgto = [Ô]Dinheiro[Ô]
Else
FormaPgto = [Ô]DebitoVisa[Ô]
End If
cn.Open()
With cmd
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]update Tb_Vendas set Data=[ô][Ô] & Dt_Venda.Text & [Ô][ô],Cod_Venda = [ô][Ô] & Cod_Venda.Text & [Ô][ô],Cod_Func = [ô][Ô] & Cod_Func.Text & [Ô][ô],Cod_Cli = [ô][Ô] & Cod_Cli.Text & [Ô][ô],Nome_Cli=[ô][Ô] & Nome_Cli.Text & [Ô][ô],Cod_Prod = [ô][Ô] & Cod_Prod.Text & [Ô][ô],Quantidade = [ô][Ô] & Quantidade.Text & [Ô][ô],Descricao = [ô][Ô] & Descricao.Text & [Ô][ô],Vl_Unit = [ô][Ô] & Vl_Unitario.Text & [Ô][ô],Subtotal = [ô][Ô] & Subtotal.Text & [Ô][ô],FormaPgto = [ô][Ô] & FormaPgto & [Ô][ô],Parcelas = [ô][Ô] & Parcelas.Text & [Ô][ô],Valor_Venda=[ô][Ô] & Replace(Valor.Text, [Ô],[Ô], [Ô].[Ô]) & [Ô][ô],Dinheiro = [ô][Ô] & Dinheiro.Text & [Ô][ô] where Cod_Venda=[ô][Ô] & Cod_Venda.Text & [Ô][ô][Ô]
.CommandType = CommandType.Text
End With
Dim mr2 As Integer
Dim cmd2 As New SqlCommand
Dim cond As Integer = 0
Dim lista As Integer
While cond <> lista
With cmd2
.Connection = cn
.CommandTimeout = 0
.CommandText = [Ô]insert into Tb_Vendas(Cod_Venda) values ([ô][Ô] & Cod_Venda.Text & [Ô][ô])[Ô]
.CommandType = CommandType.Text
End With
mr2 = cmd2.ExecuteNonQuery
cond = cond + 1
End While
MsgBox([Ô]Venda alterada com sucesso![Ô], MsgBoxStyle.Information, [Ô]ConcluÃdo[Ô])
Cod_Func.Clear()
Cod_Cli.Clear()
Nome_Cli.Clear()
Cod_Prod.Clear()
Quantidade.Clear()
Descricao.Clear()
Vl_Unitario.Clear()
Subtotal.Clear()
Parcelas.Text = [Ô][Ô]
Dt_Venda.Clear()
Valor.Clear()
Olá, Ingrid
Quando você manda adicionar o item na venda você pode colocar os itens na grid e quando finalizar lê os itens, para adicionar na grid.
posta ai o código assim vamos ajudando
Quando você manda adicionar o item na venda você pode colocar os itens na grid e quando finalizar lê os itens, para adicionar na grid.
With DtVendas
.Rows.Add(produto, rsproduto([Ô]prod_descricao[Ô]), rsproduto([Ô]uni_descricao[Ô]), dec_quantidade, dec_VlVenda)
.Focus()
End With
para somar
Dim tot As Double = 0
Dim subtot As Double = 0
Dim i As Integer = 0
For i = 0 To DtVendas.Rows.Count - 1
tot = tot + Convert.ToDouble(DtVendas.Rows(i).Cells(8).Value)
subtot = subtot + Convert.ToDouble(DtVendas.Rows(i).Cells(5).Value)
Next
LblVLTotal.Text = Format(Convert.ToDouble(tot), [Ô]###,##0.00[Ô])
posta ai o código assim vamos ajudando
Ingrid, pelo que analisei o seu código, você adiciona a tab vendas direto, vamos por parte como diria meu amigo JACK.
Você precisar ter uma tabela de PEDIDOS este pedido confirmado se transforma em venda, ou seja você precisa de um Nº de Pedido para deixar a venda no GRID, o código que lhe passei abaixo, ele adiciona no GRID de forma temporaria, se sair da tela some, assim quando eu finalizar a venda no seu caso cadastrar, o sistema lança tudo na tabela de vendas. pois a tela de vendas o cliente pode desistir de comprar e você ja lançou na tabela de vendas.
O erro esta na lógica, se é isso que entendi, qualquer coisa posta ai que vamos tentando ajudar.
Você precisar ter uma tabela de PEDIDOS este pedido confirmado se transforma em venda, ou seja você precisa de um Nº de Pedido para deixar a venda no GRID, o código que lhe passei abaixo, ele adiciona no GRID de forma temporaria, se sair da tela some, assim quando eu finalizar a venda no seu caso cadastrar, o sistema lança tudo na tabela de vendas. pois a tela de vendas o cliente pode desistir de comprar e você ja lançou na tabela de vendas.
O erro esta na lógica, se é isso que entendi, qualquer coisa posta ai que vamos tentando ajudar.
Tópico encerrado , respostas não são mais permitidas