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 26/12/2013, 13:12

    Olá galera, preciso de uma ajuda dos mestres!
    preciso alterar os dados de 2 campos para todos os registros da tabela. Consegui apenas de 1 campo "[DiasContrato]"
    porém o outro campo "[DataContratoF]" não está alterando.
    Abaixo segue a sintaxe, se puderem me ajudar, agradeço:

    [size=7]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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

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

    Mensagem  Alexandre Neves 26/12/2013, 14:07

    Boa tarde,
    Será difícil sem ter a tabela com os dados


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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 26/12/2013, 15:25

    Alexandre!

    a tabela já está mencionada no Recordset, é a tabela "clientes"
    o detalhe é o seguinte:
    após alterar o campo "[DiasContrato]" para 90 ou 45 dias, também deve alterar o campo "[DiasContratoF]"
    a função está mudando apenas o 1º campo [DiasContrato].
    Se puder me dá uma luz, agradeço!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

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

    Mensagem  Alexandre Neves 26/12/2013, 17:47

    Sim , eu sei que a tabela está indicada mas não dá para saber em que situações devia executar a alteração e não a executa.
    O código como está apenas pode executar uma alteração. Caso a primeira condição seja verdadeira, não verifica a segunda. Será aqui que estará a diferença? Não sei bem o que pretende que execute


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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 26/12/2013, 18:36

    Alexandre!

    Bem o foco principal é o seguinte, Tenho 3 campos na tabela “Clientes”:
    *DataAdmissao 01/11/13
    *DiasContrato 45
    *DataContratoF 15/12/13

    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]),
    que no caso será 29/01/14

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

    Acho que não fiz o código corretamente, se puder me dá um help, agradeço.
    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 7/1/2014, 15:59

    Boa tarde 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

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:43