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


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 11/6/2012, 14:28

    Bom dia a todos.

    Primeiramente que agradecer novamente toda a ajuda do pessoal do forum.
    Antes de postar pesquisei bastante, mas sem sucesso.
    O que quero fazer é o seguinte:

    Vamos supor que eu estou no Formulario "Detalhes_Livros" e eu queira ir pro formulario "L_Obras" por meio de uma função que quando eu chamo o formulario o livro que eu tiver selecionado no Detalhes_Livros aparece selecionado e não filtrado(que é o jeito que eu sei fazer, posto o codigo que eu estou usando mais abaixo) no Detalhes_Livros, passando o campo Cod_livro como parametro.

    Abaixo meu Modulo que eu chamei de BTs.


    Sub open_Obras2(Cod_L As Integer)

    DoCmd.OpenForm "L_Obras", acNormal, "", "[Cod_L]=" & Cod_L, , acNormal

    End Sub


    No formulario eu chamo a função da seguinte Maneira

    Private Sub openobras_Click()
    Dim ID As Integer
    ID = Me.Cod_L
    Call open_Obras2(ID)
    End Sub

    Como vcs devem observar o resultado sera abrir o L_Obras com o registro FILTRADO passado pela função. Com a ajuda de vcs eu queria mudar isso só pra selecionar o resgistro passado pela função.

    Grato a todos.


    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 11/6/2012, 14:52

    Podes abrir o formulario normalmente, e no evento ao abrir do mesmo ir para o registro selecionado.

    Algo assim:




    No formulario eu chamo a função da seguinte Maneira

    Private Sub openobras_Click()
    DoCmd.OpenForm "L_Obras", acNormal,
    End Sub

    e no evento ao abrir do form que será aberto pelo botão openobras_Click:

    ' Encontrar o registro que coincide com o controle.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark


    Cumprimentos.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 11/6/2012, 22:07

    Fiz do jeito que vc postou, mas não funcionou o formulario que carrega o evento fica em branco e na barra de status aparece filtrado. Do jeito que vc postou mesmo nao funcionando eu acho que o resultado seria o mesmo do código que eu fiz, ou seja o formulario secundario ainda vai abrir filtrado. Exemplo:
    digamos que o eu esteja no formulario Detalhes_Livros que tem 88 registros quando eu executo o meu codigo pra abrir o formulario L_Obras o mesmo abri com apenas um registro ou nenhum(Dependendo da situação), ou seja, fico filtrado pela seleção que foi passado na função e se eu abro direto o formulario o L_Obras tem 96 Registros. Eu queria que abrisse todos os registros(96), com o cursor ou seleção no registro que eu estava no formulario anterior.
    É possível fazer isso?

    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 11/6/2012, 22:16

    Porque no form que sera aberto nao cria um botao, e nele comando para limpar o filtro?

    Cumprimentos.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 11:51

    Eu ja tenho. é que eu queria deixar essa necessidade de toda hora que eu andar de um filtro pro outro ter que sempre apertar o botao de limpar o filtro quando o usuario querer ver os outros registros também. Se não for possível abrir outro formulário só selecionando e não filtrando, como eu faço pra que na hora de remover o filtro o cursor continue no registro que eu ja estava? Ex.: se eu estiver no registro 88 e aberto o botao pra filtrar, ele filtra normal, mas quando eu do dois click pra remover o filtro o cursor fica no 1° registro. Eu uso esse codigo:

    Private Sub bt_Filtro_Click()
    ' Filtra por Selecao
    On Error GoTo Fim
    Me.Cod_L.SetFocus
    DoCmd.RunCommand acCmdFilterBySelection
    Fim:
    Exit Sub
    End Sub


    Private Sub bt_Filtro_DblClick(Cancel As Integer)
    ' Remove Filtro por Selecao
    On Error GoTo Fim
    Me.Cod_L.SetFocus
    DoCmd.RunCommand acCmdRemoveFilterSort
    Fim:
    Exit Sub
    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 12/6/2012, 12:43

    Bom dia Ronaldo, algo estás a fazer errado por ai, pois o código que te passei apenas envia o form para o registro selecionado.

    Ele não filtra, apenas busca o registro.

    Reveja a aplicação do mesmo pois ele é totalmente funcional.


    Private Sub openobras_Click()
    DoCmd.OpenForm "L_Obras", acNormal,
    End Sub

    e no evento ao abrir do form que será aberto pelo botão openobras_Click:

    ' Encontrar o registro que coincide com o controle.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark


    Cumprimentos.


    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 13:45

    Bom dia

    Estou testando novamente o código com carinho que vc forneceu, ahh uma coisa que esqueci de avisa... eu uso o Access 2007.

    Só por desemcargo essa parte do código

    ' Encontrar o registro que coincide com o controle.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

    Vou colocar no evento ao Abrir do Formulário. Até ai OK. Na parte dessa linha
    Forms!NomeDoSeuForm.Cod_L & ""

    Eu coloco o formulário anterior
    Ficando assim: Forms!Detail_Obras.Cod_L & ""
    certo? ou seja o formulário que tem o evento openobras Click() que no caso seria o Detail_Obras. Se for isso mesmo acho que vamos ter um problema mais tarde. Deixa eu explicar digamos que o formulário possa ser chamado por mais de um formulário, o que fazer?


    Cumprimentos
    Grato
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 14:12

    Agora funcionou, Meu que código lindo.rsrs. Não sei o que estava fazendo de errado.

    Mas agora fico aquela necessidade...como eu digo pro seu codigo que rs.clone pode vir do form_detalhes ou do form_acabamento ou do form_andamento, etc. já que todos os formulários possam ser chamados por qualquer um que tem um campo coincidente?

    Estou tentando colocar em uma função, que no evento "ao abrir" o formulário chame o seu codígo, como parametro to tentando mandar Nome do formulário. Na teoria seria assim:

    no evento ao abrir:

    call seleciona_reg(formulario)

    mas como eu faço pra que nessa parte do código (rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    ) O NomeDoSeuForm receba o formulario que chamo a função?
    E se o campo coincidente que agora é Cod_L fosse uma String como Ficaria o Código? É que depois eu tenho outros formulários que o campo coincidente é String. Se não for abursar do seu tempo eu ficaria mais grato do que eu ja estou por sua ajuda.

    Grato

    Isso mataria o meu problema e o código iria ficar mais limpo, certo?

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 12/6/2012, 15:48

    Boas amigão...Nova dúvida... Novo tópico, assim manteremos o topico para a duvida especific ajudando assim quem tem a mesma.

    Cumprimentos.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 15:54

    Muito agil amigao, mal pude ler seus movimentos.rsrsr

    Então na verdade minha ultima duvida esta dentro do tópico pq o objetivo de tudo
    era fazer uma função, como o tópico já diz "Função abrir formulario Selecionado, Seleção como Parametro", mas se for o caso eu abro outro tópico sem nenhum problema e mesmo assim eu agradeço vc pela ajuda.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 12/6/2012, 15:55

    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

    Me = o Nome do formulario ativo. Nunca testei mas tente colocar o nome do outro FOrms.NomeDoForm.Recordset.Clone

    Repito, não testei s não sei se funcionaria


    Para string deves funcionar assim:

    rs.FindFirst "[Cod_L] = " & SuaString & ""


    Cumprimentos.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 16:14

    Daqui a pouco eu testo.

    Deixa eu ver se entendi.

    no Modulo eu colocaria assim

    sub form_select(rs)


    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

    end sub

    no evento ao abrir do L_Obras eu colocaria assim

    Private Sub Form_Open(Cancel As Integer)

    Dim rs As Object
    Set rs = Me.form!L_Obras.Recordset.Clone
    call form_selct(rs)
    end Sub

    Seria mais ou menos isso?

    Grato


    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 12/6/2012, 16:48

    Amigo nao sei se daria certo este codido em uma funcao...

    tente assim:

    Function Busca(NomeFrm as Form)
    Public Rs as DAO.Recordset

    Set rs = NomeFrm & ".Recordset.Clone"
    rs.FindFirst "[Cod_L] = " & Forms!NomeDoSeuForm.Cod_L & ""
    If Not rs.EOF Then NomeFrm &".Bookmark" = rs.Bookmark

    End Function

    No form:

    Call Busca(Me)

    nao testei e nao sei se daria certo

    Cumprimentos.


    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 12/6/2012, 19:14

    Então vou fazer uns testes aqui e provavelmente amanha eu respondo.

    Grato
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 15/6/2012, 20:38

    Boa tarde.

    Então eu fiz exatamente como vc disse tentei modificar, mas como estou aprendendo
    agora o VBA não consegui consertar o erro. Antes quero agradecer todas as dicas que vc passou. Segue mensagem de erro em anexo.

    Percebi um outro probleminha, se o usuário tentar abrir direto o formulário que recebe o código no evento ao abrir o mesmo da erro. O formulário só não da erro
    quando eu chamo o formulário a partir do que tem o botão para abrir o formulário que tem a função no evento ao abrir. Deu pra entende???
    Pra resolver é so fazer um if, mas eu não consegui dizer pro vba que quando abrir o formulário diretamente não executa o código e exibir todos registros. Agora a pergunta é: Se Nós(Mais vc do que eu, porque praticamente vc ta fazendo tudo... desculpa por tanto trabalho ai cara.)conseguir fazer a função funcionar esse problema vai continuar?

    Grato
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  ronaldojr1 3/7/2012, 12:21

    Por falta de resposta este tópico está encerrado.
    avatar
    Convidado
    Convidado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Convidado 3/7/2012, 15:26

    Bom dia Ronaldo, Prestamos ajuda em muitos tópicos no Fórum.. Por vezes algum tópico nos foge a vista.. e acabamos por nos esquecermos justamente por ele ficar abaixo dos mais novos. Para isto quem suscitou a dúvida pode a cada 24 horas da um UP no tópico, ou seja: Perguntar se há alguma novidade para o tópico. Desta forma quem o está ajudando receberá um e-mail e voltarar e ter o tópico em sua lista visível.

    >>>> Lembre-se: toda ajuda no fórum é gratuita e temos que ter paciencia com aquele s que dispoe de seu tempo para ajuda sem nada perceber por isso.


    Se desejou encerrar o Tópico... que assim seja.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Função abrir formulario Selecionado, seleção como parametro Empty Re: [Resolvido]Função abrir formulario Selecionado, seleção como parametro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:00