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

3 participantes

    Novo registro em ambiente multi usuários

    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    Novo registro em ambiente multi usuários Empty Novo registro em ambiente multi usuários

    Mensagem  mduarteteixeira 29/3/2019, 13:48

    Bom dia à todos,

    Tenho um formulário que será operado por 4 usuários (Acesso_DTP) obviamente através de tabelas vinculadas.

    Em testes com 2 usuários, ao clicar no botão Novo tanto o BD servidor quanto o BD do segundo computador abrem o mesmo registro.

    Eu gostaria que, uma vez que eu abri um registro zerado no meu computador, o outro usuário, ao clicar no botão Novo abra um segundo novo registro.

    Como posso proceder?

    O código do botão esta assim:

    Private Sub Novo_Click()

    DoCmd.GoToRecord , , acNewRec
    DoCmd.Save acForm, "Acesso_DTP"
    Me.Foto.SetFocus
    End Sub


    Já grato pela atenção de todos
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2377
    Registrado : 23/01/2018

    Novo registro em ambiente multi usuários Empty Re: Novo registro em ambiente multi usuários

    Mensagem  crysostomo 13/4/2019, 20:29

    pego essa carona.


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Novo registro em ambiente multi usuários Empty Re: Novo registro em ambiente multi usuários

    Mensagem  Marcelo David 13/4/2019, 20:54

    Boa tarde,

    mduarteteixeira escreveu:Em testes com 2 usuários, ao clicar no botão Novo tanto o BD servidor quanto o BD do segundo computador abrem o mesmo registro.

    Se você está adicionando registro não está abrindo... Pode explicar melhor o que está acontecendo?


    Código:
    DoCmd.GoToRecord , , acNewRec
    DoCmd.Save acForm, "Acesso_DTP"
    Me.Foto.SetFocus

    DoCmd.Save acForm, "Acesso_DTP", essa linha salva o objeto formulário Acesso_DTP, mas ele já está salvo e é desnecessário (pode até trazer problemas em ambiente runtime).


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Novo registro em ambiente multi usuários Marcel11
    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    Novo registro em ambiente multi usuários Empty Re: Novo registro em ambiente multi usuários

    Mensagem  mduarteteixeira 18/4/2019, 20:38

    Boa tarde e desculpe a demora a resposta.

    O BD está atualmente rodando em 5 computadores. Em todos, o formulário principal executa o seguinte comando:

    Private Sub Form_Load()

    Call AccessTransparente(0)
    DoCmd.GoToRecord , , acNewRec
    Me.Foto.SetFocus

    Ou seja, todos os computadores estão acessando o mesmo novo registro. Se um usuário começa a lançar dados ao mesmo tempo que outro, dá conflito e gera a msg de erro do access.

    Se eu tirar do evento o DoCmd.GoToRecord, , acNewRec, o formulário mostrará obviamente o primeiro registro existente.

    O que eu busco é o seguinte:

    Toda vez que os usuários abrirem o form, apareça tudo em branco.

    Cada usuário que clicar no botão Novo, gere um novo registro em branco na tabela, ou seja, 3 usuários clicam em novo, 3 linhas novas surjam na tabela.

    Infelizmente, a chave primária da tabela é somente o campo Código.

    Estava pensando em, ao carregar, tornar tudo Me.Campo.Locked = True, menos o botão Novo. Criar um campo oculto de índice exclusivo e incrementar 1 cada vez que for clicado no botão Novo.

    O duro é que o BD já está em operação há alguns dias.

    Limpei bem o BD para anexar aqui como exemplo


    Obrigado!

      Data/hora atual: 27/1/2023, 04:43