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]Alterar 2 campos pela última data de registro para um mesmo CNPJ

    avatar
    RegisBorda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 07/02/2014

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  RegisBorda 8/1/2019, 16:13

    Prezados,

    Boa tarde, um Feliz Ano Novo para todos.

    Tenho 3 registros para um mesmo CNPJ ([CNPJCliente]), com Datas diferentes ([DtEntrega]). Preciso alterar o campo [Renovado] para SIM e o campo [Situação] para RENOVAÇÃO da Data mais atual ou última data.

    Ex:

    00014241/0001-90 - 23/10/2015 - Não - Nova Emissão
    00014241/0001-90 - 01/09/2016 - Não - Nova Emissão
    00014241/0001-90 - 15/08/2014 - Não - Nova Emissão

    Vou fazer um novo Certificado para o CNPJ exemplo (00014241/0001-90), preciso alterar o certificado anterior deste CNPJ para [Renovado] = sim e [Situação] = Renovação porém a [DtEntrega] tem que ser a mais atual ou última data que no caso do exemplo seria 01/09/2016

    Como poderia fazer isso ?

    Muitíssimo grato,

    Abs,

    Regis Borda:.

    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Re: [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  caiosouza 8/1/2019, 16:43

    Boa tarde,

    Teste:

    Código:
    Sub NovoCertificado()
        Dim Ncnpj As String, UltimoReg As Date
        'Pega o CNPJ e Ultimo registro
        Ncnpj = Me.CNPJCliente 'O nome do campo CNPJ no formulário
        UltimoReg = DLast("[DtEntrega]", "tabCertificado", "[CNPJCliente]='" & Ncnpj & "'") 'Se o campo na tabela for do tipo numero, alterar o final do codigo para =" & ncnpj & ""
       
        'Insere dados na tabela com base nos dados coletados acima
        CurrentDb.Execute "UPDATE tabCertificado SET [Renovado]=True AND [Situacao]='Renovação' WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & UltimoReg & "#" ''Se o campo na tabela for do tipo numero, alterar o final do codigo para =" & ncnpj & ""
       
        'Aqui pode ser seu procedimento para criar o novo registro...
    End Sub


    .................................................................................
    Caio Souza

    Engenheiro de Software
    avatar
    RegisBorda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 07/02/2014

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  RegisBorda 8/1/2019, 20:43

    Prezado Caio,

    Inseri o Código e o mesmo não está funcionando segue o código final para análise.

    Já fiz vários testes e não consegui acertar. Deve ser alguma bobeira que não consigo ver.

    Private Sub CNPJCliente_AfterUpdate()

    If DVCGC_Fornecedor(CNPJCliente) <> Right(CNPJCliente, 2) Then
    MsgBox "O CNPJ Digitado não está correto. Digite novamente.", 16, "Sistema de Gestão de Certificados"
    CNPJCliente.SetFocus
    End If

    Dim db As Database
    Dim Ncnpj As String
    Dim UltimoReg As Date
    Dim intResp As String

    MsgBox "O Ticket do CNPJ inserido será Renovado !!!", vbCritical, "Atenção !!!"
    intResp = MsgBox("Confirma a Renovação do Ticket para este CNPJ ?", vbYesNo, "Atenção !!!")
    Select Case intResp
    Case vbYes
    Ncnpj = Me.CNPJCliente
    UltimoReg = DLast("[DtEntrega]", "TbVendasCertif", "[CNPJCliente]='" & Ncnpj & "'")

    If IsNull(UltimoReg) Then
    MsgBox "Data em branco, renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
    Else
    CurrentDb.Execute "UPDATE TbVendasCertif SET [Renovado]= -1 AND [Situacao]='Renovação' WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & UltimoReg & "#"
    End If

    Case vbNo
    MsgBox "Renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
    DoCmd.CancelEvent
    End Select

    End Sub
    avatar
    RegisBorda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 07/02/2014

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  RegisBorda 9/1/2019, 10:40

    Prezado Caio,

    Consegui acertar o código.

    O resultado final ficou assim :

    Dim db As Database
    Dim UltimaData As Date
    Dim Ncnpj As String
    Dim intResp As String
    Dim Ticket As Double

    MsgBox "O Ticket do CNPJ inserido será Renovado !!!", vbCritical, "Atenção !!!"
    intResp = MsgBox("Confirma a Renovação do Ticket para este CNPJ ?", vbYesNo, "Atenção !!!")
    Select Case intResp
    Case vbYes
    Ncnpj = Me.CNPJCliente
    UltimaData = DLast("[DtEntrega]", "TbVendasCertif", "[CNPJCliente]='" & Ncnpj & "'")
    Ticket = DLookup("[NumTicket]", "TbVendasCertif", "[CNPJCliente]='" & Ncnpj & "'" & " And [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#")

    If IsNull(UltimaData) Then
    MsgBox "Data em branco, renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
    Else
    CurrentDb.Execute "UPDATE TbVendasCertif SET [Renovado]= -1 WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#" & " AND [NumTicket]=" & Ticket
    CurrentDb.Execute "UPDATE TbVendasCertif SET [Situacao]='Renovação' WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#" & " AND [NumTicket]=" & Ticket
    End If
    Case vbNo
    MsgBox "Renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
    DoCmd.CancelEvent
    End Select

    Grato pela sua Ajuda,

    Grande Abs

    Regis Borda:.
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Re: [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  caiosouza 9/1/2019, 11:05

    Bom dia!

    Se esta ok favor marcar como [Resolvido].

    Obrigado e bons estudos...


    .................................................................................
    Caio Souza

    Engenheiro de Software
    avatar
    RegisBorda
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 07/02/2014

    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  RegisBorda 11/9/2021, 19:45

    Prezado Caio,

    Consegui acertar o código.

    O resultado final ficou assim :

      Dim db As Database
      Dim UltimaData As Date
      Dim Ncnpj As String
      Dim intResp As String
      Dim Ticket As Double
         
            MsgBox "O Ticket do CNPJ inserido será Renovado !!!", vbCritical, "Atenção !!!"
            intResp = MsgBox("Confirma a Renovação do Ticket para este CNPJ ?", vbYesNo, "Atenção !!!")
            Select Case intResp
            Case vbYes
               Ncnpj = Me.CNPJCliente
               UltimaData = DLast("[DtEntrega]", "TbVendasCertif", "[CNPJCliente]='" & Ncnpj & "'")
               Ticket = DLookup("[NumTicket]", "TbVendasCertif", "[CNPJCliente]='" & Ncnpj & "'" & " And [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#")
             
              If IsNull(UltimaData) Then
                 MsgBox "Data em branco, renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
              Else
                 CurrentDb.Execute "UPDATE TbVendasCertif SET [Renovado]= -1 WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#" & " AND [NumTicket]=" & Ticket
                 CurrentDb.Execute "UPDATE TbVendasCertif SET [Situacao]='Renovação' WHERE [CNPJCliente]='" & Ncnpj & "' AND [DtEntrega]=#" & Format(UltimaData, "mm/dd/yyyy") & "#" & " AND [NumTicket]=" & Ticket
              End If
            Case vbNo
              MsgBox "Renovação do Ticket para este CNPJ foi Cancelada !!!", vbInformation, "Atenção !!!"
              DoCmd.CancelEvent
            End Select

    Grato pela sua Ajuda,

    Grande Abs

    Regis Borda:.

    Conteúdo patrocinado


    [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ Empty Re: [Resolvido]Alterar 2 campos pela última data de registro para um mesmo CNPJ

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 15:37