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] Abrir registo selecionado em SubForm

    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 8/12/2016, 00:00

    Oi Galera,
    Precisava da vossa ajuda para resolver os seguinte:

    Tenho um formulário "frmPesquisaCorrespondencia" e dentro deste um subformulário com o nome "subfrmCorrespondenciaEntrada" em formato folha de dados e que contém todos os registos de correspondência.

    Queria criar um botão no "frmPesquisaCorrespondencia" para abrir, no form "frmCorrespondenciaEntradaEditar"o registo selecionado no "subfrmCorrespondenciaEntrada". O campo é ID.

    Alguém me consegue ajudar?
    Obriagdo.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 8/12/2016, 09:27

    Bom dia,

    Tente o seguinte:

    Código:
    DoCmd.OpenForm "frmCorrespondenciaEntradaEditar"
    Forms!frmCorrespondenciaEntradaEditar.[seuCampoIDForm].SetFocus
    Forms!frmCorrespondenciaEntradaEditar.[seuCampoIDForm]= Me.subfrmCorrespondenciaEntrada.[seuCampoIDsubForm]

    Isso é pro Campo ID, agora basta fazer o mesmo para o restante. Lembrando que este procedimento é válido para formulários desacoplados. Caso seja acoplado:

    Código:
    DoCmd.OpenForm "frmCorrespondenciaEntradaEditar"
    DoCmd.GoToRecord acDataForm, Forms!frmCorrespondenciaEntradaEditar, acGoTo, Forms!frmPesquisaCorrespondencia!Forms!subfrmCorrespondenciaEntrada.[seuCampoIDsubForm]

    Abraço.
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 8/12/2016, 10:18

    Obrigado. Vou testar.

    Sou um novato em Access e tenho aprendido por tentativa erro e a ler mta coisa aqui no Forum...

    A pergunta vai ser estupida, mas... No caso, qual a diferença entre subforum acoplado e não acoplado?
    Acho que vou preparar a base de dados e colocar aqui para me ajudar, pode ser?
    Abraço e obrigado
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 8/12/2016, 10:38

    Bom dia,

    Não tenha vergonha de não saber algo. Tenha vergonha de não saber e não se preocupar em aprender. Isso vale pra tudo na vida.

    Um formulário acoplado é aquele que possui como fonte de registro uma tabela ou consulta. Nestes casos cada alteração nos dados no formulário automaticamente são salvos na tabela, caso o usuário queira ou não. Tem vantagens e desvantagens. Isso foi uma desvantagem. Uma vantagem gritante é não precisar codificar quase nada. Já vem tudo pronto ( talvez exceto o layout).

    O formulário desacoplado é justamente aquele que não possui nada como fonte de registro. Manualmente é preciso definir e codificar tudo no formulário. Apesar de ser mais trabalhoso, eu prefiro muito utilizar esse tipo de formulário tendo em vista a possibilidade de erro do usuário, o fato de eu não precisar ficar constantemente ligado à tabela e por me sentir "no volante". Mas isso acredito ser gosto pessoal, não é uma regra. Você vai ler outros usuários muito mais experientes que eu aqui no fórum dizerem que preferem os acoplados. Então vai do seu gosto, do dia a dia, da prática e (pra mim foi determinante) do quanto gosta de escrever códigos e conhecer diversas formas de resolver problemas.

    Teste o que passei, caso não consiga é só colocar os seu bd aqui que a gente dá uma olhada.

    Abraço.
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 8/12/2016, 13:30

    CassioFabre, obrigado!
    Foi extremamente direto e percebi logo!

    Testei o seu código e não está funcionando. Abre o form, mas não no registo que eu seleciono.

    Envio, em anexo, parte da BD para você dar uma olhadela, pode ser?

    O form principal é o: frmCorrespondenciaPesquisa
    Anexos
    [Resolvido] Abrir registo selecionado em SubForm AttachmentGestão FISC (MaximoAccess).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (348 Kb) Baixado 8 vez(es)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 8/12/2016, 15:14

    Boa tarde,

    O código do botão btnAbrirRegistoCorrespondencia estava correto, com apenas um detalhe que não o fazia funcionar. Abaixo o código correto com a parte alterada em destaque:

    Dim strNomeDoDoc As String
    Dim strFiltro As String
       
    strNomeDoDoc = "frmCorrespondenciaEntradaEditar"
    strFiltro = "ID = '" & Me.subfrmCorrespondenciaEntrada.Form!ID & "'"
     
    DoCmd.OpenForm strNomeDoDoc, , , strFiltro

    Somente o coloquei no botão btnCorrespondenciaAbrir e está funcionando perfeitamente. Em anexo o modelo.

    Abraço.
    Anexos
    [Resolvido] Abrir registo selecionado em SubForm AttachmentGestão FISC (MaximoAccess).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (361 Kb) Baixado 32 vez(es)
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 8/12/2016, 18:50

    Funcionou perfeitamente. Muito obrigado!
    É ótimo poder contar convosco.
    Não querendo abusar da sua paciência, pedia ajuda para o seguinte:

    No frmCorrespondenciaPesquisa criei um botão “Pesquisa” e um campo “Ref. N.º”.
    Queria que quando clicasse no botão “Pesquisa” que o resultado do Subform (vinculado à consulta CxCorrespondenciaEntrada  filtrasse os dados consoante o valor neste campo.

    Comecei por criar estre critério a consulta para o campo [ID], mas fiquei por aí… não sei como continuar…
    Como [Formulários]![frmCorrespondenciaPesquisa]![ cxPesquisaEntrada] & "*"

    Volto a pedir a sua ajuda… 
    Anexos
    [Resolvido] Abrir registo selecionado em SubForm AttachmentGestão FISC (MaximoAccess) - Pesquisa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (178 Kb) Baixado 5 vez(es)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 8/12/2016, 19:27

    Boa tarde,

    Sua questão é simples! Renomeei o botão de pesquisa para btnLocalizar. No evento Ao Clicar basta colocar:

    Código:
    Private Sub btnLocalizar_Click()
        If Not IsNull(cbxpesquisaentrada) = True Then
            strFiltro = "ID = '" & Me.cxPesquisaEntrada & "'"
            
            Me.subfrmCorrespondenciaEntrada.Form.Filter = strFiltro
            Me.subfrmCorrespondenciaEntrada.Form.FilterOn = True
            Me.subfrmCorrespondenciaEntrada.Requery
        Else
            Me.subfrmCorrespondenciaEntrada.Form.FilterOn = False
            Me.subfrmCorrespondenciaEntrada.Requery
        End If
    End Sub

    Tem um pequeno tratamento de erro caso o usuário deixe o campo em branco de pesquisa em branco. Segue em anexo o modelo.

    Abraço.
    Anexos
    [Resolvido] Abrir registo selecionado em SubForm AttachmentGestão FISC (MaximoAccess).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (211 Kb) Baixado 37 vez(es)
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 9/12/2016, 13:07

    Que máximo. Funcionou na perfeição.

    O tratamento de erro nãestá á funcional. Mesmo não tendo qualquer valor ele filtra a zero... Será normal???
    Obrigado por tudo...
    Abraço
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 9/12/2016, 14:46

    Boa tarde,

    Se reparar bem, o tratamento de erro faz justamente isso. Caso o campo não seja preenchido, a subform fica zerado. Isso é causado porque utilizei a propriedade Me.subfrmCorrespondenciaEntrada.Form.FilterOn = False. Caso queira que faça algo diferente, basta implementar o trecho depois do Else.

    Abraço.
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  maluco_sergio 9/12/2016, 17:10

    Obrigado a todos, em especial ao CassioFabre, pela simpática e Espectacular ajuda.

    O problema está resolvido.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido] Abrir registo selecionado em SubForm Empty Abrir registo selecionado em SubForm

    Mensagem  CassioFabre 12/12/2016, 09:30

    Bom dia,

    O fórum agradece o retorno.

    Abraço.

    Conteúdo patrocinado


    [Resolvido] Abrir registo selecionado em SubForm Empty Re: [Resolvido] Abrir registo selecionado em SubForm

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 08:02