Ir para conteúdo
Fórum Script Brasil
  • 0

Dando apenas um Enter


Gabriel Cabral

Pergunta

Olá pessoas...

Me desculpem a má expressão no título do tópico :blink:

É o seguinte

eu tenho um MSHFlexGrid com vários registros e uma textbox

Conforme vou digitando nesta textbox, o registro que tem o nome correspondente ao que está sendo escrito na textbox, vai sendo encontrado no grid, sendo assim sua célula marcada em azul.

Então surge o infortúnio..

se existe um registro no grid com o nome Gabriel, e eu digito "Gabr" na textbox, a celula q tem Gabriel será marcada em azul.

Aí quando eu clico enter, o foco vai para esta celula...e quando clico enter denovo, um form com várias textbox é preenchido com os dados dakele registro, atraves da função Trim().

Pergunta: Eu gostaria de dar apenas um enter..ou seja...Se eu digitar "Gabr" na textbox, e a celula com o nome Gabriel já ficar marcada em azul, eu dou um enter não para o grid ganhar o foco, mas para chamar já a função Trim()

Como eu poderia estar fazendo isso???.......vou postar aki como faço a busca com a textbox e o grid

Faz a busca no grid enquanto algo é digitado na textbox

Private Sub txtBuscaCli_Change()

achou = False
    GrideBuscaCli.Col = 2
    For i = 1 To GrideBuscaCli.Rows - 1
        If GrideBuscaCli.TextMatrix(i, 2) Like txtBuscaCli & "*" Then
            If achou = False Then
                GrideBuscaCli.Row = i
                GrideBuscaCli.TopRow = i
                GrideBuscaCli.CellBackColor = vbBlue
                GrideBuscaCli.CellForeColor = vbWhite
                achou = True
    Exit For
            End If
        Else
            GrideBuscaCli.Row = i
            GrideBuscaCli.CellBackColor = vbWhite
            GrideBuscaCli.CellForeColor = vbBlack
        End If
    Next i
    
    
If achou = True Then
txtBuscaCli.BackColor = vbWhite
txtBuscaCli.ForeColor = vbBlack
Else
txtBuscaCli.BackColor = vbRed
txtBuscaCli.ForeColor = vbWhite
End If

End Sub
Deixa em maiúsculo,todas as letras digitadas na textbox...ao dar enter, a celula que está em azul obtem o foco
Private Sub txtBuscaCli_KeyPress(KeyAscii As Integer)

KeyAscii = Asc(UCase(Chr(KeyAscii)))

If KeyAscii = vbKeyReturn Then
GrideBuscaCli.SetFocus
KeyAscii = 0
End If

End Sub
Com o foco na celula correspondente ao nome digitado na textbox, clicando enter, as textbox do form são preenchidas
Private Sub GrideBuscaCli_KeyPress(KeyAscii As Integer)

If KeyAscii = vbKeyReturn Then

If txtBuscaCliAux.Text = "" Then
frmContasR.Show
frmContasR.txtConR_NumParc.SetFocus

GrideBuscaCli.Col = 1
frmContasR.txtConR_Cod.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 2
frmContasR.txtConR_NomeFantasia.Text = Trim(GrideBuscaCli.Text)

Else

frmCadClientes.Show
frmCadClientes.cmdAlterar.SetFocus

GrideBuscaCli.Col = 1
frmCadClientes.txtCli_Cod.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 2
frmCadClientes.txtCli_NomeFantasia.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 3
frmCadClientes.txtCli_RazaoSocial.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 4
frmCadClientes.txtCli_Endereco.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 5
frmCadClientes.txtCli_Numero.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 6
frmCadClientes.txtCli_Bairro.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 7
frmCadClientes.txtCli_Cidade.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 8
frmCadClientes.txtCli_Estado.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 9
frmCadClientes.txtCli_CEP.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 10
frmCadClientes.txtCli_Email.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 11
frmCadClientes.txtCli_DDD.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 12
frmCadClientes.txtCli_Telefone.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 13
frmCadClientes.txtCli_Celular.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 14
frmCadClientes.txtCli_RG.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 15
frmCadClientes.txtCli_CPF.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 16
frmCadClientes.txtCli_CNPJ.Text = Trim(GrideBuscaCli.Text)
GrideBuscaCli.Col = 17
frmCadClientes.txtCli_IE.Text = Trim(GrideBuscaCli.Text)

End If

KeyAscii = 0
End If

Unload frmBuscaCli

End Sub

Teria algo como, quando a textbox da busca perder o foco, as textbox do form serem preenchidas com o registro que está em azul no grid????

Muito obrigado

Feliz Ano Novo

Editado por Gabriel Cabral
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...