1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Access/VB:Duvida

Discussão em 'Programação' iniciada por Farmit, 2 de Abril de 2008. (Respostas: 6; Visualizações: 1060)

  1. Farmit

    Farmit Power Member

    boas,
    tenho um ligeiro problema :
    -tenho um formulário no access que tem um botão com nome btn_pesquisar
    -O objectivo desse botão é abrir outro formulário que esta na mesma base de dados
    -para isso eu usei VB que esta no próprio programa de access


    private sub btn_pesquisar_Click()


    end sub

    O meu problema é este :
    Eu quero abrir o formulário com o nome :registo_contactos ao clicar no botão pesquisar(btm_pesquisar)

    o único linha de codigo que eu me lembrei foi :

    private sub btn_pesquisar_Click()

    registo_contacto.show

    end sub

    mas por vistos não funcionou

    alguém pode me ajudar a resolver este problema ?

    obrigado .
     
  2. kzip

    kzip Power Member

    Experimenta:

    DoCmd.OpenForm "registo_contacto"
     
    Última edição pelo moderador: 3 de Abril de 2008
  3. Farmit

    Farmit Power Member

    Sim assim ja funciona , mas nao consigo ainda abrir o outro formulario.
    Tenho um erro nesta linha de codigo:

    Forms!principal.tbx_pesquisar.Text = "*" + Forms!principal.tbx_pesquisar.Text + "*"
    A menssagem de erro é a seguinte:
    You can't reference a property or method for a control unless the control has the focus.

    alguem me pode ajudar a resolver este problema ?
    obg
     
  4. p3dro

    p3dro Power Member

    Se estás a usar a propriedade Text, terás de 1º fazer o SetFocus a esse campo.

    in link

    Ou então, se fôr esse o caso, podes recorrer à propriedade .Value, sendo que aqui já não é necessário o SetFocus
     
    Última edição: 3 de Abril de 2008
  5. Farmit

    Farmit Power Member

    obrigado finalmente resultou, eu optei por fazer o seguinte:
    Private Sub btn_pesquisar_Click()

    Forms!principal.tbx_pesquisar.SetFocus
    Forms!principal.tbx_pesquisar.Text = "*" + Forms!principal.tbx_pesquisar.Text + "*"

    DoCmd.OpenForm "resultado_pesquisa"

    End Sub

    :D
     
    Última edição: 4 de Abril de 2008
  6. kzip

    kzip Power Member

    Em Access é preferível usar-se o .Value em vez do .Text .

    Cuidado nesse código. Sempre que se chama o btn_pesquisar_Click() são adicionados "*" extra.
    Se o user carregar 3 vezes, fica "***qualquercoisa***".
    O ideal é não alterar-se a textbox, mas sim concatenar os asteriscos no sítio em que o valor da textbox é utilizado.
     
    Última edição pelo moderador: 4 de Abril de 2008
  7. Farmit

    Farmit Power Member

    pois fica melhor como tu disseste:

    Private Sub btn_pesquisar_Click()

    Forms!principal.tbx_pesquisar.SetFocus
    Forms!principal.tbx_pesquisar.Text = "*" + Forms!principal.tbx_pesquisar.Text + "*"

    If tbx_pesquisar.Text = "**" Then
    MsgBox "Insire dados na caixa de texto"
    tbx_pesquisar.Text = ""
    Else
    DoCmd.OpenForm "resultado_pesquisa"
    tbx_pesquisar.Text = ""
    End If

    End Sub




    Ja agora qual é a diferença entre o .Value e .Text?
    Em que aspectos o .Value é mais preferível usar em vez do .Text?:S
     
    Última edição: 4 de Abril de 2008

Partilhar esta Página