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


3 participantes

    [Resolvido]preencher tabela entre datas

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 11/3/2011, 13:12

    Bom dia,

    Preciso preencher uma tabela da seguinte forma. Existe os campos "data_inicial" e "data_final", quero preencher a tabela "tbcartao_ponto" com registros entre essas datas, que seja criado um registro para cada dia entre as datas dos campos "data_inicial" e "data_final". EX.:
    data_inicial = 01/03/2011
    data_final = 05/03/2011

    tbcartao_ponto
    01/03/2011
    02/03/2011
    03/03/2011
    04/03/2011
    05/03/2011


    Obrigado
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 11/3/2011, 13:17

    Que método está usando para inserir os dados na tabela? RecordSet ou SQL?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 11/3/2011, 13:18

    Recordset
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 11/3/2011, 13:44

    No seu código deve ter algo assim:

    RS.AddNew

    RS("Campo") = Me.Campo

    ...

    Declare variáveis para representar as datas inicial e final e inclua um Do While mais ou menos assim:

    RS.AddNew

    Dim dtInicial As Date, dtFinal As Date
    dtInicial = Me.DataInicial
    dtFinal = Me.DataFinal

    Do While dtInicial <= dtFinal


    RS("Campo") = Me.Campo
    RS("Data") = dtInicial
    ...


    dtInicial = dtInicial + 1

    Loop


    ...


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 17/3/2011, 11:54

    Amigo, já conseguiu resolver esse tópico? Como faz dias que não retorna, estou fechando-o. Sinta-se à vontade para retornar ao assunto quando precisares.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 17/3/2011, 14:35

    Bom dia,

    Desculpe-me é que eu estava com dengue esses dias por este motivo não retornei, a parte que me passou funcionou perfeitamente, eu coloquei ela no evento "Form Current" só que eu quero que quando a "data_final" for igual a "data_inicial" o formulário seja fechado.

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 17/3/2011, 14:44

    Então você andou meio dengoso? Foi por culpa sua ou de algum vizinho desleixado? Ou pegou fora de casa mesmo? Eu sempre digo que quando alguem pega dengue, é sempre por culpa de alguem, pois todos sabem os cuidados que devem ser tomados para evitar essa praga, e se cada um de nós fizer a sua parte, com certeza ninguem mais pega dengue, concorda comigo?
    Bom, mas o importante é que passou né? Vamos ao tópico. Você quer essa comparação antes do procedimento já em funcionamento ou depois dele concluído? Se for depois, basta colocar no fim do código:

    DoCmd.Close

    Se for antes, coloque assim antes do seu código de salvar:

    If Me.data_final = Me.data_inicial Then
    DoCmd.Close
    Else
    o código de salvar aqui
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 17/3/2011, 15:36

    Bom creio eu que peguei no trabalho ou de algum vizinho, minha esposa é muito cuidadosa quando a isso, em casa ela deixa tudo nos conformes. Bom em relação ao tópico fiz da seguinte forma:

    If Me.data_atual = Me.data_final Then
    DoCmd.Close
    else
    grava_dados
    End If

    Agora aparece o seguinte erro:

    "Esta ação não pode ser executada durante o processamento de um evento de formulário ou relatório"

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 17/3/2011, 16:15

    Poste o código completo por gentileza para a gente ver. grava_dados seria o nome de uma função? De um evento de outro controle?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 20/3/2011, 13:46

    Private Sub grava_dados()
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb


    Dim rst As DAO.Recordset
    On Error Resume Next

    'abre o recordset da tabela
    Set rst = CurrentDb.OpenRecordset("Select * from cartao_ponto")
    'adiciona na tabela
    rst.AddNew
    rst("pis_funcionario") = Me.pis_funcionario
    rst("nome_funcionario") = Me.nome_funcionario
    rst("data_marcacao") = Me.data_marcacao
    rst("entrada1") = Me.entrada1
    rst("entrada2") = Me.entrada2
    rst("entrada3") = Me.entrada3
    rst("saida1") = Me.saida1
    rst("saida2") = Me.saida2
    rst("saida3") = Me.saida3
    rst("codigo_horario") = Me.codigo_horario

    rst.Update

    rst.Close
    Set rst = Nothing
    End Sub


    Private Sub Form_Current()
    If Me.data_atual = Me.data_final Then
    DoCmd.Close
    else
    grava_dados
    End If
    end sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  JPaulo 21/3/2011, 11:29

    Bom dia Altair;

    Veja o que está grifado a vermelho, delete porque está mal:

    Private Sub grava_dados()
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb


    Dim rst As DAO.Recordset
    On Error Resume Next

    'abre o recordset da tabela
    Set rst = CurrentDb.OpenRecordset("Select * from cartao_ponto")
    'adiciona na tabela
    rst.AddNew


    Outra coisa que você diz no inicio do tópico, é que quer adicionar os registros dentro de um intervalo de datas escolhidas.

    Você escolhe 01/03/2011 a 05/03/2011

    Então fazia o ADD assim;


    01-03-2011
    02-03-2011
    03-03-2011
    04-03-2011
    05-03-2011

    Para isso esse código não vai funcionar nunca...

    Tem de ser algo assim;

    Private Sub grava_dados()
    Dim rst As DAO.Recordset
    Dim strData As Date
    'abre o recordset da tabela
    Set rst = CurrentDb.OpenRecordset("Select * from cartao_ponto")
    'adiciona o intervalo de datas
    For strData = datainicial To datafinal
    rst.AddNew
    rst!SeuCampoData = strData
    rst.Update
    Next strData
    rst.Close: Set rst = Nothing
    End Sub



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]preencher tabela entre datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]preencher tabela entre datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]preencher tabela entre datas Folder_announce_new Instruções SQL como utilizar...
    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 22/3/2011, 12:45

    Bom dia,

    Estou anexando um exemplo para que deêm uma olhada, no exemplo quando coloco as datas e mando gerar, ele começa um processo de loop que acaba travando o sistema e ele gera infinitos registros só que com a data inicial.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 22/3/2011, 12:51

    Qual é o formulário?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 22/3/2011, 12:59

    gera_cartao
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  criquio 22/3/2011, 13:02

    Imaginei que fosse mesmo, só estranhei que no formulário não tem nenhum dos códigos aqui apresentados.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Altair_147
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 126
    Registrado : 29/10/2010

    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Altair_147 22/3/2011, 13:10

    Mas na verdade o formulário onde está o código e o "cartao_ponto", ele pega o intervalo de datas digitados no "gera_cartao"

    Conteúdo patrocinado


    [Resolvido]preencher tabela entre datas Empty Re: [Resolvido]preencher tabela entre datas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 12:20