MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Bloquear Botao de Comando

    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 25/10/2018, 16:04

    bom dia!!!

    Como q faco pra usar um bloqueio de botao usando tipo essa funcao

    Public Function load_Veiculos(id)
    Call fncAbreConexao(102030)
    Dim Rst As DAO.Recordset
       Dim sSQL
       Dim FormAberto As Form
       Set FormAberto = Screen.ActiveForm
       sSQL = ""
       sSQL = "select * from Veiculos where Placa = '" & id & "'"
       Set Rst = db.OpenRecordset(sSQL)
       If Not Rst.EOF Then
            FormAberto.T_CNPJ = Rst("cpf").Value
            FormAberto.T_FORNECEDOR = Rst("Proprietario").Value
            FormAberto.T_CEP = Rst("cep").Value
            FormAberto.T_endereco = Rst("Endereco").Value
            FormAberto.T_Cidade = Rst("cidade").Value
            FormAberto.T_UF = Rst("uf").Value
            FormAberto.T_IE = Rst("ie").Value
            FormAberto.T_Placa = Rst("placa").Value
       End If
       Rst.Close
       Set Rst = Nothing
    End Function

    esses botao tem nomes especifico Salvar, Excluir, Atualizar
    e estao em varios formularios preciso de uma funcao q faz isso em varios Formularios

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 25/10/2018, 18:40

    Boa tarde
    Utilize FormAberto.Locked=true


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 25/10/2018, 19:10

    mas tenho uma tabela q define se pode ser bloqueado ou nao cada botao
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 25/10/2018, 19:16

    Agora percebi
    FormAberto.Locked=Rst("NomeCampo")


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 25/10/2018, 19:23

    Alexandre

    quero bloquear o botao tipo o botao Salvar

    na tabela cada usuario tem sua permissao se pode ou nao pode pra cada botao
    isso e uma tabela de controle de Salvar,Excluir e Atualizar Registro pra cada um usuario



    https://www.dropbox.com/s/1bqujq2eq4ir6x9/2018-10-25.png?dl=0
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 25/10/2018, 20:37

    Utilize DLookup com o critério de utilizador


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 25/10/2018, 22:31

    mas pra fazer isso pra cada formulario, queria uma so funcao pra todos os forms onde tem esses botoes
    tenho essa funcao mas queria q ela funcionasse no formulario q esta aberto

    Public Function AtUsur(NomeForm As Form)
    Parametros_de_CUsuarios "SysCUsuario.par"
    Parametros_de_xUsuarios XLogin & ".sys"
    Call fncAbreConexao(102030)
    Dim Arq As Long
    Arq = FreeFile
    Dim cId As String
    Dim Filtro As String

    cId = Nz(DLookupX("[Codigo]", "usuario", "[login]= '" & L_Login & "'"), 0)
    Filtro = "objeto = '" & NomeForm.Name & "'"
    Filtro = "Idfuncao = " & Nz(DLookupX("[idFuncao]", "tblFunções", "[objeto]= '" & NomeForm.Name & "'"), 0) & " AND IdUsuario =" & cId

    If Nz(DLookupX("Excluir", "tblPermissõesUsuários", Filtro), "false") = False Then
    Else
    End If

    If Nz(DLookupX("Inserir", "tblPermissõesUsuários", Filtro), "false") = False Then
    Else
    End If

    If Nz(DLookupX("Atualizar", "tblPermissõesUsuários", Filtro), "false") = False Then
    Else
    End If

    If Nz(DLookupX("Impressao", "tblPermissõesUsuários", Filtro), "false") = False Then
    Else
    End If

    If Nz(DLookupX("Grafico", "tblPermissõesUsuários", Filtro), "false") = False Then
    Else
    End If
    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 26/10/2018, 20:13

    Boa noite
    Não conheço a função DLookupX mas tente:

    Public Function PodeExcluir(NomeForm As Form)as boolean
    Parametros_de_CUsuarios "SysCUsuario.par"
    Parametros_de_xUsuarios XLogin & ".sys"
    Call fncAbreConexao(102030)
    Dim Arq As Long
    Arq = FreeFile
    Dim cId As String
    Dim Filtro As String

    cId = Nz(DLookupX("[Codigo]", "usuario", "[login]= '" & L_Login & "'"), 0)
    Filtro = Nz(DLookupX("[idFuncao]", "tblFunções", "
    objeto = '" & NomeForm.Name & "' and IdUsuario =" & cId ))

    If Nz(DLookup("Excluir", "tblPermissõesUsuários", Filtro)) Then PodeExcluir=True

    End Function



    Para saber se tem permissão de excluir, no formulário chame If PodeExcluir(Me) Then ...
    Se funcionar, adapte para as restantes situações


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 26/10/2018, 21:13

    Alexandre

    os meus forms sao desvinculados e a funcao eu quero e pra botao de comando e nao para Formularios, quero mesmo e desativar os botao de comando com uma pesquisa nesta tabela que postei ai
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 26/10/2018, 21:43

    Amanhã ver-lhe-ei melhor a duvida


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  Alexandre Neves em 27/10/2018, 10:13

    Bom dia
    Veja se funciona como pretende
    Código:
    Public Sub GereBotoes(frm As Form)
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        On Error GoTo err_GereBotoes
        Dim ctl As Control, Rst As DAO.Recordset
       
        Set Rst = CurrentDb.OpenRecordset("SELECT * FROM tblPermissõesUsuários WHERE IdUsuario=" & DLookup("Codigo", "usuario", "login='" & L_Login & "'"))
               
        For Each ctl In frm.Controls
            Select Case ctl.Name
            Case "Salvar"
                ctl.Locked = Rst("Inserir")
            Case "Excluir"
                ctl.Locked = Rst("Excluir")
            Case "Atualizar"
                ctl.Locked = Rst("Atualizar")
            End Select
        Next
       
    exit_GereBotoes:
        Rst.Close
        Set Rst = Nothing
        Exit Sub
       
    err_GereBotoes:
        MsgBox str(err)
        MsgBox err.Description
        Resume exit_GereBotoes
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 461
    Registrado : 30/08/2010

    [Resolvido]Bloquear Botao de Comando Empty Re: [Resolvido]Bloquear Botao de Comando

    Mensagem  NADIRONUNES em 27/10/2018, 14:06

    funcionou

    obrigado Alexandre Neves vc e o cara


      Data/hora atual: 8/8/2020, 00:31