Array
(
)

Estoque em vb net.

Danilo Almeida
|
MVP
    04 nov 2015

Boa tarde pessoal !!!
Preciso de uma ajudinha no meu projeto de controle de estoque, eu to com dificuldade na hora de apresentar a msg quando o estoque disponivel chega ao estoque minimo e quando o estoque disponível chega a 0 não deixa ser inserido na aplicação.
O erro que ta acontecendo é o seguinte, eu faço o calculo e mesmo o estoque disponivel não chegando ao estoque minimo e o estoque disponível não estando em "0" ele está me mostrando a msg que "chegou ao estoque minimo" e que o "Estoque minimo esta a zero".
se tiver como me ajudar pf,
Desde já agradeço.
vo postar uma parte do codigo aqui.
=================================================================================================================
Modulo de acesso a dados

Imports System.Data
Imports System.Data.SqlClient
Imports System.IO

Module AcessoAdados
Public intCodEst As Integer
Public NomeProd As String
Public Desc As String
Public EstMinimo As Integer
Public EstDisponivel As Integer
Public valor As Decimal
Public Marca As String
Public tamanho As String
Public CodFor As Integer

Public Function GetConnection() As SqlConnection
Dim sql As String = My.Settings.ConnectionString.ToString
Return New SqlConnection(sql)
End Function
End Module
==================================================================================================================
Tabela estoque
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Public Class Form1
Dim Str As String = My.Settings.ConnectionString.ToString
Dim sqlDa As New SqlDataAdapter
Dim dtb As DataTable
Dim sqlCon As New SqlConnection(Str)
Dim sqlCmd As New SqlCommand
Dim valor1 As Integer
Dim valor2 As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
PcarregaDados()
CarregaDados()
'ativa o modo de seleção de linha
Mostradatagrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect
'ajusta o tamanho das células
Me.Mostradatagrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
End Sub

Public Sub verificaSituacaoproduto()
If Val(TxtEstDis.Text) <= Val(TxtEstmi.Text) Then
MsgBox("Produtos se encontra em estoque minimo", MsgBoxStyle.Exclamation)
End If
End Sub
Public Function verificaSituacao() As Boolean

If Val(TxtEstDis.Text) = 0 Then
MsgBox("Produtos não se encontra em estoque", MsgBoxStyle.Exclamation)
Return False
End If

Return True
End Function

Public Sub PcarregaDados()
Using con As SqlConnection = GetConnection()
Try
con.Open()
Dim sql As String = "Select * From CadastroDeProdutos"
Dim cmd As SqlCommand = New SqlCommand(sql, con)
Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Mostradatagrid.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Public Sub ListaEstoque()
intCodEst = Mostradatagrid.CurrentRow().Cells(0).Value
NomeProd = Mostradatagrid.CurrentRow().Cells(1).Value
Desc = Mostradatagrid.CurrentRow().Cells(2).Value
EstMinimo = Mostradatagrid.CurrentRow().Cells(3).Value
EstDisponivel = Mostradatagrid.CurrentRow().Cells(4).Value
valor = Mostradatagrid.CurrentRow().Cells(5).Value
Marca = Mostradatagrid.CurrentRow().Cells(6).Value
tamanho = Mostradatagrid.CurrentRow().Cells(7).Value
CodFor = Mostradatagrid.CurrentRow().Cells(8).Value
CarregaDados()
End Sub

Private Sub inserirDados()

Try
sqlCon.Open()

With sqlCmd
.CommandType = CommandType.Text
.CommandText = ""
.CommandText = "INSERT INTO CadastroDeProdutos (NomeProd_Est,DescProd_Est,Est_Minimo,Est_Disponivel,Valor_Est,Marca_Est,Tamanho_Est,CodFor_Est) Values(@NomeProd_Est,@DescProd_Est,@Est_Minimo,@Est_Disponivel,@Valor_Est,@Marca_Est,@Tamanho_Est,@CodFor_Est)"
.Connection = sqlCon
.Parameters.Add(New SqlParameter("@NomeProd_Est", SqlDbType.VarChar)).Value = TxtNomeProd.Text
.Parameters.Add(New SqlParameter("@DescProd_Est", SqlDbType.VarChar)).Value = TxtDesc.Text
.Parameters.Add(New SqlParameter("@Est_Minimo", SqlDbType.Int)).Value = TxtEstmi.Text
.Parameters.Add(New SqlParameter("@Est_Disponivel", SqlDbType.Int)).Value = TxtEstDis.Text
.Parameters.Add(New SqlParameter("@Valor_Est", SqlDbType.Decimal)).Value = TxtValor.Text
.Parameters.Add(New SqlParameter("@Marca_Est", SqlDbType.VarChar)).Value = TxtMarca.Text
.Parameters.Add(New SqlParameter("@Tamanho_Est", SqlDbType.VarChar)).Value = TxtTamanho.Text
.Parameters.Add(New SqlParameter("@CodFor_Est", SqlDbType.Int)).Value = TxtIdFor.Text
End With
sqlCmd.ExecuteNonQuery()
MsgBox("Registro Inserido com Sucesso.", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox(ex.Message)
Finally
sqlCmd.Parameters.Clear()
sqlCon.Close()
End Try
End Sub
Public Sub CarregaDados()
lblCodigo.Text = intCodEst
TxtNomeProd.Text = NomeProd
TxtDesc.Text = Desc
TxtEstmi.Text = EstMinimo
TxtEstDis.Text = EstDisponivel
TxtValor.Text = valor
TxtMarca.Text = Marca
TxtTamanho.Text = tamanho
TxtIdFor.Text = CodFor
verificaSituacaoproduto()
End Sub
Private Sub btnCadastrar_Click(sender As Object, e As EventArgs) Handles btnCadastrar.Click
inserirDados()
End Sub
Private Sub MostraDataGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Mostradatagrid.Click
ListaEstoque()
End Sub

End Class
==================================================================================================================
tabela de saidas

Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Public Class Form2
Dim Str As String = My.Settings.ConnectionString.ToString
Dim sqlDa As New SqlDataAdapter
Dim dtb As DataTable
Dim sqlCon As New SqlConnection(Str)
Dim sqlCmd As New SqlCommand
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub
Private Sub btnCadastrar_Click(sender As Object, e As EventArgs) Handles btnCadastrar.Click
If Form1.verificaSituacao() = False Then Exit Sub

Form1.verificaSituacaoproduto()
InserirDados()
End Sub
'Rotina de inserir Dados da tabela Vendas
Private Sub InserirDados()
Try
sqlCon.Open()

With sqlCmd
.CommandType = CommandType.Text
.CommandText = ""
.CommandText = "INSERT INTO SaidasDeProdutos (CodProd_Vend,QtdProd_Vend,CodCli_Vend,NomeCli_Vend,CodFun_Vend,FormaPagm_Vend,Data_Vend) Values (@CodProd_Vend,@QtdProd_Vend,@CodCli_Vend,@NomeCli_Vend,@CodFun_Vend,@FormaPagm_Vend,@Data_Vend)"
.Connection = sqlCon
.Parameters.Add(New SqlParameter("@CodProd_Vend", SqlDbType.Int)).Value = TxtIdProd.Text
.Parameters.Add(New SqlParameter("@QtdProd_Vend", SqlDbType.Int)).Value = TxtQtd.Text
.Parameters.Add(New SqlParameter("@CodCli_Vend", SqlDbType.Int)).Value = TxtCodCli.Text
.Parameters.Add(New SqlParameter("@NomeCli_Vend", SqlDbType.VarChar)).Value = TxtNomeCli.Text
.Parameters.Add(New SqlParameter("@CodFun_Vend", SqlDbType.Int)).Value = TxtIdFun.Text
.Parameters.Add(New SqlParameter("@FormaPagm_Vend", SqlDbType.VarChar)).Value = TxtFormaPag.Text
.Parameters.Add(New SqlParameter("@Data_Vend", SqlDbType.VarChar)).Value = MaskedData.Text

End With
sqlCmd.ExecuteNonQuery()
MsgBox("Registro Inserido com Sucesso.", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox(ex.Message)
Finally
sqlCmd.Parameters.Clear()
sqlCon.Close()
End Try
End Sub
Private Sub CarregarDados()
Try
With sqlCmd
.CommandType = CommandType.Text
.CommandText = "SELECT * from SaidasDeProdutos"
.Connection = sqlCon
End With
With sqlDa
.SelectCommand = sqlCmd
dtb = New DataTable
.Fill(dtb)
Mostradatagrid.DataSource = dtb
End With
Catch ex As Exception
MsgBox(ex.Message)
Finally
sqlCon.Close()
End Try

End Sub

End Class