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 participantes

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  aeps 9/5/2022, 19:36

    Saudações.

    Em um ambiente de rede tenho um formulário não acoplado que abre um registro para alterações.

    Como bloqueio este registro para alteração?

       Dim rstArea As Recordset
       Dim sSQL As String
       dim dbsBD As Database
       
       Set dbsBD = OpenDatabase("\\Servidor\aisbd\BD.mdb")

       sSQL = "SELECT idArea, sgArea, nmArea FROM tabArea WHERE idArea = " & iAreaCod  ' codigo do registro
       
       Set rstArea = dbsBD.OpenRecordset(sSQL, dbOpenDynaset)

     
    Tentei usar o parâmetro "dbPessimistic" mas da "Erro em tempo de execução '3001' Argumento inválido.

    Set rstArea = dbsBD.OpenRecordset(sSQL, dbOpenDynaset, , dbPessimistic)

    O que esta errado?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Alexandre Fim 9/5/2022, 20:11

    Toninho boa tarde,

    Se o formulário estão com os campos não acoplados, qualquer edição que o usuário irá fazer não irá impactar na tabela.
    Neste caso, voce pode usar a propriedade do campos para bloquear a edição:
    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. AVjVU3LIEMC8AAAAAElFTkSuQmCC

    Se tratando de bloqueio de recordset para somente leitura, o correto é utilizar:


    Set rstArea = dbsBD.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)

    É isso

    Att,
    FIM

    aeps gosta desta mensagem

    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  aeps 10/5/2022, 11:56

    Fim muito obrigado.

    Uma duvida, como posso fazer a verificação do:

    Set rstArea = dbsBD.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)

    Se o registro esta bloqueado para edição?

    Mais um a vez Obrigado.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Alexandre Fim 10/5/2022, 13:07

    Toninho bom dia,

    Você utiliza as propriedades e métodos do recordset para operações com registro?
     - rst.AddNew
     - rst.Edit
     - rst.Update

    Ou você utiliza instruções SQL:
     - INSERT INTO Tabela (Campo1, Campo) VALUES (Valor1, Valor2)....
     - UPDATE Tabela SET Campo1 = Valor, Campo2 = Valor2 ......

    compartilhe uma cópia do seu bd (somente objetos envolvidos no problema) para análise e solução.

    Att,
    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  aeps 10/5/2022, 17:35

    Saudações Fim,

    Estou utilizando:
    - rst.AddNew
    - rst.Edit
    - rst.Update

    O sistema vai ser em rede e estou fazendo alguns testes para ve qual pratica seria melhor.

    Segue um exemple do que estou fazendo.

    Pasta de trabalho é teste.

    Abraço
    Anexos
    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (204 Kb) Baixado 5 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Alexandre Fim 10/5/2022, 18:12

    Olá Toninho,

    Baixei seu exemplo e percebi que você utilizou 03 formulários para um mesmo cadastro. Não é necessário!

    Vou elaborar um único formulário onde as ações (incluir, alterar, excluir, pesquisar) são realizadas.
    Você criou um subformulário do tipo formulário contínuo, para simular uma lista de registro. Neste caso, vou substituir por uma listbox e deixar o formulário mais dinâmico, sem que haja dependência de outros formulários.
    Também percebi que vc tem uma certa familiaridade com a linguagem VBA, e então vou criar os controles todos desacoplados à tabela e vou incluir os comentários sobre cada procedimento executado no formulário.

    Assim que eu terminar eu disponibilizo o exemplo.

    É isso.
    Att,

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Setinf11
    Sistemas e Tecnologia Ltda

    aeps gosta desta mensagem

    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  aeps 12/5/2022, 13:05

    Valeu Fim,

    Ficarei no aguardo.

    Grande abraço.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Alexandre Fim 12/5/2022, 14:51

    Bom dia Toninho,

    Elaborei um novo formulário para o cadastro de Áreas. Ficou assim:
    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Area_010

    Optei em utilizar Instruções SQL para minimizar processamento, pois não necessita de abrir e carregar na memoria recordset's para executar comandos de registro.
    Neste caso, utilizo as funções (Execute) do próprio banco de dados.

    Faça os testes de Inclusão, Alteração e Exclusão e verifique se vai gerar algum erro. (pelos testes que fiz, acredito que não..rss)

    OBS: Abra o código-fonte e observe os comentário que fiz em cada linha, para voce entender o que cada uma delas executa.

    NOTA: sugiro que você converta o sistema para versão mais atualizada do Access, para não gerar problemas quando houver atualizações do Office da Microsoft. (sempre dá problema !!! rsss)

    Segue versão.

    É iss.
    Att,
    FIM
    Anexos
    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. AttachmentUsuario_v2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (62 Kb) Baixado 29 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Setinf11
    Sistemas e Tecnologia Ltda

    aeps gosta desta mensagem

    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Valeu pela força.

    Mensagem  aeps 12/5/2022, 17:32

    Fim,

    Muito bom seu exemplo.

    Muito Obrigado.

    Abraço.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Alexandre Fim 12/5/2022, 17:34

    Valeu Toninho !!
    voce pode utilizar este formulário como modelo para os demais, se achar necessário.
    Boa sorte
    Sucesso
    Att,
    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Setinf11
    Sistemas e Tecnologia Ltda

    aeps gosta desta mensagem

    avatar
    aeps
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 05/10/2016

    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  aeps 12/5/2022, 20:09

    Vou usar com certeza, vai se a base do sistema.

    Valeu

    Mais uma vez obrigado.

    Abraço


    Conteúdo patrocinado


    [Resolvido]Bloquear registro em formulário não acoplado usando Recordset. Empty Re: [Resolvido]Bloquear registro em formulário não acoplado usando Recordset.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 11:07