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

    usar mesmo form repetidas vezes

    Compartilhe

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    usar mesmo form repetidas vezes

    Mensagem  ictsp em Ter 20 Jun 2017, 15:24

    Bom dia amigos! Desculpem se a dúvida for muito banal, mas como posso usar um mesmo formulário para preencher outros forms?

    Gostaria que um mesmo formulário pudesse ser usado para preencher vários outros formulários.

    Por exemplo: tenho um formulário X que pode ser usado pelos forms A, B, C

    Eu não consigo fazer o formulário X saber qual form que o chamou A,B ou C para preencher os dados.

    Desde já, agradeço a ajuda dos amigos!




    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: usar mesmo form repetidas vezes

    Mensagem  FabioPaes em Qua 21 Jun 2017, 22:00

    Talvez se a sua duvida for melhor esclarecida, possamos achar uma solução melhor... Porem, pode criar uma variável Global... e no momento adequado colocar nessa variável o nome do formulário que chamou o formulário X. Assim, para responder ao formulário correto basta no local do nome do formulário mandar buscar o valor que esta na variável global!

    Por outro lado, se quer buscar os dados do Formulário X, basta pega-lo assim: Forms!X!NomeCampoComValor

    Assim estará buscando o valor desse campo direto do formulário X, sem que ele o envie.


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

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    Re: usar mesmo form repetidas vezes

    Mensagem  ictsp em Qui 22 Jun 2017, 11:33

    Bom dia FabioPaes! Obrigado pela ajuda. Tenho um formulário que CADORC onde cadastro  pedidos e padronizei o preenchimento de uma caixa de listagem desse form através de outro form que chamei de MED.

    Quando o usuário não encontra o valor desejado na caixa de listagem, ele dá um duplo clique, aparece o form MED, ele digita os dados que quer, o form MED fecha e o valor fica na caixa de listagem.


    Criei tbém um form de edição que chamei de EDITCADORC que funciona exatamente como descrito acima. Porém, criei uma cópia do form MED, para edição da caixa de listagem no form EDITCADORC.

    Eu gostaria de usar o form MED nos dois formulários, tanto de cadastro como de edição, pra reduzir o trabalho e quantidade de formulários no banco de dados.

    Como faço para que o form MED saiba em qual form jogar o valor?


    Desde já, agradeço muito sua ajuda!
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: usar mesmo form repetidas vezes

    Mensagem  FabioPaes em Qui 22 Jun 2017, 16:21

    Quando cadastra essas medidas, salva elas em uma tabela? E na Caixa de combinação busca esses valores?

    Se for, apos realizar um novo cadastro de medida basta realizar um requery na caixa de combinação...


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

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    Re: usar mesmo form repetidas vezes

    Mensagem  ictsp em Qui 22 Jun 2017, 17:16

    Então Fábio, é um form contínuo. Os dados só são salvos em tabela após o usuário concluir o cadastro de todos os itens orçados.

    Essa dica da requery já utilizo, inclusive foi dada por vc anteriormente e funciona perfeitamente. Ao escolher o perfil na primeira caixa de combinação, automaticamente a lista da caixa "bitola" é preenchida. Porém, quando a medida não está cadastrada, o usuário usa o form Medida para inserir novo valor. Só que esse novo valor só é salvo na tabela após a conclusão do orçamento.

    A finalidade desse form medida é padronizar a entrada dos dados no campo, que podem ser tanto em milimetro quanto em polegada. Como são vários usuários desse bd, padronizei pra facilitar.

    Gostaria que, quando o usuário clicasse no botão OK, o valor fosse para form cadorc ou para form editcadorc, com base no form que está sendo utilizado.

    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: usar mesmo form repetidas vezes

    Mensagem  FabioPaes em Qui 22 Jun 2017, 18:34

    Poste aqui esse exemplo, apenas com as partes envolvidas!


    .................................................................................
    _____________________________________________________________________
    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!
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 231
    Registrado : 23/01/2017

    Re: usar mesmo form repetidas vezes

    Mensagem  thiagomcosta em Qui 22 Jun 2017, 20:04

    Tenta utilizar o parâmetro OpenArgs do comando DoCmd.OpenForm

    Coloca nele o nome do formulário de origem e depois manda salvar a nova medida no formulário que está no parametro OpenArgs.

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    Re: usar mesmo form repetidas vezes

    Mensagem  ictsp em Qui 22 Jun 2017, 20:22

    Amigos, estou postando o bd apenas com as partes envolvidas conforme solicitou o Fabio. Por favor, ao testarem, cliquem duas vezes na caixa de combinação "bitola" para abrir os formulários.

    Coloquei tbém o form de edição que chamei de EDITCADORC. Se os amigos observarem, tenho vários formulários para fazer basicamente a mesma coisa.
    Anexos
    teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (823 Kb) Baixado 5 vez(es)
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 231
    Registrado : 23/01/2017

    Re: usar mesmo form repetidas vezes

    Mensagem  thiagomcosta em Qui 22 Jun 2017, 20:36

    Opa!!

    Na linha de código que abre o formulário, pode usar desta maneira:
    Código:
    DoCmd.OpenForm "bitformat",,,,,,"AQUI VAI O NOME DO FORMULÁRIO DE ORIGEM"
    Exemplo
    Código:
    DoCmd.OpenForm "bitformat",,,,,,"DETORC"

    E no botão que fecha o cadastro da nova bitola cola como:
    Código:
    Forms(OpenArgs)!bit.Value = fbit

    Olhei bem rapidamente, então pode ser que tenha algum erro nos nomes dos campos e variaveis, mas a ideia é esta.
    Usar o parametro OpenArgs do comando OpenForm.

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    Re: usar mesmo form repetidas vezes

    Mensagem  ictsp em Sex 23 Jun 2017, 15:28

    Bom dia amigos! Por favor, perdoem minha ignorância, mas tenho aprendido muito com vcs. Thiago, sua sugestão é muito boa, porém, o form bitformat chama o form bit2op e esse sim manda o valor para o form detorc.

    Seria possível declarar esses forms como variáveis global, como sugeriu o FabioPaes no ínicio do tópico e usar o código do Thiago para abrir os forms?

    x = forms!detorc
    y= forms!editdetorc


    Minha idéia era fazer da seguinte forma ( se possível):

    form detorc ou editdetorc

    Código:
    DoCmd.OpenForm "bitformat", , , , , , "variável x ou y (dependendo do form que chamou bitformat) "

    no form bitformat:


    Código:
    DoCmd.OpenForm "bit2op",,,,,,"x ou y "


    e ao fechar o form bit2op assim:
    Código:
    Forms(OpenArgs)!bit.Value = fbit

    Com isso, eu conseguiria ter um único form que preencheria outros dois, dependendo do argumento informado.

    Desde já, agradeço a atenção dos amigos!
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 231
    Registrado : 23/01/2017

    Re: usar mesmo form repetidas vezes

    Mensagem  thiagomcosta em Sex 23 Jun 2017, 18:50

    Eu acho que dá para passar, sim, o primeiro valor de OpenArgs até o último formulário. Vai passando de 1 em 1.

    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 02/09/2016

    Re: usar mesmo form repetidas vezes

    Mensagem  ictsp em Sex 23 Jun 2017, 19:30

    Boa tarde Thiago! Vc saberia me dizer como posso fazer esse procedimento: criar uma variável Global... e no momento adequado colocar nessa variável o nome do formulário que chamou o formulário X ?

    Valeu!!
    avatar
    thiagomcosta
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 231
    Registrado : 23/01/2017

    Re: usar mesmo form repetidas vezes

    Mensagem  thiagomcosta em Sex 23 Jun 2017, 20:43

    Eu usaria a própria variável OpenArgs.

      Data/hora atual: Ter 21 Nov 2017, 20:58