Jump to content

Actualização de tabelas


Go to solution Solved by Felipe Machado,

Recommended Posts

Posted

Olha eu aqui novamente rsrs.

Boa tarde, gostaria da ajuda de vocês.

Vamos lá tenho 3 tabelas diferentes no meu BD Produtos, Retirada e Vendedoras,  fiz uma query no mysql que utiliza insert+ select para inserir na tabela de Retirada o produtos que está na tabela Produtos, valor, preço e imagem do produto, e pegar o código da Vendedora, e fiz outra query de update para atualizar os valores de quantidade da tabela de Produtos, mas notei que quando o código de barra do produto é digitado incorretamente a quantidade em estoque atualiza do mesmo jeito, gostaria que vocês me ajudassem a atualizar a quantidade de preço somente quando o código de barra do produto estiver certo e for inserido na tabela de Retirada.

Public Function gravar()
        If (CodigoBarra.Text = "") Then
            MsgBox("adicione valores no campo")
        Else
            'função que inicia a conexão'
            connection()
            Try

                Dim datevalue As Date = Date.Now
                'query em string'
                SQL = "INSERT INTO retirada (codvend,codigobarra,imgp,tipo,valor,diaretira) SELECT codvend,codigobarra,imgp,tipo,valor,current_date FROM produtos,vendedoras WHERE produtos.codigobarra= @codigobarra and vendedoras.codvend=@codvend"
                'comando recebe a string e a conexão que ela vai entrar'
                cmd = New MySqlCommand(SQL, conn)
                'paramentros para adicionar valores aos campos sqls descritos com @
                cmd.Parameters.AddWithValue("@codigobarra", CodigoBarra.Text)
                cmd.Parameters.AddWithValue("@codvend", CInt(Recebecodigo.Text))
                'executa o comando'
                cmd.ExecuteNonQuery()
                cmd.Dispose()
                'altera quantidade em estoque'
      
                Try
                    'sql update'
                    Dim sqlupdate As String = "update produtos set quantidade = quantidade-1 where codigobarra = '" & CodigoBarra.Text & "'"
                    'executa o update com a string e a conexão'
                    cmd = New MySqlCommand(sqlupdate, conn)
                    'executa o comando'
                    cmd.ExecuteNonQuery()
                Catch ax As MySqlException
                    MsgBox(ax)
                End Try
    		Catch ex As MySqlException
                MsgBox(ex)
            End Try
        End If
        Return True
    End Function

Agradeço desde Já.

  • Solution
Posted

Perfeito funcionou certinho

o código ficou assim

If (CodigoBarra.Text = "") Then
            MsgBox("adicione valores no campo")
        Else
            ''função que inicia a conexão
            connection()

            Try
                sqlselecao = "select codigobarra from produtos where codigobarra  = '" & CodigoBarra.Text & "';"
                cmd = New MySqlCommand(sqlselecao, conn)
                str = cmd.ExecuteScalar()

            Catch ex As Exception
                MsgBox(ex)
            End Try
            If (str <> Nothing) Then
                Try
                    ''query em string
                    sqlinser = "INSERT INTO retirada (codvend,codigobarra,imgp,tipo,valor,diaretira) SELECT codvend,codigobarra,imgp,tipo,valor,current_date FROM produtos,vendedoras WHERE produtos.codigobarra= @codigobarra and vendedoras.codvend=@codvend"
                    'comando recebe a string e a conexão que ela vai entrar'
                    cmd = New MySqlCommand(sqlinser, conn)
                    'paramentros para adicionar valores aos campos sqls descritos com @'
                    cmd.Parameters.AddWithValue("@codigobarra", CodigoBarra.Text)
                    cmd.Parameters.AddWithValue("@codvend", CInt(Recebecodigo.Text))
                    'executa o comando'
                    cmd.ExecuteNonQuery()
                    cmd.Dispose()
                    'altera quantidade em estoque'
                    Try
                        'query update'
                        Dim sqlupdate As String = "update produtos set quantidade = quantidade-1 where codigobarra = '" & CodigoBarra.Text & "'"
                        'executa o update com a string e a conexão'
                        cmd = New MySqlCommand(sqlupdate, conn)
                        'executa o comando'
                        cmd.ExecuteNonQuery()
                    Catch ax As MySqlException
                        MsgBox(ax)
                    End Try
                Catch ex As MySqlException
                    MsgBox(ex)
                End Try
            Else
                MsgBox("Código de Barras " & CodigoBarra.Text & " é invalido")
            End If
            End If

obrigado pela ajuda.

Tópico resolvido.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.