You are on page 1of 6

Funciones de validaciones textboxes y dbgrid

Funcion TextBox
La funcion "TipoContenido" dentro de la clase validar es la encargada de
realizar distintos tipos de validaciones de acuerdo al contenido del TextBox
Solo Letras

Solo se admiten todas las letras del abecedario en minusculas y mayusculas


y con sus vocales acentuadas, no admite numeros, symbolos o caracteres
especiales
Alfanumrico

Solo se admiten todas las letras del abecedario en minisculas y mayusculas y


con sus vocales acentuadas mas los numeros del 0 al 9, no admite symbolos
o caracteres especiales
Cuenta Contable

Solo se admiten los numeros del 0 al 9 y el caracter "-" no se toma en cuenta


la repiticion de los caracteres, no admite letras, symbolos o caracteres
especiales
Nmeros Enteros

Solo se admiten los numeros del 0 al 9, no admite letras, symbolos o


caracteres especiales
Decimales

Solo se admiten los numeros del 0 al 9 y el caracter "." no se toma en cuenta


la repiticion de los caracteres, no admite letras, symbolos o caracteres
especiales
Direcciones y Texto General

Se admiten todas los numeros y letras y los caracteres "." y "," no admite
symbolos o caracteres especiales
Modo de uso
Se debe de implementar esta funcion en el evento keypress del control
TextBox deseado a como se muestra en el ejemplo
Private Sub txtNum_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles txtNum.KeyPress
If TipoContenido(txtNum, e) = False Then

e.KeyChar = Nothing
End If
End Sub

como parametros recibe el control TextBox en el cual esta siendo utilizada la


funcion y la variable "e" que maneja el evento, al retornar falso indica que el
caracter introducido no concuerda con el tipo de contenido del TextBox
El tipo de contenido se especifica en la propiedad Tag del control de
manera tal que de acuerdo al contenido de esta propiedad la funcion realiza
la validacion correspondiente
"LET" 'Solo Letras
"ALFAN" 'Alfanumrico
"CC" 'Cuenta Contable
"NUM" 'Nmeros Enteros
"DEC" 'Decimales

"" 'Direcciones y Texto General


Si se desea usar la funcion para validar cantidades monetarias y que estas
obtengan el formato correcto se debe de implementar de la siguiente manera
Private Sub txtNum_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles txtNum.KeyPress
If TipoContenido(txtNum, e) = False Then
e.KeyChar = Nothing
Else
If e.KeyChar = Chr(13) Then
txtNum.Text = FormatNumber(txtNum.Text)
End If
End If
End Sub

Funcion ValCol

La funcion "ValCol" es utilizada para validar las columnas del True DBGrid que
se usa de manera especifica para la realizacion de comprobantes contables,
esta funcion se encarga de:

Validar que la cuenta contable que se introduce exista y si existe


mostrar su nombre en la columna adyacente

Validar que exista una valor valido en la columna "Cuenta Contable" y


que elvalor introducido en la columna "AF" exista

Validar que exista una valor valido en la columna "Cuenta Contable" y


que el valor introducido en la columna "CC" exista

Validar que exista una valor valido en la columna "Cuenta Contable" y


que el valor introducido en la columna "PY" exista

Validar que exista una valor valido en la columna "Cuenta Contable" y


que la cantidad de caracteres en la columna "Concepto Especfico" no
sea mayor a 254 caracteres

Validar que exista una valor valido en la columna "Cuenta Contable" y


que la cantidad de caracteres en la columna "Referencia" no sea
mayor a 19 caracteres

Validar que exista una valor valido en la columna "Cuenta Contable" y


que el valor introducido en la columna "Debe" sea numerico, obtenga
el formato completo y que la longitud de caracteres del valor ya
formateado no sobrepase los 14 digitos

Validar que exista una valor valido en la columna "Cuenta Contable" y


que el valor introducido en la columna "Haber" sea numerico, obtenga
el formato completo y que la longitud de caracteres del valor ya
formateado no sobrepase los 14 digitos

Modo de uso
se debe de implementar esta funcion en el evento AfterColUpdate del control
True DBGrid a como se muestra en el ejemplo
Dim result(3) As String
result = ValCol(e, gridComprobante.Columns(e.Column.Name).Value.ToString,
gridComprobante.Columns("Cdigo").Value.ToString)
If result(2) <> "False" Then
gridComprobante.Columns(result(3)).Value = result(0)

If e.Column.Name = "Debe" Then


gridComprobante.Columns("Haber").Value = "0.00"
gridComprobante.Columns("Haber").FooterText =
SumaColumna(gridComprobante, "Haber").ToString("#,##0.00")
gridComprobante.Columns("Debe").FooterText =
SumaColumna(gridComprobante, "Debe").ToString("#,##0.00")
End If
If e.Column.Name = "Haber" Then
gridComprobante.Columns("Debe").Value = "0.00"
gridComprobante.Columns("Haber").FooterText =
SumaColumna(gridComprobante, "Haber").ToString("#,##0.00")
gridComprobante.Columns("Debe").FooterText =
SumaColumna(gridComprobante, "Debe").ToString("#,##0.00")
End If
Else
MsgBox(result(1), MsgBoxStyle.Information, "PM-CENTRAL")
gridComprobante.Columns(result(3)).Value = result(0)
End If

Se debe de declarar un arreglo de tipo String con una logitud de 4, este


recibe el arreglo que la funcion devuelve una vez que es ejecutada, si los
valores existen el arreglo contiene lo siguiente segun su posicion
en la poscion "0" contiene el valor que sera puesto en la celda del grid
en la posicion "1" contiene un mensaje de error que sera presentado al
usuario
en la posicion "2" contiene un valor booleano
en la posicion "3" contiene la columna del grid donde se debera de escribir el
valor de la posicion "0"
Recibe como parametros la variable "e" que maneja los argumentos del
evento, el valor de la columna que se esta editando y el valor de la columna
"Cuenta Contable"
Esta funcion se debe de ocupar en conjunto con la funcion ColPress y El
evento FetchStyle, debe de ocuparse con el grid "gridcomprobante" que se
encuentra en el formulario de nuevo cheque

Funcion ColPress

La funcion "ColPress" se encagar de realizar validaciones al realizar el salto


de fila en el grid al llegar a la ultima columna. Esta funcion raliza la siguientes
validaciones
Valida que solo se intorduzcan numeros y "." en la columna "Debe"
Valida que solo se intorduzcan numeros y "." en la columna "Haber"
Valida que la Columna "Concepto Especfico" no este vacia
Modo de Uso
Esta funcion tiene dos modos de uso, para validar que solo sean numeros que
se introduzcan en la columna "Debe" o "Haber" se debe de implementar en
el evento "KeyPress" del control DBGrid

If ColPress(gridComprobante.Col, e) = False Then


e.KeyChar = Nothing
End If

La funcion devuelve un valor booleano como parametros unicamente se pasa


el numero de columna del grid y la variable "e" que maneja los argumento
del evento keypress
Para validar que la columna "Concepto Especfico" no este vacia y que en las
columnas "Debe" y "Haber" almenos una de ella contenga como valor "0.00"
se debe de implementar asi

If Asc(e.KeyChar) = 13 Then
If gridComprobante.Col = 15 Then
If ColPress(gridComprobante.Col, e, gridComprobante.Columns("Concepto
Especfico").Value.ToString) = False Then
gridComprobante.Focus()
gridComprobante.Col = 11

Exit Sub
End If
If gridComprobante.Columns("Debe").Value.ToString = "0.00" And
gridComprobante.Columns("Haber").Value.ToString = "0" Or
gridComprobante.Columns("Debe").Value.ToString = "0.00" And
gridComprobante.Columns("Haber").Value.ToString = "0.00" Then
MsgBox("El debe y el haber no pueden ser ambos 0",
MsgBoxStyle.Information, "PM-CENTRAL")
SendKeys.Send("{LEFT}")
Else
SendKeys.Send("{DOWN}")
SendKeys.Send("{HOME}")
SendKeys.Send("{RIGHT}")
End If
End If
End If

You might also like