none
Programa fecha sem eu querer RRS feed

  • Pergunta

  • Olá pessoal boa tarde. Venho aqui pedir a ajuda de vocês pois tenho um formulário Windows VB.NET que se mostra com ShowDialog() e nele faço umas alterações no registros. O problema é que quando pressiono no botão confirma as alterações são feitas só que o programa inteiro fecha, não apenas o formulário. Já até excluir um formulário anterior e o erro continua.

    Neste formulário alterei apenas as propriedade básicas com:

    Name = Form_editar_saidas

    StartPosition = CenterScreen

    Text = Editar Saidas

    Segue o código abaixo:

    Imports System.Data.OleDb
    Imports System.Data
    Imports System.Drawing.Printing
    Public Class Form_saidas_editar

        Private Sub editar()

       If txt_descricao.Text = "" Or txt_valor.Value = 0 Or txt_usuario.Text = "" Then
                MsgBox("Preencha todos os campos!", vbCritical)
            Else
                Try
                    Dim constr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\ProDB.accdb"
                    Dim con As New OleDbConnection(constr)

                    Dim cmd As New OleDbCommand("UPDATE tab_saidas SET descricao ='" & txt_descricao.Text & "', valor_saida ='" & txt_valor.Value & "', data_saida = '" & txt_date.Value.Date & "', usuario = '" & txt_usuario.Text & "' WHERE id=" & Form1.grid_saidas.CurrentRow.Cells(0).Value & "")
                    Dim sda As New OleDbDataAdapter()

                    cmd.Connection = con
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                    txt_descricao.Text = ""
                    txt_valor.Value = 0
                    txt_usuario.Text = ""
                    MsgBox("Atualização realizada com sucesso!", vbInformation)

                    ' restabelece_saidas()
                Catch ex As Exception
                    MsgBox("erro: " & ex.Message, MsgBoxStyle.Critical)
                End Try
                End

            End If
        End Sub

        Private Sub Form_editar_saida_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txt_descricao.Text = Form1.grid_saidas.CurrentRow.Cells(1).Value
            txt_valor.Value = Form1.grid_saidas.CurrentRow.Cells(2).Value
            txt_date.Value = Form1.grid_saidas.CurrentRow.Cells(3).Value
            txt_usuario.Text = Form1.grid_saidas.CurrentRow.Cells(4).Value
            txt_descricao.Select()
        End Sub

           Private Sub btn_confirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_confirmar.Click
            editar()
        End Sub

              
    • Editado Icosaedro domingo, 25 de junho de 2017 17:28
    domingo, 25 de junho de 2017 17:24

Respostas

Todas as Respostas

  • Dê uma olhada no EventViewer do Windows para checar se existe algum detalhe do erro.

    Carlos Eduardo Ferreira

    segunda-feira, 26 de junho de 2017 11:46
  • Boa tarde,

    Por falta de retorno esta thread esta encerrada.

    Por gentileza, caso necessário abra uma nova thread.

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 29 de junho de 2017 19:33
    Moderador