none
Registrar login ao excluir cadastro RRS feed

  • Pergunta

  • Bom dia a todos

    Vou direto ao assunto para economizar tempo Agradeço a todos que puderem me ajudar.

    Tenho um Bd com uma tabela cadastro  com varios campos e preciso acrecentar a tabela login com os seguintes campos "RgExclusao" "IdExcluido" DtExclusao"

    Isto é facil, porem ao executar o evento que vou dizer preciso que seja registrado nesta tabela "Login"

    Por ex: quem excluir um Cadastro ficará anotado o nr do Registro no campo (RgExclusao) o Id que foi excluido no campo (IdExcluido) e a data que foi excluido o cadastro no campo (DtExclusao).

    Detalhe o campo "DtExclusao" devera conter data e hora do sistema.

    Vamo lá.

    Tenho um FormCadSenha para criar e armazenar a senha  no Diretorio Raiz no formato (.txt)

    Este Form solicita o Registro o Rg e a senha do funcionario.

    O usuario preenche estes campos e cadastra a senha.

    O sistema cria uma pasta no diretorio C:... com o nr de Registro uma subpasta com nr do Rg e dentro desta supasta o arquivo (.txt) com a senha informada. 

    Em outro Form tenho um BtnExcluir preciso que ao clicar no mesmo ele solicite a confirmaçao da senha criada no FormCadSenha  e verifique se o registro/Rg existe se existir verifica se a senha digitada confere com a senha no arquivo (.txt) se for igual entao executa a ação solicitada  e registra no Bd  na tabela "login " o Nr do Registro no campo "RgExclusao" o Id excluido no campo "IdExcluido" e a data/hora  da exclusao no campo "DtExclusao".

    Quando algum usuario for pesquisar o cadastro  e o mesmo estiver cido excluido o sistema informa por meio de um MsgBox o nr do registro de quem excluiu e a data e hora da exclusão.

    Agradeço a todos que puderem me ajudar .


    Antonio Carlos acefeli@hotmail.com

    • Editado acefel quinta-feira, 29 de setembro de 2011 11:31
    quinta-feira, 29 de setembro de 2011 11:04

Respostas

  • Seu código para deletar está sendo executado após o ShowDialog() do form... então o form de nada servirá.

    Esse código aí deve ser posto no botão do formConfSenha.

    Isso aqui:

      Dim CmExc As String = "Delete from cadastro where código= " & Me.LblCod.Text
    
                Using con As OleDbConnection = GetConnection()
                    Try
                        con.Open()
                        Dim cmd As OleDbCommand = New OleDbCommand(CmExc, con)
    
                        cmd.ExecuteNonQuery()
    
                    Catch ex As Exception
                        MsgBox("Não foi Possível Excluir o Cadastro.Se Persistir o Problema Informe o Administrador do Sistema.")
    
                    End Try
    
                    limparCampos()
                    MsgBox("Cadastro Excluido com Sucesso.")
                    carregaGrid()
                    BtnNovo.Focus()
    
                    con.Close()
    
                End Using

    Deve ser posto onde eu comentei no código acima,dentro do else.

    Quando for inserir códigos,mude isso:

    Inserir Bloco de Código

    Idioma : para VB.NET.
    quinta-feira, 27 de outubro de 2011 21:10
  • Para abrir um formulário MDI dentro de outro,mude a propriedade IsMDIContainer para true do outro form.

    Para mostrá-lo e deixar o bntExcluir desabilitado:

     

    Dim f As New Form2()
    f.MdiParent = Me
    f.Show()
    
    f.BtnExcluir.Enabled = False
    
    • Sugerido como Resposta Eder CostaModerator sexta-feira, 11 de novembro de 2011 14:19
    • Não Sugerido como Resposta acefel sexta-feira, 11 de novembro de 2011 21:57
    • Marcado como Resposta Levi DomingosModerator terça-feira, 15 de novembro de 2011 15:25
    terça-feira, 8 de novembro de 2011 19:15

Todas as Respostas

  • Tenta usar isso amigo:

    Dim hoje, agora, usuario, dataExlusão As String

    Private Sub hoje() Handles btnExcluirRegistro.Click

       If TxextBox1.Text="" Then

          MessageBox.Show("Informe Um usuário para executar a Exclusão!")

       Else

          hoje = Today

          agora = TimeOfDay

          usuario = TextBox1.Text

          'Inicio do Codigo de exclusão no DB

          'Fim do Codigo de exclusão no DB

          dataExclusao = hoje + " às " + agora

          MessageBox.Show("Dados excluidos por: " + usuario + " Em: " + dataExclusão)

       End If

    End Sub

     

    Depois é so você tratar o usuario como um usuario corrente (Fazer Login para acessar sua aplicação).

    E usar a String dataExclusão para acrescentar um valor em uma coluna do registro da exlusão na tabela do DB.

     

    espero que ajude

     

    Abraço

     

     


    • Editado Tallys SF sexta-feira, 30 de setembro de 2011 09:39 Handles
    sexta-feira, 30 de setembro de 2011 09:38
  • Ola companheiro veja bem sou iniciante em programaçao Porem fiz alguns comandos com apoio de nossos colegas deste forum Para ficar correto este projeto desde o inicio vou precisar da ajuda p/ funcionar o (formCadSenha) Criei a tabela login dentro do Bd Access como avia dito anteriormente Estou usando somente dois campos (registro e senha) Estou tentando cadastrar o registro e a Senha no Bd Access mas nao sei oque esta acontecendo que nao consigo gravar Fiz o outro formCad e esta funcionando corretamente Vamos lá Criei esta tabela (login) para quando o usuario for excluir dados da tabela (cadastro) o sistema solicita o (registro0 e verifica se ele existe na tabela (login) se existir solicita a senha e verifica se confere com a senha cadastrada se conferir executa a açao. Caso o registro nao exista informa ao usuario que o mesmo nao tem previlegio de ADM .Caso a senha for incorreta informa erro de senha .Após conferido todos os itens e verificado a autenticidade e executado a açao devera ficar anotado os dados de quem excluiu como disse anteriormente. Vc disse pra Eu criar umas variaveis, posso criar estas variaveis no module?
    Antonio Carlos acefeli@hotmail.com
    • Editado acefel sexta-feira, 30 de setembro de 2011 11:39
    sexta-feira, 30 de setembro de 2011 11:29
  • Bom amigo se esperar até amanhã eu preparo um tutorial bem legal pra vc :)

    hehehe

    Já to fazendo

     

    Abraço

     

     

     

    sábado, 1 de outubro de 2011 03:40
  • To no aguardo mas lembre-se preciso que diga os porques dos comandos só assim Eu aprendo

    valeu até


    Antonio Carlos acefeli@hotmail.com
    sábado, 1 de outubro de 2011 21:34
  • Olá amigo,

     

    desculpe a demora, mas é que tive alguns problemas de saude :)

    fiz um projeto para você com: Inclusão, Alteração e Exclusão de Registros, TODOS ELES REGISTRAM UM LOG DA AÇÃO (Quem, O que, Quando e Observações)

     

    Ao final do dia posto - Estou no trabalho ;P

     

     

    Att. Tallys


    Tallys. A persistência leva à perfeição
    terça-feira, 4 de outubro de 2011 14:26
  • valeu fico no aguardo
    Antonio Carlos acefeli@hotmail.com
    terça-feira, 4 de outubro de 2011 21:06
  • Pessoal Recebi a resposta desta threads em outra Threads acompanhe ai.

    http://social.msdn.microsoft.com/Forums/pt-BR/vsvbasicpt/thread/8c111fad-464d-4e77-a0fb-6ccb8bda164b

    Porem preciso solucionar um detalhe

    Ao verificar a existencia da Senha e Login preciso que o sistema continue com a solicitaçao, por exe:

    Cliquei no BtnExcluir e abriu o FormConfSenha(confere senha) após conferido quero que o sistema continue com a solicitaçao de exclusão do cadastro.

    Como faço isso?

     


    Antonio Carlos acefeli@hotmail.com
    terça-feira, 25 de outubro de 2011 20:22
  • Abre o form,deleta o registro após confirmada a existência deles e...

    o sistema continue com a solicitaçao de exclusão do cadastro. Essa parte eu não entendi.

    terça-feira, 25 de outubro de 2011 23:19
  • Vamos lá

    Quando cliquei no (BtnExcluir) abriu o (FomrConfSenha)

    Digitei o (login e Senha) e após a confirmação do (login e senha) ele deve EXECUTAR ação solicitada que é de excluir o cadastro  após isso deve Gravar no Bd na Tb_registros o : CODIGO EXCLUIDO ,LOGIN (que efetuou a exclusao) e a DATA DE EXCLUSÃO.

    E  após isso fechar o FormConfSenha e voltar para o FormCadastro

     


    Antonio Carlos acefeli@hotmail.com
    quarta-feira, 26 de outubro de 2011 15:21
  • No btnExcluir:

    dim conf as new FormConfSenha()
    conf.Showdialog()
    

    no botão do formConfSenha você põe o código que te mostrei,que verifica se existem os registros.Apenas inclua essa linha no final daquele código,na parte onde comentei lá:

    me.Close()<br/><br/>Isso vai fechar o form Conf Senha e voltar para o form aberto antes. <br/>
    
    quarta-feira, 26 de outubro de 2011 15:40
  • Tudo bem Vitor funcionou

    Mas mesmo sem digitar a senha o cadastro é excluido.

     

     


    Antonio Carlos acefeli@hotmail.com



    • Editado acefel quarta-feira, 26 de outubro de 2011 18:38
    quarta-feira, 26 de outubro de 2011 18:04
  • Dim sql As String = "INSERT INTO sua_tabela (login) VALUES (@login)"
    Dim con As New OleDbConnection(sua_string_de_conexao)<br/>Dim cmd As New OleDbCommand(sql, con)<br/>con.Open()
    cmd.Parameters.AddWithValue("@login", valor)<br/><br/>cmd.ExecuteNonQuery()
    
    Só muda o comando e select para insert.

     

    quarta-feira, 26 de outubro de 2011 18:38
  • Não edite os posts,poste outra resposta :)

    Mostre o código que está usando no formConfSenha.

    quarta-feira, 26 de outubro de 2011 18:40
  • Imports System.Data.OleDb
    Public Class ConfSenha
    
        Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click
            If TxtReg.Text = "" And TxtSenha.Text = "" Then
                MsgBox("Preencha os Campos Por Favor!")
                Exit Sub
            End If
            '--------------------------
    
            Dim sql As String = "SELECT * FROM login WHERE login = @login AND senha = @senha"
            Using Con As OleDbConnection = GetConnection() ' tipo da conecçao
                Try
                    Dim cmd As New OleDbCommand(sql, Con)
                    Dim valor As String
                    valor = TxtReg.Text
                    valor = TxtSenha.Text
                    cmd.Parameters.AddWithValue("@login", valor)
                    cmd.Parameters.AddWithValue("@senha", valor)
    
    
                    Con.Open() ' abre a conecção
    
                    Dim i As Integer = CInt(cmd.ExecuteScalar())
    
                    If i = 0 Then
                        Beep()
                        MsgBox("Solicitação Negada!")
                        Beep()
                        MsgBox(" Provalvelmente ERRO de LOGIN ou SENHA.")
                        TxtReg.Clear()
                        TxtSenha.Clear()
                        TxtReg.Focus()
    
                    Else
                        'será aqui que coloco a instruçao excluir!
                        Me.Close()
                    End If
                Catch ex As Exception
                    Beep()
                    MsgBox("Não foi Possivel Realizar a Solicitação! Informe o Administrador do Sistema." & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "Erro")
                End Try
            End Using
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Close()
        End Sub
    End Class


    Antonio Carlos acefeli@hotmail.com
    quarta-feira, 26 de outubro de 2011 19:41
  • ai vai o codigo do BtnExcluir

    Private Sub BtnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExcluir.Click
            
            If LblCod.Text = "" Then
    
                MsgBox("Informe um Cadastro Válido.", MsgBoxStyle.Critical, "Erro")
    
                Exit Sub
    
            End If
            Beep()
            If MsgBox("Deseja Realmente Excluir este Cadastro?", MsgBoxStyle.YesNo Or MsgBoxStyle.YesNo, "'") = MsgBoxResult.Yes Then
    
                Dim conf As New ConfSenha()
                Beep()
                conf.ShowDialog()
    
                Dim CmExc As String = "Delete from cadastro where código= " & Me.LblCod.Text
    
    
                Using con As OleDbConnection = GetConnection()
    
                    Try
                        con.Open()
                        Dim cmd As OleDbCommand = New OleDbCommand(CmExc, con)
    
    
                        cmd.ExecuteNonQuery()
    
                    Catch ex As Exception
                        MsgBox("Não foi Possível Excluir o Cadastro.Se Persistir o Problema Informe o Administrador do Sistema.")
    
                    End Try
    
                    limparCampos()
                    MsgBox("Cadastro Excluido com Sucesso.")
                    carregaGrid()
                    BtnNovo.Focus()
    
                    con.Close()
    
    
                End Using
            Else
                carregaGrid()
                limparCampos()
            End If
    
        End Sub


    Antonio Carlos acefeli@hotmail.com
    quarta-feira, 26 de outubro de 2011 19:43

  • Antonio Carlos acefeli@hotmail.com

    Coloca tudo que está embaixo do primeiro if dentro desse if,usando um else.


    quarta-feira, 26 de outubro de 2011 23:56
  • desculpe nao entendi
    Antonio Carlos acefeli@hotmail.com
    quinta-feira, 27 de outubro de 2011 15:53
  • Perai estou tendo duvidas

    coloco este codigo do (FormConfSenha) no BtnExcluir do (FormCadastro)  é isso ?

    em que local exato!

    ....

    ------------------------------------------------------------------------------

     Dim sql As String = "SELECT * FROM login WHERE login = @login AND senha = @senha"
            Using Con As OleDbConnection = GetConnection() ' tipo da conecçao
                Try
                    Dim cmd As New OleDbCommand(sql, Con)
                    Dim valor As String
                    valor = TxtReg.Text
                    valor = TxtSenha.Text
                    cmd.Parameters.AddWithValue("@login", valor)
                    cmd.Parameters.AddWithValue("@senha", valor)


                    Con.Open() ' abre a conecção

                    Dim i As Integer = CInt(cmd.ExecuteScalar())

                    If i = 0 Then
                        Beep()
                        MsgBox("Solicitação Negada!")
                        Beep()
                        MsgBox(" Provalvelmente ERRO de LOGIN ou SENHA.")
                        TxtReg.Clear()
                        TxtSenha.Clear()
                        TxtReg.Focus()

                    Else
                        'será aqui que coloco a instruçao excluir!
                        Me.Close()
                    End If
                Catch ex As Exception
                    Beep()
                    MsgBox("Não foi Possivel Realizar a Solicitação! Informe o Administrador do Sistema." & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "Erro")
                End Try
            End Using

    -----------------------------------------------------------------

    ....

     


    Antonio Carlos acefeli@hotmail.com
    quinta-feira, 27 de outubro de 2011 18:12
  • Acho que é no FormConfSenha,onde usuário e senha serão verificados,se existirem,serão excluídos.

    o código do btnExcluir,para mostrar esse formulário está logo acima.

    quinta-feira, 27 de outubro de 2011 18:17
  • Pera-lá

    Vamos do principio

    Após clikar no (BtnExcluir) o (FormConfSenha) já esta sendo aberto e esta funcionando, ou seja conferindo a existencia do (Login e Senha)

    Porem se o usuario apenaz FECHAR ESTE  FORM  o sistema realiza normalmente a exclusao do cadastro (SEM AO MENOS VERIFICAR)  ou seja até o momento o (FormConfSenha) esta apenaz conferindo a senha.

    O mesmo tem que BARRAR A AÇÃO SOLICITADA e somente após a Verificação correta continuar com a AÇÃO SOLICITADA

     


    Antonio Carlos acefeli@hotmail.com
    quinta-feira, 27 de outubro de 2011 18:36
  • Seu código para deletar está sendo executado após o ShowDialog() do form... então o form de nada servirá.

    Esse código aí deve ser posto no botão do formConfSenha.

    Isso aqui:

      Dim CmExc As String = "Delete from cadastro where código= " & Me.LblCod.Text
    
                Using con As OleDbConnection = GetConnection()
                    Try
                        con.Open()
                        Dim cmd As OleDbCommand = New OleDbCommand(CmExc, con)
    
                        cmd.ExecuteNonQuery()
    
                    Catch ex As Exception
                        MsgBox("Não foi Possível Excluir o Cadastro.Se Persistir o Problema Informe o Administrador do Sistema.")
    
                    End Try
    
                    limparCampos()
                    MsgBox("Cadastro Excluido com Sucesso.")
                    carregaGrid()
                    BtnNovo.Focus()
    
                    con.Close()
    
                End Using

    Deve ser posto onde eu comentei no código acima,dentro do else.

    Quando for inserir códigos,mude isso:

    Inserir Bloco de Código

    Idioma : para VB.NET.
    quinta-feira, 27 de outubro de 2011 21:10
  • Ola Vitor Bom dia

    Eu ja tinha feito desta forma porem mostra alguns erros

    Por ex: é solicitado o (lblCod)  e informa que  a Variavel (con) oculta uma variavel em um Bloco delimitador e tbem tenho que declarar algumas (sub) como publica visto que as mesmas estao apenas no (FomrCad) e estou tentando executa-las no (FormConfSenha)

    como resolver isto    Não entendi oque vc disse sobre isso (Quando for inserir códigos,mude isso:

    Inserir Bloco de Código

    Idioma : para VB.NET.
    ----------------------


    Antonio Carlos acefeli@hotmail.com
    domingo, 30 de outubro de 2011 12:44
  • Ola Vitor Bom dia

    Eu ja tinha feito desta forma porem mostra alguns erros

    Por ex: é solicitado o (lblCod)  e informa que  a Variavel (con) oculta uma variavel em um Bloco delimitador e tbem tenho que declarar algumas (sub) como publica visto que as mesmas estao apenas no (FomrCad) e estou tentando executa-las no (FormConfSenha)

    como resolver isto    Não entendi oque vc disse sobre isso (Quando for inserir códigos,mude isso:

    Inserir Bloco de Código

    Idioma : para VB.NET.
    ----------------------


    Antonio Carlos acefeli@hotmail.com


    ola Vitor vc pode me ajudar continuo com aquele problema

    tudo bem se não puder

    brigadao


    Antonio Carlos acefeli@hotmail.com
    terça-feira, 1 de novembro de 2011 21:42
  • Quis dizer para você selecionar o código que postar e clicar aqui:

    E então clicar aqui:

    E selecionar VB.NET.Isso ajuda muito.

    Quanto à sua dúvida,declare as variáveis assim:

    Public Shared <nome> as <tipo>
    

    Usando o modificador de acesso SHARED.

    Assim elas ficam visíveis por todas as classes(e formulários,então).
    Então,você acessa elas assim:

     

    Classe.Variável...
    Classe.Metodo()
    terça-feira, 1 de novembro de 2011 22:24
  • Bom dia Vitor

    entao devo declarar as variaveis no (module) certo!

    pode me mostrar um ex?


    Antonio Carlos acefeli@hotmail.com
    quinta-feira, 3 de novembro de 2011 12:30
  • Boa tarde.

    Na sua classe,do seu form.

    Ex:

     

    Public Class Form1
         Public Shared VariavelEstatica = 50
    End Class
    
    É do jeito que você declara qualquer variável,apenas colocando a palavra-chave Static antes do nome.
    quinta-feira, 3 de novembro de 2011 15:01
  • desculpe nao estendi
    Antonio Carlos acefeli@hotmail.com
    domingo, 6 de novembro de 2011 18:55
  • Por ex: é solicitado o (lblCod)  e informa que  a Variavel (con) oculta uma variavel em um Bloco delimitador e tbem tenho que declarar algumas (sub) como publica visto que as mesmas estao apenas no (FomrCad) e estou tentando executa-las no (FormConfSenha)

    Além de pública,você deve declará-las como estáticas/compartilhadas.

    Assim:

    Public Shared Sub ... 
    

    No formCad.

    domingo, 6 de novembro de 2011 20:34
  • desculpe Vitor sou totalmente principiante estou aprendendo a declarar as variaveis, ainda não declarei nenhuma como PUBLICA pesso por gentileza que me mostre um exemplo completo e informativo
    Antonio Carlos acefeli@hotmail.com
    segunda-feira, 7 de novembro de 2011 15:12
  • Veja esses artigos:

    http://www.macoratti.net/vbn_oopc.htm

    No final tem exemplos de variáveis estáticas(shared),como eu disse.

    segunda-feira, 7 de novembro de 2011 17:20
  • Boa noite Vitor

    Olha estou apanhando muito para aprender cara porem para conseguir ver meu primeiro projeto funcionando decidi fazer de outra forma.

    Eu ja tenho um FormSenhaGeral  vou utiliza-lo da seguinte forma

    Quando o usuario digitar a senha de (Usuario) preciso que abra o form MDI e nele alguns menus devem ser desabilitados

    portanto preciso saber como fazer isto.

    Quando o usuario acessar o FormCad este deve ficar com o BtnExcluir Desativado

    tbem preciso saber fazer isto (Lembre-se somente quando o usuario estiver acessando)

    vc pode me ajudar ?


    Antonio Carlos acefeli@hotmail.com
    segunda-feira, 7 de novembro de 2011 21:11
  • Para abrir um formulário MDI dentro de outro,mude a propriedade IsMDIContainer para true do outro form.

    Para mostrá-lo e deixar o bntExcluir desabilitado:

     

    Dim f As New Form2()
    f.MdiParent = Me
    f.Show()
    
    f.BtnExcluir.Enabled = False
    
    • Sugerido como Resposta Eder CostaModerator sexta-feira, 11 de novembro de 2011 14:19
    • Não Sugerido como Resposta acefel sexta-feira, 11 de novembro de 2011 21:57
    • Marcado como Resposta Levi DomingosModerator terça-feira, 15 de novembro de 2011 15:25
    terça-feira, 8 de novembro de 2011 19:15
  • Ola Vitor boa noite

    descidi deixar assim

    coloquei o (BtnExcluir) somente no (FrmRelatorio)  assim como acrescentei mais 1 Btn

     para enviar para uma planilha do excel (vou precisar da sua ajuda para criar uma sub p/ realizar este procedimento)

    se puder me ajudar agradeço

    não sei como começar

    grato até mais vou encerrar este THREADS

     


    Antonio Carlos acefeli@hotmail.com
    sexta-feira, 11 de novembro de 2011 21:54
  • Infelizmente não posso o ajudar nisso.Pesquise aqui pelo fórum VB,várias pessoas já perguntaram sobre isto.
    sábado, 12 de novembro de 2011 00:19
  • valeu pelo apoio camarada até breve
    Antonio Carlos acefeli@hotmail.com
    sábado, 12 de novembro de 2011 11:08