Performance en Ingreso de datos

08/07/2003 - 19:10 por Yan Cantuarias | Informe spam
Hola, me gustaria crear algunas funciones para mejorar el ingreso de datos y
salidas en mi sistema. Pro lo que me gustaria ayuda con 2 preguntitas...

1) Funcion para que solo ingrese Numero (con decimales), yo tengo uno, pero
me permite ingresar mas de 1 punto decimal.

Private Sub txt_CB_Barco_S_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii = Asc(".") Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
Beep
End If
End If
End If
End Sub

2) Convertir Mayuscula la Primera palabar y el resto minuscula, yo tengo
una, pero si la palabra es "YAN CANTUARIAS", la convierte en "Yan
cantuarias", la idea es separarla por los espacios en blanco.

UCase(Mid(txt_Nombre_Emple_C.Text, 1, 1)) &
LCase(Mid(txt_Nombre_Emple_C.Text, 2))

Ojala alguien me puede ayudar a solucionar estas dudas

Gracias

YAN

Preguntas similare

Leer las respuestas

#1 Sashka
08/07/2003 - 21:07 | Informe spam
A ver.. al ojo... si hey error me perdonarás????

Private Sub txt_CB_Barco_S_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii = Asc(".") Then
if instr(txt_CB_Barco_S, ".") > 0 then keyascii=0
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
Beep
End If
End If
End If
End Sub

Para lo de las mayúsculas

Dim arrx() as string, i as long, nombre as string

arrx= split(txt_Nombre_Emple_C, " ")
For i = 0 to Ubound(arrx)
arrx(i) = Ucase(left(arrx(i),1)) & Lcase(mid(txt_Nombre_Emple_C.Text,2))
next i
nombre= join(arrx, " ")
erase arrx

Sashka



"Yan Cantuarias" escribió en el mensaje
news:#
Hola, me gustaria crear algunas funciones para mejorar el ingreso de datos


y
salidas en mi sistema. Pro lo que me gustaria ayuda con 2 preguntitas...

1) Funcion para que solo ingrese Numero (con decimales), yo tengo uno,


pero
me permite ingresar mas de 1 punto decimal.

Private Sub txt_CB_Barco_S_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii = Asc(".") Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
Beep
End If
End If
End If
End Sub

2) Convertir Mayuscula la Primera palabar y el resto minuscula, yo tengo
una, pero si la palabra es "YAN CANTUARIAS", la convierte en "Yan
cantuarias", la idea es separarla por los espacios en blanco.

UCase(Mid(txt_Nombre_Emple_C.Text, 1, 1)) &
LCase(Mid(txt_Nombre_Emple_C.Text, 2))

Ojala alguien me puede ayudar a solucionar estas dudas

Gracias

YAN


Respuesta Responder a este mensaje
#2 José Arturo [TortugaChat]
08/07/2003 - 22:18 | Informe spam
Esta es mi rutina de validación de un campo numérico, te anexo un ejemplo.
Todavía hay que mejorar algunos aspectos, pero en términos generales creo
que te será útil.

Como puedes ver, tienes la opción de indicar si aceptas o no los decimales y
los números negativos. Insisto en que hay que mejorar algunas cosas, sobre
todo el detalle de los números negativos.




Public Function ValidaCampoNumerico(ByRef Campo As String, ByVal
AceptarDecimal As Boolean, ByVal AceptarNegativo As Boolean, ByRef
ValorAscii As Integer) As Boolean
'Valida un campo númerico de acuerdo a lo especificado
'--

'La mayoría de las veces, será un número, así que seremos optimistas
ValidaCampoNumerico = True

Select Case ValorAscii
Case Is = 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
'Los números del 0 al 9

Case Is = 45
'El signo menos
If AceptarNegativo = False Then GoTo CancelarInput

'Verifica si no hay alguno ya capturado
If InStr(1, Campo, Chr(45), vbTextCompare) <> 0 Then
'Cancela debido a que ya existe un "menos" capturado
GoTo CancelarInput
End If

Case Is = 46
'El punto decimal
If AceptarDecimal = False Then GoTo CancelarInput

'Verifica si no hay alguno ya capturado
If InStr(1, Campo, Chr(46), vbTextCompare) <> 0 Then
'Cancela debido a que ya existe un "punto" capturado
GoTo CancelarInput
End If

Case Is = 8
'Tecla "retroceso"

Case Else
CancelarInput:
'Cualquier otro caso, cancela y emite un beep
ValorAscii = 0
Beep
ValidaCampoNumerico = False
End Select

End Function





Ejemplo sencillito:

Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim Aceptado As Boolean
Aceptado = ValidaCampoNumerico(Text1.Text, True, True, KeyAscii)
If Aceptado = False Then
MsgBox "HEY!!!! solo números correctos, por favor"
End If
End Sub


Saludos,



José Arturo






"Yan Cantuarias" escribió en el mensaje
news:#
Hola, me gustaria crear algunas funciones para mejorar el ingreso de datos


y
salidas en mi sistema. Pro lo que me gustaria ayuda con 2 preguntitas...

1) Funcion para que solo ingrese Numero (con decimales), yo tengo uno,


pero
me permite ingresar mas de 1 punto decimal.

Private Sub txt_CB_Barco_S_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
If KeyAscii = Asc(".") Then
Else
If KeyAscii = 8 Then
Else
KeyAscii = 0
Beep
End If
End If
End If
End Sub

2) Convertir Mayuscula la Primera palabar y el resto minuscula, yo tengo
una, pero si la palabra es "YAN CANTUARIAS", la convierte en "Yan
cantuarias", la idea es separarla por los espacios en blanco.

UCase(Mid(txt_Nombre_Emple_C.Text, 1, 1)) &
LCase(Mid(txt_Nombre_Emple_C.Text, 2))

Ojala alguien me puede ayudar a solucionar estas dudas

Gracias

YAN


Respuesta Responder a este mensaje
#3 Pilar MMF
09/07/2003 - 09:45 | Informe spam
Dim strNombre As String
strNombre = "YAN CANTUARIAS"
MsgBox StrConv(strNombre, vbProperCase)



¡Joder! ¡¡¡ Chapeau !!!

¿Cada cuanto regresas al mundo de los mortales? ;)

Saludos. Pilar.

(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro

(Busca tu pregunta antes de hacerla al foro)
http://tinyurl.com/gbeq
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida