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]Como abrir um Banco de Dados em Rede no modo exclusivo?

    avatar
    wjbenedito
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/03/2023

    [Resolvido]Como abrir um Banco de Dados em Rede no modo exclusivo? Empty [Resolvido]Como abrir um Banco de Dados em Rede no modo exclusivo?

    Mensagem  wjbenedito 13/4/2024, 22:50

    Boa noite a todos os seletos amigos do Fórum,

    Tenho duas dúvidas com BD.

    Situação:
    Tenho uma Banco de Dados divido em Rede onde vários cooperadores acessam
    Mas verifiquei que está ocorrendo um erro chato. Sempre que alguém vai incluir um novo cliente tudo bem, mas quando outro cooperadores vai fazer o mesmo simultaneamente, apresenta erro na numeração do registro.

    1 – Queria sabe se existe uma forma de colocar o BD exclusivo para o primeiro que for fazer a inclusão, e os demais acessam no modo leitura até encerrada a inclusão, evitando assim inclusão simultânea.

    2 – Tem como saber nome do computador ou quem está acessando o Banco de Dados em rede??
    Estive pesquisando este comando, mas não consegue funcionar perfeitamente: OpenCurrentDatabase

    Obrigado a todos pelo apoio.


    Última edição por wjbenedito em 28/11/2024, 22:36, editado 1 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7998
    Registrado : 15/03/2013

    [Resolvido]Como abrir um Banco de Dados em Rede no modo exclusivo? Empty Re: [Resolvido]Como abrir um Banco de Dados em Rede no modo exclusivo?

    Mensagem  Alvaro Teixeira 16/4/2024, 12:47

    Olá Wagner,

    Abrir em modo exclusivo não é solução, pois você tem o aplicativo em rede para ser usado por vários utilizadores.
    Na minha opinião tem duas soluções:

    a) Usa o autonumero com ID do cliente automaticamente (o mais simples, mas pode não ser sequencial e não permite dizer em que numero inicia)

    b) Como já tem, apenas faz o tratamento do erro que quando já existe para adicionar mais 1 ao numero (convém ter um limite de tratamento, caso esteja a dar mesmo um erro)

    Segue um exemplo para você adaptar de como tenho num aplicativo meu, já é muito antigo e pode ser melhorado, mas funciona:
    Código:
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    'Alvaro Teixeira 2024 para MaximoAccess.com
    On Error GoTo ErroNo

        If CStr(Me.NewRecord) = -1 Then
            [NrTitular] = DMax("NrTitular", "TITULARES") + 1 'nrTit
        End If
       
    SairNo:
    Exit Sub

    ErroNo: 'necessario p/numeracao
            If Err.Number = 3022 Then
                contadorErr = contadorErr + 1
                [NrTitular] = [NrTitular] + 1: Resume

            If contadorErr = 3 Then MsgBox Err.Number & " - " & Err.Description, , "Erro na função de numeração": DoCmd.RunCommand acCmdUndo: Exit Sub
                Resume ' Next
            Else
                If Err.Number = -2147352567 Then
                    [NrTitular] = InputBox("Indique o número para este titular." & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Na próxima abertura de titulares o nº será atribuído automáticamente por sequência.", "Iniciar numeração", 1): Resume Next
                Else
                    MsgBox Err.Number & " - " & Err.Description 'foi colocado o else, para ter tratamento de erros numa eventualidadde
                End If
            End If
    End Sub

    Abraço

      Data/hora atual: 6/12/2024, 17:50