MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


+2
Uilson Brasil
Marcos Brandão
6 participantes

    Só permitir uma exclusão de registro através de um botão com uma senha.

    avatar
    Marcos Brandão
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 26/07/2013

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Marcos Brandão 17/7/2014, 20:22

    Boa tarde galera!!!

    Pessoal eu criei um botão de excluir registro atual em um formulário pela forma tradicional. Tem como colocar uma senha para que quando clicar no botão ele só permita a exclusão do registro mediante essa senha?

    Preciso muito dessa informação.

    Desde já agradeço a todos.
    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1039
    Registrado : 23/04/2013

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Uilson Brasil 17/7/2014, 20:37

    Marcos,

    Tanto é possível quanto relativamente fácil de implementar.

    Se possível me envie o bd para verificar pra ti.


    Abraços,


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    avatar
    Marcos Brandão
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 26/07/2013

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Resposta.

    Mensagem  Marcos Brandão 18/7/2014, 01:00

    Uilson. Boa noite!

    É que o banco de dados possui informações sigilosas.

    Poderia postar a solução para mim, se não houver problema?

    Agradeço.
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Fernando Bueno 18/7/2014, 02:32

    Boa noite Marcos, você pode estudar esse exemplo do mestre João Paulo

    http://maximoaccess.forumeiros.com/t8210-excluir-registro-so-informando-a-senha

    Ou se quiser uma coisa mais simples coloque esse comando no evento

    Ao Clicar do botão para exclusão.

    Código:
    If MsgBox("Deseja realmente excluir este registro ? ", vbYesNo + vbCritical + vbDefaultButton1, "Excluir") = vbYes Then
    DoCmd.RunCommand acCmdDeleteRecord
    Else
    MsgBox "A exclusão do registro foi cancelada pelo usuário ! ", vbOKOnly + vbCritical + vbDefaultButton1, "Aviso"
    End If


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    Só permitir uma exclusão de registro através de um botão com uma senha. 16rzeq
    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1039
    Registrado : 23/04/2013

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Uilson Brasil 18/7/2014, 14:13

    Boas Fernando
    Marcos é só estudar e adaptar ...
    Caso tenha dificuldades é só chamar ...


    Abraços,


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    avatar
    Marisaelaine
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 11
    Registrado : 16/10/2012

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty duplicar registro somente com um botão com senha

    Mensagem  Marisaelaine 15/8/2014, 17:30

    boa tarde

    Juro que procurei, mas não encontrei a solução para meu problema.

    como faço para somente duplicar um registro através de um botão com senha?

    lembrando que meu conhecimento no access é de usuaria.
    rlauro
    rlauro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 27/06/2014

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  rlauro 17/8/2014, 02:49

    Se for para excluir, acho que mais ou menos isso:

    faz o seguinte, cria um formulário com dois campos não acoplado, Usuario de o nome txtUsuario e Senha txt Senha, coloca dois botões Cancelar e Ok
    De um nome ao formulário, por ex. frm_Excluir
    no evento ao clicar no botão excluir, coloca {procedimento do evento]
    em VBA dentro da Sub e End sub

    DocmdOpenForm("frm_Excluir")

    if txtUsuario = "Digita aqui um Nome" And txtSenha = "12345" Then

    Coloca aqui o codigo para deletar o registro


    Else

    MsgBox("Nome ou Senha Invalidos ", vbCritical, "Erro de Login Administrador")

    Me. close

    End If


    Se clicar no botão Ok, sendo a login e senha corretos vai deletar
    caso contrario, vai exibir uma caixa de mensagem.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5078
    Registrado : 20/04/2011

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Silvio 17/8/2014, 13:42

    Bom dia para todos.....se me permitem, gostaria de dar uns pitaquinhos....

    Se for para excluir um registro e que necessita de senha....segue o código

    Código:
    Private Sub bt_excluir_Click()
    On Error GoTo fim

    'módulo mdlinpubox para a senha de exclusão
    Dim strResposta As String
    strResposta = InputBoxDK("Digite a senha para a exclusão", "Senha", "******")
    Select Case strResposta
     Case Is = ""
     DoCmd.CancelEvent
     Case Is = "personas" ' -> coloque uma senha aqui onde está entre aspas duplas " "



    Dim numRecord As Integer
        numRecord = InputBox("Informe o Nº do Cliente..:", Me.Caption)
         
        If MsgBox("Deseja excluir o Cliente:" & vbCrLf & Me.Cliente & " ?", vbQuestion + vbYesNo, Me.Caption) = vbYes Then
           
            Dim sql As String
            DoCmd.SetWarnings False
            sql = "DELETE * FROM tblcliente WHERE idcliente = " & numRecord
                               
            DoCmd.RunSQL sql
                                       
            MsgBox "Exclusão realizada com sucesso!", vbInformation, Me.Caption
          DoCmd.GoToRecord , , acNewRec
         
        Else
        MsgBox " Ação cancelada pelo usuário", vbInformation, Me.Caption
       
     
                                 
        End If
        DoCmd.RunCommand acCmdRefresh
       
    fim:
        If Err.Number = 13 Then
        MsgBox "Cliente não excluido !" & vbCrLf & " Ação cancelada pelo usuário.", vbInformation, Me.Caption
        End If
        End Select
       
    End Sub

    Substitua os campos que estão nesse código> tblcliente ( isso é uma tabela ) ,Me.cliente ( campo ) e IdCliente ( chave primária) pelos teus

    Feito isso, terá que criar um módulo, copie o código abaixo e salve o mesmo com o seguinte nome: mdlimpubox

    Código:
    Option Compare Database

    '////////////////////////////////////////////////////////////////////
    'Password masked inputbox
    'Allows you to hide characters entered in a VBA Inputbox.
    '
    'Code written by Daniel Klann
    'http://www.danielklann.com/
    'March 2003

    '// Kindly permitted to be amended
    '// Amended by Ivan F Moala
    '// http://www.xcelfiles.com
    '// April 2003
    '// Works for Xl2000+ due the AddressOf Operator
    '////////////////////////////////////////////////////////////////////

    '******************** CALL FROM FORM *********************************
    ' Dim pwd As String
    '
    ' pwd = InputBoxDK("Please Enter Password Below!", "Database Administration Security Form.")
    '
    ' 'If no password was entered.
    ' If pwd = "" Then
    ' MsgBox "You didn't enter a password! You must enter password to 'enter the Administration Screen!" _
    ' , vbInformation, "Security Warning"
    ' End If
    '**************************************
    ' Essa é a mascara para a caixa de senha, não apagar isso


    'API functions to be used
    Private Declare Function CallNextHookEx _
    Lib "user32" ( _
    ByVal hHook As Long, _
    ByVal ncode As Long, _
    ByVal wParam As Long, _
    lParam As Any) _
    As Long

    Private Declare Function GetModuleHandle _
    Lib "kernel32" _
    Alias "GetModuleHandleA" ( _
    ByVal lpModuleName As String) _
    As Long

    Private Declare Function SetWindowsHookEx _
    Lib "user32" _
    Alias "SetWindowsHookExA" ( _
    ByVal idHook As Long, _
    ByVal lpfn As Long, _
    ByVal hmod As Long, _
    ByVal dwThreadId As Long) _
    As Long

    Private Declare Function UnhookWindowsHookEx _
    Lib "user32" ( _
    ByVal hHook As Long) _
    As Long

    Private Declare Function SendDlgItemMessage _
    Lib "user32" Alias "SendDlgItemMessageA" ( _
    ByVal hDlg As Long, _
    ByVal nIDDlgItem As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) _
    As Long

    Private Declare Function GetClassName _
    Lib "user32" _
    Alias "GetClassNameA" ( _
    ByVal hWnd As Long, _
    ByVal lpClassName As String, _
    ByVal nMaxCount As Long) _
    As Long

    Private Declare Function GetCurrentThreadId _
    Lib "kernel32" () _
    As Long

    'Constants to be used in our API functions
    Private Const EM_SETPASSWORDCHAR = &HCC
    Private Const WH_CBT = 5
    Private Const HCBT_ACTIVATE = 5
    Private Const HC_ACTION = 0

    Private hHook As Long

    Public Function NewProc(ByVal lngCode As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) As Long

    Dim RetVal
    Dim strClassName As String, lngBuffer As Long

    If lngCode < HC_ACTION Then
    NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
    Exit Function
    End If

    strClassName = String$(256, " ")
    lngBuffer = 255

    If lngCode = HCBT_ACTIVATE Then 'A window has been activated
    RetVal = GetClassName(wParam, strClassName, lngBuffer)
    If Left$(strClassName, RetVal) = "#32770" Then 'Class name of the Inputbox
    'This changes the edit control so that it display the password character *.
    'You can change the Asc("*") as you please.
    SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
    End If
    End If

    'This line will ensure that any other hooks that may be in place are
    'called correctly.
    CallNextHookEx hHook, lngCode, wParam, lParam

    End Function

    '// Make it public = avail to ALL Modules
    '// Lets simulate the VBA Input Function
    Public Function InputBoxDK(Prompt As String, Optional Title As String, _
    Optional Default As String, _
    Optional Xpos As Long, _
    Optional Ypos As Long, _
    Optional Helpfile As String, _
    Optional Context As Long) As String

    Dim lngModHwnd As Long, lngThreadID As Long

    '// Lets handle any Errors JIC! due to HookProc> App hang!
    On Error GoTo ExitProperly
    lngThreadID = GetCurrentThreadId
    lngModHwnd = GetModuleHandle(vbNullString)

    hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)
    If Xpos Then
    InputBoxDK = InputBox(Prompt, Title, Default, Xpos, Ypos, Helpfile, Context)
    Else
    InputBoxDK = InputBox(Prompt, Title, Default, , , Helpfile, Context)
    End If

    ExitProperly:
    UnhookWindowsHookEx hHook

    End Function


    Bons estudos e bom trabalho.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5078
    Registrado : 20/04/2011

    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Silvio 17/8/2014, 13:48

    Se for para duplicar um registro de uma tabela e com senha, tem que ter o código da minha mensagem anterior nesse post mais o que está abaixo:

    Código:
    If MsgBox("Deseja criar uma duplicidade?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then
        DoCmd.CancelEvent
            Me.Undo
            Exit Sub
            Else
    'Adiciono a variável a cadid(o atual)
    natual = Me.CADID -->substitua pela chave primaria de tua tabela
    'Carrego na variável a SQL da tabela
    strSql = "SELECT * From tblcadastro"  --> tabela onde está o registro que vai ser duplicado
    'Carrego na variável a SQL da tabela filtrada pelo código contido na variável natual
    StrSQLAtual = "SELECT * From tblcadastro WHERE cadid = " & natual & ""  -->substituir tabela e chave primária aqui.
    'Carrego o Recordset com a StrSQL
    Set RsNovo = CurrentDb.OpenRecordset(strSql)
    'Carrego o Recordset com a StrSQLAtual
    Set RstAtual = CurrentDb.OpenRecordset(StrSQLAtual)
    'Crio um novo registro no recordset
    RsNovo.AddNew
    'Executo um loop pelos campos da tabela excetuando o primeiro campo da chave primária que não permite duplicação
    For x = 1 To RsNovo.Fields.Count - 1
    'Adiciono ao novo registro (por campo) o último registro da tabela
    RsNovo(x) = RstAtual(x)
    'movo para o próximo campo
    Next x
    'Atualizo o recordset
    RsNovo.Update


                End If

    Bons estudos.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Conteúdo patrocinado


    Só permitir uma exclusão de registro através de um botão com uma senha. Empty Re: Só permitir uma exclusão de registro através de um botão com uma senha.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 12/5/2024, 15:51