EFETUAR VENDAS EM VISUAL BASIC
Genteeee eu preciso muito de ajuda com tela de vendas em VB por favoor !!!! Vou postar a imagem e os códigos,algumas coisas já estão feitas,porém quando eu add um item na venda os campos apagam e os dados vão para o grid logo abaixo,porém dá erro na hora de efetuar a venda pq estão faltando campos e eu não sei arrumar isso :/
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()
Para lhe ajudar teremos que refazer seu código para tentar adivinhar o erro... Vai dar um trabalhão. E tenho certeza que ninguém está com tanto tempo disponÃvel.
Para facilitar poste o erro e especifique o que está ocorrendo exatamente.
Para facilitar poste o erro e especifique o que está ocorrendo exatamente.
Tópico encerrado , respostas não são mais permitidas