MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Gravar vários registros alterando apenas 1 campo

    Compartilhe

    vailson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 08/05/2015

    [Resolvido]Gravar vários registros alterando apenas 1 campo

    Mensagem  vailson em Ter 12 Set 2017, 19:10

    Olá Pessoal,

    Surgiu uma necessidade atípica aqui.

    Código:

    Dim DB As Database, RS As DAO.Recordset
    Set DB = CurrentDb()
    Set RS = DB.OpenRecordset("opo")
    RS.AddNew
    RS("evento") = Me.txt_evento
    RS("local") = Me.txt_local
    RS("data") = Me.txt_data
    RS("hora") = Me.txt_hora
    RS("efetivo") = Me.txt_efetivo
    RS("uniforme") = Me.txt_uniforme
    RS("solicitante") = Me.txt_solicitante
    RS("outros") = Me.txt_observacoes
    RS("codopo") = Nz(DMax("codOPO", "opo")) + 1
    RS.Update
    RS.Close

    Esse código aí grava um registro na tabela. Muitas vezes o formulário é preenchido várias vezes com a mesma informação mudando apenas a data.
    Aí surgiu a ideia de colocar um campo no formulário indicando quantos dias deveria repetir.
    A necessidade é: somar o número inserido no campo indicativo de vezes a repetir com o campo data do formulário.
    Exemplo:
    Data: 10/01/2000
    Dias a adicionar: 3

    O sistema iria gravar 3 registros na tabela: 10/01/2000, 11/01/2000, 12/01/2000, mantendo todas as demais informações.
    A grosso modo, poderíamos dizer que ele executaria esse código acima 3x, mudando apenas a data.

    Como fazer isso?
    Obrigado!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: [Resolvido]Gravar vários registros alterando apenas 1 campo

    Mensagem  FabioPaes em Ter 12 Set 2017, 19:48

    Olá, procurando sempre achamos alguma coisa por aqui pelo site!

    Veja por exemplo esse aqui:
    [Você precisa estar registrado e conectado para ver este link.]

    Existem vários outros no mesmo sentido... SObre parcelamento!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    vailson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 08/05/2015

    Re: [Resolvido]Gravar vários registros alterando apenas 1 campo

    Mensagem  vailson em Ter 12 Set 2017, 20:29

    Certo FabioPaes,
    e como adiciono um dia (na data) contando o primeiro dia por evento do loop?

    Código:
    Dim DB As Database, RS As DAO.Recordset
    Set DB = CurrentDb()
    Set RS = DB.OpenRecordset("OPO") 'Nome da Tabela
     
       For i = 1 To Me.txt_repete  'Calcula o Loop
           'Campos e valores a serem preenchidos
           RS.AddNew
           RS("evento") = Me.txt_evento
           RS("local") = Me.txt_local
           RS("data") = Me.txt_data + i
           RS("hora") = Me.txt_hora
           RS("efetivo") = Me.txt_efetivo
           RS("uniforme") = Me.txt_uniforme
           RS("solicitante") = Me.txt_solicitante
           RS("outros") = Me.txt_observacoes
           RS("codopo") = Nz(DMax("codOPO", "opo")) + 1
           RS.Update
       Next
       RS.Close

    Até aí em cima deu certo, mas na tabela só entra o segundo dia, tipo de seleciono o dia 12 e coloco 5 repetições, ele vai gravar 13,14,15,16,17. Deveria gravar 12,13,14,15,16.
    Thanks

    vailson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 08/05/2015

    Re: [Resolvido]Gravar vários registros alterando apenas 1 campo

    Mensagem  vailson em Ter 12 Set 2017, 20:41

    Coloquei um -1 aí

    RS("data") = Me.txt_data -1 + i


    Obrigado FabioPaes

      Data/hora atual: Ter 21 Nov 2017, 10:15