• Domingo 22 de Diciembre de 2024, 15:27

Autor Tema:  Necesito arrelar este codigo  (Leído 1636 veces)

PRT147

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Necesito arrelar este codigo
« en: Viernes 16 de Abril de 2010, 18:15 »
0
Hola a todos, en el evento KeyPress de un TextBox tengo el siguiente codigo

e.Handled = Numeros(Me.TB_ID.Text, e.KeyChar, False) 'Funcion que valida solo números enteros

If Not Me.TB_ID.Text = "" And e.KeyChar = Chr(13) Then
IdBindingSource.Filter = "ID = " & Me.TB_ID.Text
Else
If Me.TB_ID.Text = "" And e.KeyChar = Chr(13) Then
Tablas.Show()
End If
End If
End Sub

Este codigo funciona perfectamente, cuando el TextBox esta vacío me abre el formulario Tablas y cuando coloco un valor numerico me filtra todo el formulario, hasta aca todo perfecto. Ahora lo que necesito es que me tire un MsgBox para que cuando no se encuentre ningun registro con el número ingresado (No se puede filtrar el formulario) me devuelva el MsgBox con el aviso, pero no se como adaptarlo al codigo que les pase. Necesitaría que alguien me lo pueda adaptar de tal manera que siga funcionando todo lo anterior.
Muchas gracias

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Re: Necesito arrelar este codigo
« Respuesta #1 en: Lunes 19 de Abril de 2010, 17:52 »
0
Lo único que se me ocurre es que en vez de mostrar el formulario con el método Show, hicieras lo siguiente en el formulario que muestras:

Código: vb.net
  1. Private msError as String
  2.  
  3. Public sub EditarPropiedades(Byref lsError as String)
  4.     msError=""
  5.     Me.Show
  6.     lsError = msError
  7.    
  8.     Me.Dispose
  9. End Sub
  10.  
  11. 'En algún evento del formulario, ya sea en el evento Load compruebes si la tabla está vacía, si es así, poner msError = "al Error" y llamar a Me.Close
  12.  

Y luego en el código, cambiar tu código por éste:
Código: vb.net
  1. If Not Me.TB_ID.Text = "" And e.KeyChar = Chr(13) Then
  2.     IdBindingSource.Filter = "ID = " & Me.TB_ID.Text
  3. Else
  4.     If Me.TB_ID.Text = "" And e.KeyChar = Chr(13) Then
  5.         Dim lsError as String
  6.         Tablas.EditarPropiedades(lsError)
  7.         If Trim(lsError) <> "" then msgbox(blablalbla)
  8.     End If
  9. End If
  10.  

Lo que no sé es si necesitas que se abra el formulario en modal ... (me da a mi que si)

Espero que te sirva de ayuda. Un saludo
« §hÿqµïllæ »

nikitocba

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Necesito arrelar este codigo
« Respuesta #2 en: Lunes 19 de Abril de 2010, 18:05 »
0
si te filtra todo el formulario, fijate q puede ser que le estas haciendo binding al formulario completo no al control q vos queres...