RE:ACEPTAR VALORES NUMERICOS EN TEXTBOX
Hola
Los textbox en VB son muy diferentes en de los que se usan en Vfox, no manejan la opcion de sobreescribir y no contienen una opcion de formato de captura como lo hace un text de fox, pero he aqui un pequeño codigo que hace que se paresca un poco, haa solo sirve para numeros
Primero en un modulo.bas crea la siguiente funcion (para que te sirve en todos los formularios)
Sub ControlaInsert(texto As Control, tecla As Integer)
If tecla = 8 Or texto.SelLength > 0 Then Exit Sub 'emplear el comportamiento por defecto
texto.SelLength = 1 'marco el siguiente caracter al cursor
texto.SelText = Chr$(tecla) 'lo sustituyo por el que teclean
texto.SelLength = 0 'no selecciono ningun caracter
tecla = 0 'como procese la tecla la quito para que no se escriba de nuevo
End Sub
segundo en el evento keypress escribe (por ejemplo un textbox para capturar calificaciones :
Private Sub TxtCalificacion_KeyPress( KeyAscii As Integer)
Dim c As String * 1
If KeyAscii = 13 Then
' en caso de dar enter pasar el foco a otro objeto
TxtAño.SetFocus
Else
' para solo aceptar numeros
c = Chr(KeyAscii)
If InStr("0123456789." & Chr(8), c) = 0 Then
KeyAscii = 0
Else
' llamar a la funcion que controlo la sobreescritura
ControlaInsert TxtCalificacion, KeyAscii
End If
End If
End Sub