MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Erro ao gravar (mais de uma pessoa ao mesmo tempo)

    Compartilhe

    Venloz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 20/02/2013

    Erro ao gravar (mais de uma pessoa ao mesmo tempo)

    Mensagem  Venloz em Qui 17 Out 2013, 19:20

    Pessoal, Boa Tarde !

    Minha dúvida é a seguinte;


    Tenho um comando para Gravar os campos não acoplados do meu formulário na minha tabela BASE, porém se duas pessoas usarem o comando ao mesmo tempo ocorre erro informando que o registro não pode ser duplicado (isso ocorre porque o código possui chave primaria)


    Obs. se eu remover a chave primaria as duas pessoas conseguem usar o comando ao mesmo tempo, porém o código é duplicado, e não pode ser.


    Como resolver isso (Não quero acoplar os campos)


    Abaixo o comando para salvar

    Dim BancoDeDados As Database


    Dim TabLançamentos As Recordset

    Set BancoDeDados = CurrentDb

    Set TabLançamentos = BancoDeDados.OpenRecordset("BASE")

    With TabLançamentos


    .AddNew

    !Código = Nz(DMax("Código", "BASE")) + 1

    ![Meucamponabase] = Me.Meucamponoformulario


    Desde já agradeço!



    Att,
    Paulo Oliveira.

    misaelsp
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 20/02/2013

    Re: [Resolvido]Erro ao gravar (mais de uma pessoa ao mesmo tempo)

    Mensagem  misaelsp em Qui 17 Out 2013, 19:52

    Venloz,
    Se a tabela que você deseja adicionar o registro for do mesmo banco de dados, você pode usar este comando aqui:
    currentdb.execute "INSERT INTO nomedatabela ('campo1','campo2') VALUES ('campo1',campo2');"

    Nunca ocorreu erro comigo neste código que acabei de te passar. Very Happy


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer [Você precisa estar registrado e conectado para ver esta imagem.]

    Venloz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 20/02/2013

    Re: [Resolvido]Erro ao gravar (mais de uma pessoa ao mesmo tempo)

    Mensagem  Venloz em Seg 28 Out 2013, 22:29

    misaelsp

    O problema em si não esta no código, mas sim em 2 pessoas clicarem ao mesmo tempo

    Trabalho em uma empresa onde 20 pessoas utilizam esse formulário ao mesmo tempo, cada um tem o seu, hoje eles utilizam campos acoplados, o próprio
    próprio access não permite duplicar o código, porém eu queria desacoplar os campos porque as vezes ele salva registro que não é pra salvar, então resolvi
    desacoplar os campos e criar um botão de salvar, porque ai ele só vai salvar quando clicar nesse botão, ai que vem o problema que eu já imaginava,
    como o código não é mais automático, quando 2 pessoas clicam ao mesmo tempo da erro falando que já existe um código, isso ocorre se eu
    colocar no formato para não aceitar duplicata de código, já se eu deixar o campo código ser duplicado resolve o problema, mas eu não quero.

    Eu preciso de alguma forma fazer com que ao clicar no botão "Gravar" ele primeiro atualize o banco de dados para ver se já existe o código e depois
    insira outro, para não ocorrer duplicata de código, entendeu?

    Desde já agradeço a ajuda.

    Venloz
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 20/02/2013

    Re: [Resolvido]Erro ao gravar (mais de uma pessoa ao mesmo tempo)

    Mensagem  Venloz em Qua 13 Nov 2013, 23:01

    Pessoal consegui resolver

    No meu código eu estava colocando pra inserir um número de registro no campo Código, então quando duas pessoas clicavam ao mesmo tempo poderia duplicar era onde ocorria o erro porque o campo não permiti código duplicado, então resolvi retirar esse comando do vba e deixei o campo código como numeração automática, assim quando os campos são preenchidos usando vba o código é preenchido automático sem ocorrer duplicidade.


    Resolvido

      Data/hora atual: Dom 04 Dez 2016, 06:05