none
LostFocus Vb.net RRS feed

  • Pergunta

  • Desenvolvo esse projeto com ajuda de videos e dicas vistas na internet. Mas há situações em que não encontro o que preciso ou não sei como usar/adaptar os códigos para executar o que quero! Nessa hora preciso recorrer a pessoas que saibam e possam me esclarecer.

    Meu projeto está, digamos 90% pronto, os únicos problemas são:

    1- Impedir, antes que seja preciso preencher todos os campos do formulário, que o campo Titulo tenha outro igual no banco de dados Access (caso contrário teria que preencher todos os campos do formulário e clicar em salvar para só então receber uma mensagem de que o titulo já existe! Seria uma perda de tempo e trabalho desnecessário! É justamente isso que quero evitar)

    Pensei em usar o LostFocus para que ao pressionar TAB fosse feita a busca no bd para verificar se não existe um titulo igual antes de passar o foco para o próximo campo, mas qual seria o código para executar essa pesquisa através do pressionamento da tecla TAB?
    segunda-feira, 13 de outubro de 2014 03:01

Respostas

  • Você pode usar o evento Validating do Textbox. Faz um IF com a consulta sql buscando pelo campo que quer verificar se já existe. No exemplo abaixo, se você digitar a letra "a" e tentar sair do campo ele não irá permitir.

      Private Sub TextBox2_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles TextBox2.Validating
        If TextBox2.Text.Contains("a") Then 'Aqui você faz a consulta passando o texto para o sql
          e.Cancel = True
          MsgBox("O registro já existe")
        End If
      End Sub



    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    terça-feira, 14 de outubro de 2014 02:50

Todas as Respostas

  • Olá Ababom,

     você fala em Windows Forms ? Se for utilize o evento chamado "Leave" ! 

     Se for Web Forms, pode utilizar o evento "OnBlur" !!

    segunda-feira, 13 de outubro de 2014 10:42
  • Você pode usar o evento Validating do Textbox. Faz um IF com a consulta sql buscando pelo campo que quer verificar se já existe. No exemplo abaixo, se você digitar a letra "a" e tentar sair do campo ele não irá permitir.

      Private Sub TextBox2_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles TextBox2.Validating
        If TextBox2.Text.Contains("a") Then 'Aqui você faz a consulta passando o texto para o sql
          e.Cancel = True
          MsgBox("O registro já existe")
        End If
      End Sub



    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    terça-feira, 14 de outubro de 2014 02:50