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

    [Resolvido]Gerar numeração automática VIA Recordset

    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 17/4/2022, 18:19

    Boa tarde Pessoal,

    Estou tentando implementar no meu projeto um Recordset para gerar a numeração na tabela, porém sem numeração automática.

    A ideia é a seguinte, quero duplicar alguns registros de acordo com o mês selecionado, porém não quero criar um campo númeração automática na tabela(Opção minha).

    Por exemplo da forma que está, se eu escolher duplicar os registros do mês de Março, deve duplicar apenas o nome Ismael, e cód, colocar o número 4, pois deveria pegar o registro màximo e adicionar mais um.

    Então com esse código abaixo acredito que estou no caminho, mas o que está ocorrendo, é que ele não está obedecendo o critério para o pegar o registro máximo e adiconar mais, me parece estar pegando o primeiro, e assim não está como gostaria.





    Dim rs As Recordset
    Dim I As Integer



    Set rs = CurrentDb.OpenRecordset("Select Nome,Mes_Ref From Tabela1 WHERE Mes_Ref='" & Txt_Mes_Ref & "'")

    Do While Not (rs.EOF)

       I = DMax("[Id]", "Tabela1")
       
        Id = I + 1
       
    CurrentDb.Execute "INSERT INTO Tabela1(Nome,Mes_Ref)SELECT Nome,Mes_Ref FROM Tabela1 WHERE Mes_Ref='" & Txt_Mes_Ref & "'"

    rs.MoveNext
    Loop
    Anexos
    [Resolvido]Gerar numeração automática VIA Recordset AttachmentDatabase4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (158 Kb) Baixado 16 vez(es)
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

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

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  crysostomo 18/4/2022, 23:34

    Boa noite amigo, eu nem olhei o anexo, mas quando eu fazia isso o problema era o contador começar do numero 1. Ele só começa quando tiver o  0 na tabela, pois ele nem começa do 0 direto no formulário.
    Coloque o número  0 na tabela que ele começa a contar direitinho.
    Eu cocava isso e uma função para deletar a linha  do codigo 0.


    .................................................................................
    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.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10765
    Registrado : 04/11/2009

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  JPaulo 20/4/2022, 17:51

    Código:
    Private Sub Gerar_Click()
    Dim rs As Recordset
    Dim I As Variant
    Dim IntNum As Variant

    'abre o recordset à tabela, filtrando pelo mês
    Set rs = CurrentDb.OpenRecordset("Select Nome,Mes_Ref From Tabela1 WHERE Mes_Ref='" & Me.Txt_Mes_Ref.Value & "'")

    'se não encontra registros, morre aqui
        If rs.RecordCount = 0 Then Exit Sub

    'obtem o valor máximo do Id, usa-se a função "Nz" para colocar um zero em caso de erro ou nulo, usa-se a função "Val" para formatar para valor numerico    
        I = Val(Nz(DMax("[Id]", "Tabela1"), 0))
     
    'adiciona + 1 à variável do valor máximo   
         IntNum = I + 1
     
    'faz un insert na tabela, usando a variável IntNum, e o valor obtido no recordset, coluna zero que é a primeira coluna e a coluna 1 que é a segunda   
     CurrentDb.Execute "INSERT INTO Tabela1(Id,Nome,Mes_Ref) VALUES (" & IntNum & ",'" & rs(0) & "', '" & rs(1) & "')"
     
    MsgBox "Dados duplicados com sucesso", vbInformation, "Controle de Pensões"

    End Sub


    Última edição por JPaulo em 21/4/2022, 14:00, editado 1 vez(es)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Instruções SQL como utilizar...

    crysostomo gosta desta mensagem

    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 20/4/2022, 22:06

    Boa tarde

    JP, deu certo o seu código, e se não for pedir muito, poderia comentar as linhas para eu poder entender melhor o que cada uma faz, pois alguns comandos que você IMPLEMENTOU eu desconhecia, então queria entender.

    Desde já muito obrigado.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10765
    Registrado : 04/11/2009

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  JPaulo 21/4/2022, 14:00

    Obrigado pelo retorno o fórum agradece.

    Código comentado.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Instruções SQL como utilizar...
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 21/4/2022, 14:55

    Bom dia,

    Muito obrigado JP.
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 24/4/2022, 03:41

    JP,

    Tive que reabrir o tópico, pois agora estava testando o código no meu projeto original, e me deparei com a seguinte situação, está duplicando apenas um registro de cada vez, e precisaria que se por exemplo tiver dois registros no mês de Abril, que ao clicar em duplicar, fique em 4 registros para o mês de Abril, e assim sucessivamente, duplicar o número de registro que estiver no mês desejado. Tentei implementar um laço de repetição aqui, mas ainda não conseguir acertar, então caso puder me ajudar com mais esse detalhe, lhe agradeço novamente.
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 26/4/2022, 11:28

    Up
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10765
    Registrado : 04/11/2009

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  JPaulo 26/4/2022, 15:08

    Descuple a demora, não vi você a pedir socorro;

    Deve ser isto;
    Anexos
    [Resolvido]Gerar numeração automática VIA Recordset AttachmentDatabase4_OLD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 9 vez(es)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Gerar numeração automática VIA Recordset Folder_announce_new Instruções SQL como utilizar...
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 26/4/2022, 15:18

    Obrigado JP, eu vou estudar o código, e posterior retorno aqui.
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 802
    Registrado : 11/12/2017

    [Resolvido]Gerar numeração automática VIA Recordset Empty Re: [Resolvido]Gerar numeração automática VIA Recordset

    Mensagem  Ismael Silva 19/6/2022, 21:05

    Boa tarde,

    Estava pendente de retorno.

    Obrigado JP deu certo com sua ajuda.

      Data/hora atual: 25/9/2022, 15:13