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

    Alterando Todos os registro da tabela.

    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Alterando Todos os registro da tabela. Empty Alterando Todos os registro da tabela.

    Mensagem  marcosdcma 10/1/2014, 11:00

    Bom dia a todos!
    Galera, preciso resolver essa questão se alguém puder verificar o que está errado na função, agradeço.

    Bem o foco principal é o seguinte, Tenho 3 campos na tabela “Clientes”:
    *DataAdmissao
    *DiasContrato
    *DataContratoF

    O código fará o seguinte:
    Se a data de ([DataAdmissao] + 44) dias for maior que a data atual,
    então [DiasContrato] é igual (90) e [ DataContratoF] é igual a ([DataAdmissao]+[DiasContrato]),

    Se a data de ([DataAdmissao] + 44) dias for menor/igual a data atual,
    então [DiasContrato] é igual (45) e [ DataContratoF] é igual a ([DataAdmissao]+[DiasContrato]),
    ou seja continua como antes.

    Acho que não fiz o código corretamente, pois não está verificando a 2ª opção
    se alguém puder me dá um help, agradeço. Segue o código:
    -----------------------------------------------------------------------------------------------------------------------------
    Private Sub Report_Page()
    Dim Rs As Recordset

    Set Rs = CurrentDb.OpenRecordset("select * from Clientes", dbOpenDynaset)
    With Rs
    While Not .EOF
    If ![DiasContrato] = 45 And ([DataAdmissao] + 44) < Date Then
    .Edit
    ![DiasContrato] = 90
    ![DataContratoF] = ([DataAdmissao] + [DiasContrato])
    .Update
    Else
    If ![DiasContrato] = 45 And ([DataAdmissao] + 44) >= Date Then
    .Edit
    ![DiasContrato] = 45
    ![DataContratoF] = ([DataAdmissao] + [DiasContrato])
    .Update
    Else
    End If
    End If
    .MoveNext
    Wend
    End With
    Rs.Close
    Set Rs = Nothing
    MsgBox "Os dias de Contrato de Experiência foram alterados!", vbInformation, "Alteração"
    DoCmd.Close
    End Sub
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  vallfon 10/1/2014, 19:22

    Veja se assim resolve:


    Dim Rs As Recordset

    Set Rs = CurrentDb.OpenRecordset("select * from Clientes", dbOpenDynaset)
    With Rs
    While Not .EOF
    If (![DiasContrato]) = 45 And (([DataAdmissao] + 44) > Date) Then
    .Edit
    ![DiasContrato] = 90
    ![DataContratoF] = ([DataAdmissao] + [DiasContrato])
    .Update
    ElseIf ![DiasContrato] = 45 And ([DataAdmissao] + 44) <= Date Then
    .Edit
    ![DiasContrato] = 45
    ![DataContratoF] = ([DataAdmissao] + [DiasContrato])
    .Update
    Else
    MsgBox "Tudo Ok!",vbInformation
    End If
    .MoveNext
    Wend
    End With
    Rs.Close
    Set Rs = Nothing
    MsgBox "Os dias de Contrato de Experiência foram alterados!", vbInformation, "Alteração"
    DoCmd.Close
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Alterando Todos os registro da tabela. Empty Alterando Todos os registro da tabela.

    Mensagem  marcosdcma 15/1/2014, 11:17

    Ainda não resolveu de fato:

    ![DiasContrato] = 45 essa parte o sistema altera, o resultado vai pra 90, conforme a condição.

    Mas essa parte não altera ![DataContratoF] = ([DataAdmissao] + [DiasContrato])
    Ou seja, não altera a 2ª opção
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  vallfon 17/1/2014, 15:06

    Estou enviando um Banco de Dados para vc verificar!
    Anexos
    Alterando Todos os registro da tabela. AttachmentTesteContaDiasDatas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 7 vez(es)
    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  vallfon 22/1/2014, 21:39

    Sanou o problema?
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Alterando Todos os registro da tabela. Empty Alterando Todos os registro da tabela

    Mensagem  marcosdcma 27/1/2014, 17:46

    Meu caro, ainda não resolveu.

    explicando novamente a lógica: tenho 3 campos.
    *[DataAdmissao]
    *[DiasContrato]
    *[DataContratoF]

    condições:
    Se a ([DiasContrato]=45) e ([DataAdmissao]+44) se isso for <=menor/igual a data atual
    então: [DiasContrato] será igual a 90 e [DataContratoF] será ([DataAdmissao]+[DiasContrato])
    ex: Maria foi admitida em: 01/12/2013 + [DiasContrato = 44] resulta em [DataContratoF = 14/01/2014]
    então [DiasContrato = 90] e [DataContratoF] será ([DataAdmissao] + [DiasContrato]) que resultará em 28/02/2014.

    Caso contrário, continua tudo como está:
    a função está alterando apenas o campo [DiasContrato], porém não altera o conteúdo do campo [DataContratoF]

    essa função é de suma importância para os contrato de experiência. Se puder me dá um suporte, Agraceço

    Marcos



    vallfon
    vallfon
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 15/05/2012

    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  vallfon 27/1/2014, 22:22

    Onde é calculado DiasContrato?
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  marcosdcma 28/1/2014, 13:56

    é informado manualmente no ato do cadastro.

    Conteúdo patrocinado


    Alterando Todos os registro da tabela. Empty Re: Alterando Todos os registro da tabela.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 22:04