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]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Compartilhe
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Seg 02 Abr 2018, 8:42 pm

    Boa tarde a todos.

    Tenho a seguinte situação. Um formulário com alguns subFormulários.

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Todos sao como padrão bloqueados com as propriedades

    Form.AllowAdditions = False
    Form.AllowEdits = False
    Form.AllowDeletions = False

    Pois bem, o que esta me intrigando é o seguinte... Não é o primeiro formulário que faço desta forma, inclusive tenho formulários muito mais complexos que este, com 5 ou 6 sub forms.

    Mas este em especial, quando clico no botão com icone de Cadeado onde tem o seguinte código:

    Código:

        Form.AllowAdditions = True
        Form.AllowEdits = True

        Me.SubSelecaoResultado.Form.AllowAdditions = True
        Me.SubSelecaoResultado.Form.AllowEdits = True
        Me.SubSelecaoResultado.Form.AllowDeletions = True

        Me.SubSelecaoResultado!SubSelecaoDestino.Form.AllowAdditions = True
        Me.SubSelecaoResultado!SubSelecaoDestino.Form.AllowEdits = True
        Me.SubSelecaoResultado!SubSelecaoDestino.Form.AllowDeletions = True

        Me.SubSelecaoResultado!SubSelecaoUsuario.Form.AllowAdditions = True
        Me.SubSelecaoResultado!SubSelecaoUsuario.Form.AllowEdits = True
        Me.SubSelecaoResultado!SubSelecaoUsuario.Form.AllowDeletions = True

    Que desbloqueia o form e seus sub forms, o formulário [SubSelecaoResultado], que é o primeiro sub form, retorna ao 1° registro. Sendo que não era para isso acontecer, era para ele continuar no registro atual, pois ao clicar no cadeado o usuário pretende alterar o registro atual.

    Já olhei os outros formulário onde a "Coisa Funciona", já copiei todas as propriedades.. mas sinceramente, continua retornando ao 1° registro.

    Os formulários não possui nenhum dos seguintes comandos:

    DoCmd.RunCommand acCmdRefresh
    Me.Refresh
    Docmd.Requery

    Porém, experimentei colocar um botão no SubForm [SubSelecaoResultado], que desbloqueia ele e seus subforms e neste caso ele não retorna ao 1° registro.

    Mas o problema que eu ainda terei que desbloquear o Formulário Pai, e neste momento ele retornará.

    Alguma Sugestão?
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3974
    Registrado : 20/04/2011

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Silvio em Seg 02 Abr 2018, 9:40 pm

    Boa noite.

    Reveja como estão os vínculos ( vincular campo mestre e campo filho ) entre os formulários em questão.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Seg 02 Abr 2018, 10:44 pm

    Davi


    Veja isso:

    Para  referenciar um subformulário usamos a propriedade Form.

    Para referenciar um subformulário dentro de outro subformulário,

    teremos que utilizar novamente a propriedade Form.

    Então:

    Me.SubSelecaoResultado.Form!SubSelecaoDestino.Form.AllowAdditions = True

    Veja se é isso que está "pegando"  Wink

    [ ]'s
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 03 Abr 2018, 11:31 am

    Bom Dia.

    Silvio, ja olhei algumas vezes e veja como estão.

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Os vinculos pai e mestre seguem a modelagem que fiz antes de criar o banco, segue modelos lógico e físico.

    [Você precisa estar registrado e conectado para ver esta imagem.]
    [Você precisa estar registrado e conectado para ver esta imagem.]


    Noobezinho, eu apaguei todo o código do botão para ir filtrando o problema, e eis que o fato ocorre quando esta linha entra em execução.

    -> Me.Form.AllowEdits = True

    A referência aos sub forms não causam o problema...

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Ter 03 Abr 2018, 11:53 am

    Davi

    Me. = Já é o proprio formulário.

    Então:

    Me.AllowEdits =True

    [ ]'s
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 03 Abr 2018, 12:20 pm

    Noobezinho... Ainda persiste o problema, mesmo usando Me.AllowEdits = True

    Minha maior estranheza é que, até hoje nenhum formulário com subformulário tinha tido este comportamento, seja o sub formulário folha de dados ou simples... após liberar o formulário o cursor mantinha-se no lugar..

    Agora, percebi algo diferente, coloquei msgbox em cada evento de um novo form, com sub form, onde não tinha quase nada no modulo, apenas o "Me.AllowEdits = True". O evento Form_ApplyFilter, ativa-se quando clico no botão de desbloquear, nos novos formularios que estou criando, enquanto que nos formulários antigos, isto não ocorre, não sei se tem algo a ver. Mas..., fora que não me lembro de no passado ter, diga-mos, limitado o filtro em algum formulário.


    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Ter 03 Abr 2018, 12:44 pm

    Também estou estranhando isso, meu amigo.

    Tem coisas no Access, que nem o Tio Bill sabe dizer o que ocorre ! Razz

    Mas iria sugerir o que já está fazendo, criar um novo formulário com os devido subformulário e ver como se comporta.

    Por acaso esses formulários foram criados em versão antiga? Se sim, pode ser isso.

    Outra coisa que pode fazer é ver se isso acontece em outro pc.

    [ ]'s
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 03 Abr 2018, 1:03 pm

    Noobezinho, todos os formulários foram criados no Access 2000...

    Acabei de testar em outro PC... e pra minha surpresa, o cursor não retorna ao 1° registro...

    Sinceramente, não sei explicar. Fiquei feliz, pois os usuários poderão usar o formulário sem problemas, ao mesmo tempo ainda encucado pois não faz nem 2 semanas tinha criado um formulário semelhante e tudo ocorria normal...

    Vou ver se o T.I. da empresa formata meu computador ou algo do tipo. Mas ainda não vou encerrar o tópico, se der certo ou não ai vejo se encerro.

    Muito obrigado pela ajuda.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Ter 03 Abr 2018, 1:08 pm

    Davi

    Poderia separar as tabelas/consultas e forms afins e anexar para eu testar?

    Coloque uns 2 registros fictícios.

    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Sex 06 Abr 2018, 11:53 am

    Bom dia Noobezinho,

    Desculpe a demora, mas estive dois dias fazendo arquivo morto... Vida de Macaco Gordo é dificil... Rolling Eyes

    Emfim, voltei a mexer com o DB, estou enviando em anexo parte do banco funcional, com alguns registros e apenas o básico do modulo do formulário para não ficar pesado.

    Mas como disse antes, acredito ser meu PC, pois em outros PCS o cursor não perde o índice.

    Se puder dar uma olhada fico agradecido.

    Download DB pelo Google Drive

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Sex 06 Abr 2018, 7:03 pm

    Davi

    Quando abro o formulário principal, é exibido o primeiro registro da tabela que é o de nº 3.

    Naveguei até o ultimo registro da tabela ( nº1) e liberei a edição clicando no cadeado,

    o qual me permitiu editar esse registro, não voltou para o primeiro registro (nº 3).

    Entendi que está funfando aqui. Wink

    [ ]'s
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Seg 09 Abr 2018, 8:37 pm

    Noobezinho,

    O Registro do formulário principal não esta voltando mesmo, os que estão voltando é do subformulário, o que está logo abaixo de [Destino de peças Rejeitadas].

    Mas hoje acredito ter resolvido o problema, meio que sem querer, percebi que o formulário estava organizando por código de produto e tipo de trabalho no form principal.

    Resolvi criar uma consulta na [Origem de registro] do Form principal, e ordenei pelo IdSelecao.

    Mais tarde, cliquei no cadeado e percebi que não estava mais voltando. Acredito que seja este o problema, se você puder fazer dois testes para mim seria muito bom.

    1: Navegar até o registro 35 do subform [Destino...] e clicar no cadeado e ver o que ocorre.

    2: Depois, realizar a mesma consulta que fiz na origem do registro do form principal, depois refazer o o passo 1 e ver o que acontece, pois se resolver pra você, então acredito que achamos a solução.

    Muito obgdo.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Seg 09 Abr 2018, 10:23 pm

    Davi

    Abri o form Cadastro Seleção.

    Ele abre no Reg 3 que é o primeiro registro da tabela Seleção.

    No subform Destino de ... tem apenas um registro que é Marcas de cavaco, que

    por coincidência, creio, é o registro de nº 35 da tabela SeleçãoDestino.

    Agora vc disse para navegar até o registro nº 35 desse subform, mas

    ele tem somente esse registro.



    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 10 Abr 2018, 11:17 am

    Bom dia Noobezinho, me desculpe pelo erro,

    O formulário não o Destino de..., seria um subform acima, este que tem o campo [Data de Seleção].
    Acredito que o botão com a seta para [Direita] esteja com código de navegação.

    Por favor, tirando este equivoco, se puder testar.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Ter 10 Abr 2018, 11:46 am

    Davi

    Bom dia!

    1 - Ao clicar no cadeado, libera para edição ou para adicionar.
    O registro do form principal se mantem no reg 3 ( primeiro registro da tabela).

    2- Após criar a consulta para a origem de registro do form principal, ao clicar nas seta de navegação
    do subform, ocorre o seguinte:
    A navegação vai do reg 1 ao 4, pulando para o 20 indo até o 23, então, diz que não pode continuar
    como se estive chegado o final da tabela. O código fica parado na linha que da o next nos registros.
    O registro do form prinicipal se manteve no reg 1.
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 10 Abr 2018, 1:13 pm

    Noobezinho,

    Muito obrigado por sua atenção, como já havia dito a coisa deveria esta em meu pc, pois assim como iniciou-se sozinho, também parou sozinho.

    Não gosto deste tipo de solução pois não sei os causadores, e se ocorrer novamente não saberei como resolver, mas fazer o que.

    Agradeço a todos pela ajuda.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  Noobezinho em Ter 10 Abr 2018, 2:40 pm

    É Davi, entendo perfeitamente isso, mas como já disse,

    tem coisa que o Access faz, que nem o tio Bill sabe explicar! Twisted Evil

    Mas ainda bem que acontece no teu computador, não no de um cliente.

    Qualquer coisa, "tamos aí".

    Só falta o Resolvido pra fechar o tópico.

    Boa sorte!
    avatar
    DaviSilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 26/09/2013

    Re: [Resolvido]Comando [Form.AllowEdits = True] faz o subformulário voltar ao 1° Registro

    Mensagem  DaviSilva em Ter 10 Abr 2018, 3:12 pm

    Esquisito, já tinha colocado o resolvido...

    emfim... Mto obgdo.

      Data/hora atual: Sab 18 Ago 2018, 11:31 pm