Access - RESTRICCION DE CARACTERES

 
Vista:
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

RESTRICCION DE CARACTERES

Publicado por Celso (30 intervenciones) el 17/06/2022 17:18:06
Una consulta para los amigos del foro. Existe alguna función o código para poder restringir el uso de algunos caracteres alfabéticos al momento de cargar los datos en un campo? El tema es que tengo un sistema de ventas desarrollado en access y en la tabla de Clientes tenemos el campo RUC (Registro Unico de Contribuyente) un dato requerido para poder emitir factura, en dicho campo solamente se tiene que cargar datos numéricos y el caracter "-". El dato de RUC consiste en el nro de identificación seguido del signo "-" y por ultimo un carácter numérico de nuevo que significo el código identificatorio del RUC de la persona. Ejemplo: 1377018-6. Es decir que aparte del caracter "-" no se acepta otro caracter alfabético. Entonces la pregunta es, como hacer para que al momento de cargar ese dato el sistema solamente acepte caracteres numéricos y el caracter alfabético "-", no así los signos coma, o el signo de millar por ejemplo. Desde ya muchas gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RESTRICCION DE CARACTERES

Publicado por Anonimo (3316 intervenciones) el 18/06/2022 00:42:48
Un cuadro de texto (Texto8), en su evento 'al bajar una tecla':

1
2
3
Private Sub Texto8_KeyDown(KeyCode As Integer, Shift As Integer)
If InStr("-ABCDEFGHIJKLMNOPQRSTUVWXYZ", Chr(KeyCode)) = 0 Then KeyCode = 0
End Sub

Como curiosidad, mi teclado devuelve como valor para el guion (-) el Keycode 189 >> ½ y en el teclado numérico 109 >> m

Funciona correctamente con estos valores : "½ABCDEFGHIJKLMNOPQRSTUVWXYZ" sin distinguir entre teclados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RESTRICCION DE CARACTERES

Publicado por Anonimo (3316 intervenciones) el 18/06/2022 01:09:53
Versión mejorada (se añade la posibilidad de borrar caracteres)

1
2
3
4
5
6
7
8
9
Private Sub Texto8_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
    Case 8
    Case 65 To 90
    Case 189
    Case Else
        KeyCode = 0
    End Select
End Sub

No obedece al teclado numérico (admitía caracteres numéricos y no numéricos )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

RESTRICCION DE CARACTERES

Publicado por Eduardo (317 intervenciones) el 21/06/2022 03:30:14
Ingrese este código en el evento Al presionar una tecla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Texto0_KeyPress(KeyAscii As Integer)
 
 ' si no es un número entre el 0 y el 9 o el -
 
    If Not Chr(KeyAscii) Like "[0-9-]" Then
        Select Case KeyAscii
            ' si es un retroceso, enter o tabulación
        Case vbKeyBack, vbKeyReturn, vbKeyTab
            ' no se hace nada
        Case Else
            ' si no, se anula el caracter
            ' introducido
            KeyAscii = 0
            Beep
        End Select
    End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 67
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RESTRICCION DE CARACTERES

Publicado por Raul (42 intervenciones) el 08/07/2022 08:56:51
Simplemente con una mascara de entrada, la puedes poner en el formulario o en la tabla de datos.

00000-0

Tantos ceros como números quieras y el guion donde corresponda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

RESTRICCION DE CARACTERES

Publicado por Celso (30 intervenciones) el 09/07/2022 22:12:51
Pero con la máscara acaso no se estaria condicionando una longitud fija que si o si tendría que tener el dato? Osea, por ejemplo si se escribe la mascara 0000000-0 le esta diciendo de que si o si debria ser primero 7 caracteres, mas el guión y el último carácter? Porque sucede que la longitud de ese dato es variable, algunas veces puuede ser 6, otra vez 7 y otras vez puede ser 8 caracteres las que les anteceden al guión. No sé si me hago entender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar