Ir ao conteúdo
  • Cadastre-se
higor.so

RESOLVIDO Access Campo Sim ou Não

Recommended Posts

Fala pessoal,


 


Estou fazendo um banco de dados para controle de contratos.


Os contratos com prazo (campo "prazo") acima de 60 meses não serão mais renovados.


Existe o campo "passível de renovação". Caso o prazo seja maior que 60 meses, gostaria que esse campo me retornasse Não, do contrario Sim.


 


To mandando um exemplo em anexo.


Se alguém puder me ajudar.


Database1.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é isso: se for <= a 60  ->  SIM; se for > a 60  -> NAO:

 

abx.

Sub Calcular_Meses()
    Dim d As Database
    Dim r As Recordset
    Dim DtI As Field, DtF As Field, Pr As Field, Dpf As Field
    Dim Pdr As Field
    Set d = CurrentDb()
    Set r = d.OpenRecordset("tabela1")
    Set DtI = r.Fields("Data inicial")
    Set DtF = r.Fields("Data Final")
    Set Pr = r.Fields("Prazo")
    Set Dpf = r.Fields("Dias")
    Set Pdr = r.Fields("Passível de Renovação")
    While Not r.EOF
        r.Edit
        DtF = DateAdd("m", Pr, DtI)
        Dpf = DateDiff("d", Date, DtF)
        Select Case Pr
        Case Is > 60
        Pdr = "NÃO"
        Case Is <= 60
          Pdr = "SIM"
         End Select
        r.Update
        r.MoveNext
    Wend
    r.Close
End Sub

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa expressão eu jogo no valor da padrão?

Tentei fazer como módulo, mas não consegui.... eis a minha expressão

 While Not r.EOF
        r.Edit
        If Pr > 60 Then
        Pdr = "Sim"
        
        End If
                        
        r.Update
        r.MoveNext
    Wend

 

 

Veja se é isso: se for <= a 60  ->  SIM; se for > a 60  -> NAO:

 

abx.

Sub Calcular_Meses()
    Dim d As Database
    Dim r As Recordset
    Dim DtI As Field, DtF As Field, Pr As Field, Dpf As Field
    Dim Pdr As Field
    Set d = CurrentDb()
    Set r = d.OpenRecordset("tabela1")
    Set DtI = r.Fields("Data inicial")
    Set DtF = r.Fields("Data Final")
    Set Pr = r.Fields("Prazo")
    Set Dpf = r.Fields("Dias")
    Set Pdr = r.Fields("Passível de Renovação")
    While Not r.EOF
        r.Edit
        DtF = DateAdd("m", Pr, DtI)
        Dpf = DateDiff("d", Date, DtF)
        Select Case Pr
        Case Is > 60
        Pdr = "NÃO"
        Case Is <= 60
          Pdr = "SIM"
         End Select
        r.Update
        r.MoveNext
    Wend
    r.Close
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim fazer em um modulo? 

voce pode usar um unico modulo e escrever( criar ) varias macros. 

 

Tente assim:  

 While Not r.EOF        r.Edit        If Pr > 60 Then        Pdr = "Não"        Else        Pdr = "Sim"         End If                              r.Update        r.MoveNext    Wend
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso ai, mas quando ele executa a macro é gerado um erro "A expressão que você inseriu possui um nome de função que o Microsoft Access não pode localizar".....????


Consegui fazer, valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o 'pobrema' é funcao ? faça novamente o procedimento e referencie esta função:

Function RodaMacro()Call Calcular_MesesMsgBox "Seja Bem Vindo! ", 0, "Olá "End Function 

cole o cod (funcao) acima no mesmo modulo: módulo1. ' * nao precisa criar outro modulo'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×