MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

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

    avatar
    Wilson90
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Wilson90 em 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 100%

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

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

    Mensagem  Alexandre Fim em 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




    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

    Wilson90 gosta desta mensagem

    avatar
    Wilson90
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Wilson90 em 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 100%

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

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

    Mensagem  Alexandre Fim em 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





    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

    Wilson90 gosta desta mensagem

    avatar
    Wilson90
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Wilson90 em 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 100%

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

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

    Mensagem  Avelino Sampaio em 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
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  Wilson90 em 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: 28/11/2020, 01:41