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

    [Resolvido]Replicar Registros com campos fixos e variáveis

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Replicar Registros com campos fixos e variáveis

    Mensagem  Luiz Gustavo M 19/10/2011, 20:11

    Olá Pessoal!
    Boa tarde a todos.

    Mais uma vez venho solicitar ajuda aos amigos. (uso access 2003)

    Num forms simples (não vinculado a tabela) tenho os campos "Nome", "Valor", "Num" e "Vcto". Ao clicar num botão as informações são inseridas numa tabela (novo registro), como segue:

    > CurrentDb.Execute "INSERT INTO tbGeral(Nome, Valor, Num, Vcto) VALUES('" & Me.Nome & "','" & Me.Valor & "','" & Me.Num & "','" & Me.Vcto & "')"

    Tenho ainda no formulário o campo "replicar" no qual será informado a qdte de réplicas (qtde de novos registros).

    Nas réplicas os campos "Nome" e "Valor" serão iguais para todos os registros, mas os campos "Num" e "Vcto" serão diferentes. Vejam:

    Exemplo:

    No forms: "João Pedro"; R$ 234,00; 120; 20/11/2011; replicar = 5

    Resultado esperado (Novos Registros)

    1 - João Pedro; R$ 234,00; 120; 20/11/2011
    2 - João Pedro; R$ 234,00; 121; 20/12/2011
    3 - João Pedro; R$ 234,00; 122; 20/01/2012
    4 - João Pedro; R$ 234,00; 123; 20/02/2012
    5 - João Pedro; R$ 234,00; 124; 20/03/2012

    É possivel?

    Abraços a todos
    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]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  criquio 19/10/2011, 20:42

    Amigão, será que a estrutura do seu bd está corretamente estruturada? Acredito que você tenha uma tabela principal aonde constam os cadastros dos clientes ou algo assim e deve ter uma segunda tabela para esse cadastro. O certo seria ter o código do cliente ao invés do nome:

    1 - 254; R$ 234,00; 120; 20/11/2011
    2 - 254; R$ 234,00; 121; 20/12/2011
    3 - 254; R$ 234,00; 122; 20/01/2012
    4 - 254; R$ 234,00; 123; 20/02/2012
    5 - 254; R$ 234,00; 124; 20/03/2012

    Esse campo código do cliente seria vinculado ao campo chave primária da tabela de clientes.

    Para criar os registros, você usaria algo como:

    Dim L As Integer, D As Date

    For L = 1 To Replicar
    CurrentDb.Execute "INSERT INTO NomeDaTabela(Campo1, Campo2, NumParcela, Vencimento) VALUES('" & Me.Campo1 & "', '" & Me.Campo2 & "', '" & Replicar & "', '" & DateAdd("m", L, Date) & "')"
    Next


    .................................................................................
    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.

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  Luiz Gustavo M 19/10/2011, 21:51

    Criquio
    Você é fera!!!

    O campo "Vcto" deu certinho!
    O campo "Num" não. Ele não está alterando, está se repetindo.
    Tentei fazer alterações mas não consegui. Falta-me conhecimento.
    Você pode me dar mais esta forcinha?

    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]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  criquio 19/10/2011, 21:54

    Fiz uma pequena confusão. Coloque L no lugar de Replicar.


    .................................................................................
    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.

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  Luiz Gustavo M 19/10/2011, 22:12

    Ok
    Corrigi.

    Só que não me expressei direito.
    O campo "Num" não rerefe-se ao número de parcelas, e sim ao número do documento, ou seja, o campo "Num" do primeiro registro tem que ser = ao campo "Num" do formulário, e o demais acrescidos de 1 (uma unidade), veja:

    No forms: "replicar" = 3 e "Num" = 5 então registro: "Num" = 5, 6 e 7.

    Desculpa a bagunça!


    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]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  criquio 19/10/2011, 23:20

    Não entendi muito bem, mas tente assim:

    Dim L As Integer, D As Date

    For L = 1 To Replicar
    CurrentDb.Execute "INSERT INTO NomeDaTabela(Campo1, Campo2, Num, Vencimento) VALUES('" & Me.Campo1 & "', '" & Me.Campo2 & "', '" & L + Me.Num - 1 & "', '" & DateAdd("m", L, Date) & "')"
    Next


    Adapte de acordo os campos que tem aí, se necessá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.

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  Luiz Gustavo M 19/10/2011, 23:40

    Cara,
    Você é muito bom!!!

    Você resolveu o problema.
    Praticamente você "me deu o peixe"
    Se não for abusar, "gostaria de aprender a pescar".

    Você pode me explicar (para um leigo que sou) o significado a rotina abaixo?

    > Dim L As Integer, D As Date
    > For L = 1 To Replicar
    > '" & L + Me.Num - 1 & "'
    > '" & DateAdd("m", L, Date) & "'

    Um forte abraço
    Meu muito obrigado

    Obs.: Não coloquei o RESOLVIDO, mas coloco já já.
    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]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  criquio 20/10/2011, 00:06

    Primeiramente, precisamos declarar variáveis para representar os controles e/ ou dados que iremos usar:

    ' L representa um número inteiro e D representa um dado tipo data
    Dim L As Integer, D As Date

    ' Para L = 1 até o valor do campo Replicar
    For L = 1 To Replicar

    ' Execute no BD atual a inserção de registros na tabela NomeDaTabela, nos campos Campo1, Campo2, Num e Vencimento, os valores de Campo1DoForm, Campo2DoForm...
    Aqui vamos tentar entender os cálculos: no campo Num, você vai começar a contar à partir do valor inserido em Num. Se você inseriu o número 5 e irá adicionar 5 registros, terá os números de 5 a 9, certo? L começa do 1 e vai até o valor de Replicar. Então, se Num começa no 5 e você adiciona o valor de L, sendo que ele será 1 + 1 até chegar no valor de Replicar, 1 + 5 = 6, então retiramos 1 para ficar 5, que é o primeiro Num. A mesma coisa até chegar em 9. No caso do DateAdd, ele adiciona a quantidade de dias, meses ou anos que informarmos: DateAdd("Tipo", Quantidade, DataInicial). No nosso caso, Tipo é mês, pois serão acrescentados os meses de 1 a 1. quantidade será o L que irá aumentando 1 a 1 até chegar em Replicar e DataInicial pode ser a data atual, que é Date no nosso exemplo. Então nosso DateAdd quer dizer: acrescente os meses da variável L à data atual.

    CurrentDb.Execute "INSERT INTO NomeDaTabela(Campo1, Campo2, Num, Vencimento) VALUES('" & Me.Campo1 & "', '" & Me.Campo2 & "', '" & L + Me.Num - 1 & "', '" & DateAdd("m", L, Date) & "')"

    ' O next manda o Access passar para o próximo registro após a criação do registro anterior. Quando ele passa para o próximo registro, acrescenta 1 à variável L. Por isso que usamos o valor dessa variável na contagem de Num e para acrescentar os meses.
    Next


    .................................................................................
    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.

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  Luiz Gustavo M 20/10/2011, 02:05

    Valeu cara!
    Muito obrigado.

    Abraços

    Luiz Gustavo

    Conteúdo patrocinado


    [Resolvido]Replicar Registros com campos fixos e variáveis Empty Re: [Resolvido]Replicar Registros com campos fixos e variáveis

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 10:04