locked
Abrir formulario no registro escolhido RRS feed

  • Pergunta

  • Prezados,

    Estou utilizando um codigo  para que quando em outro form (pesquisa) o usuario clicar no registro da listbox o mesmo ser aberto no form central. Porém, também estou usando uma rotina no evento do form principal para que o mesmo vá para um novo registro, impedindo assim que o usuario, por descuido, digite em cima de dados ja cadastrados. E isso esta impedindo o codigo de abrir no registro escolhido na listbox. Algúem poderia me ajudar?

    O codigo na listbox é:

    Private Sub LstNomes_DblClick(Cancel As Integer)
    On Error GoTo fim
    Dim StrCriterio
    StrCriterio = "[IdArquivo]=" & Me.LstNomes.Column(0)
    DoCmd.OpenForm "FrmArquivo", , , StrCriterio
    fim:
    Exit Sub
    End Sub

    ja o do evento ao carregar do form é:

    Private Sub Form_Load()
    On Error GoTo fim

    DoCmd.GoToRecord , , acNewRec

    fim:
    Exit Sub
    End Sub

     

    sexta-feira, 18 de junho de 2010 19:00

Todas as Respostas

  • Olá Fabricio,

     

    quando você abre o FrmArquivo passando um WhereCondition, o Access aplica um filtro no seu form. Assim, uma técnica que você pode usar é verificar se o form está filtrado antes de ir a um novo registro:

     

    Private Sub Form_Load()
    On Error GoTo fim

    If Me.Filter="" Then

    DoCmd.GoToRecord , , acNewRec

    End If

    fim:
    Exit Sub
    End Sub


    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    sábado, 19 de junho de 2010 01:39
    Moderador
  • Luiz,

    Obrigado mais uma vez pela ajuda. Porém, acho que me expressei mal na pergunta.

    O form Arquivo, pode ser aberto (e vai ser aberto para cadastar os dados) a qualquer momento. Por isso, o codigo para ele ao carregar ir para um registro novo ( o que impediria o usuario ao abri-lo cadastrar por cima do registro). 

       Existe um outro formulario para pesquisa baseado em uma consulta. E quando nesse form pesquisa o usuario desejar visualizar os dados completos no form Arquivo ele daria dois cliques.

    Entretanto, se eu colocar  no evento do form Arquivo que ao carregar ele ir para um novo registro, a rotina anterior (de visualizar o dado a partir do form pesquisa) isso não da certo. Nem mesmo com a tecnica que voce indicou. A ideia não é que ao ser realizado uma where condiction ele ir para um novo registro, mas sim para o registro que o usuario deseja visualizar no form pesquisa. E quando, for fazer um cadastro normal ir para um novo registro.

     

    segunda-feira, 21 de junho de 2010 18:49
  • Foi o mesmo que entendi. E mantenho a resposta anterior. Com este código, se abrir normal vai para um registro novo, se abrir pelo form de pesquisa, abre no registro pesquisado.
    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    terça-feira, 22 de junho de 2010 01:41
    Moderador