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

    Capturar id. (numeração Automática)

    avatar
    Wilson90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 58
    Registrado : 19/10/2015

    Capturar id. (numeração Automática) Empty Capturar id. (numeração Automática)

    Mensagem  Wilson90 24/8/2020, 10:20

    Olá mestres!
    Venho pedir mais uma vez a vossa ajuda

    Estou a criar um sistema em que o bd é separado da interface

    Tenho uma tabela (tblcompra) e o tipo de campo é numeraçãoAutomarica

    Eu gostaria de pegar o id desse campo assim que ele você cadastrado

    Já procurei aqui no fórum mas não achei nada ainda
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Alexandre Fim 24/8/2020, 13:47

    Bom dia Wilson,

    Para capturar o ultimo ID cadastrado:

    Código:

    Public Sub CapturarID()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sSQL As String

        Set db = CurrentDb
        sSQL = "SELECT MAX(Campo_ID_da_Sua_Tabela]) as MaxID FROM Sua_Tabela"
        Set rs = db.OpenRecordset(sSQL, dbOpenSnapshot)
       
        Sua_Variavel_ou_Campo = rs("MaxID").Value
       
        rs.Close
        Set rs = Nothing
       
        Exit Sub

    trata_erro:
        MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "erro"
        Exit Sub

    End Sub


    Espero ter ajudado.

    Boa sorte




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

    Capturar id. (numeração Automática) Setinf11
    Sistemas e Tecnologia Ltda

    Wilson90 gosta desta mensagem

    avatar
    Wilson90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 58
    Registrado : 19/10/2015

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Wilson90 24/8/2020, 19:11

    Muito bom
    Entendi mestre Alexandre
    Mas já tive essa ideia, a questão é que se tiver mais alguém cadastrando no mesmo instante poderá pegar o número do Id errado.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Alexandre Fim 24/8/2020, 20:49

    Wilson,

    Realmente, no Access não tem como utilizar o "SELECT @@IDENTITY" do MS SQL Server, e pode gerar alguns conflitos quando mais de 1 usuário estiver gravando na mesma tabela.

    Veja este exemplo que desenvolvi para um membro aqui do fórum.

    https://www.maximoaccess.com/t38376-resolvidochave-primaria-ao-gosto-do-cliente

    Neste exemplo, o sistema gera um id do registro (não Numeração Automática), e após gerar e gravar o ID, o sistema apresenta ao usuário o ID gravado.

    Espero ter ajudado.

    Boa sorte





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

    Capturar id. (numeração Automática) Setinf11
    Sistemas e Tecnologia Ltda

    Wilson90 gosta desta mensagem

    avatar
    Wilson90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 58
    Registrado : 19/10/2015

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Wilson90 25/8/2020, 02:29

    Muito bom este este exemplo
    Mas receio que ainda não resolve
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3821
    Registrado : 04/04/2010

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Avelino Sampaio 25/8/2020, 14:55

    Olá!

    Se estiver gravando seus registros, via VBA, o campo autonumeração fica disponível assim que vc utilizar o comando AddNew.  Exemplo:


    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("tblCompras")
    rs.AddNew
       MsgBox rs!NomeDoCampoAutonumeração
    rs.Close
    Set rs = Nothing


    Sucesso!

    Wilson90 gosta desta mensagem

    avatar
    Wilson90
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 58
    Registrado : 19/10/2015

    Capturar id. (numeração Automática) Empty Re: Capturar id. (numeração Automática)

    Mensagem  Wilson90 29/8/2020, 22:41

    Muito obrigado mestre Avelino
    Mas estou utilizando ADO
    e estou estou utilizando também classes
    (Insert into...)

      Data/hora atual: 8/2/2023, 00:10