Validación de datos

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
JoseraGR
Mensajes: 16
Registrado: Lun Ene 20, 2020 8:24 pm

Validación de datos

Mensaje por JoseraGR »

Buenas

Estoy realizando una BD, que ya he comentado en otro hilo, en la cual quiero que exista la validación de los datos que se introduce en un formulario de determinados registros. Antes he visto las BD ejemplo que hay en este foro pero en ninguna he encontrado mas o menos lo que busco.
En las propiedades del campo he indicado el formato que debe tener y el valor por defecto, en mi caso son todos numéricos. Pues bien si meto alguna letra en el campo, lo que ocurre es que simplemente se guarda el valor por defecto. Lo que busco, es que al ocurrir eso se genere un cuadro de error indicando que no son correctos y que vuelva a introducir los datos.
He hecho una macro pero no se si es correcta o faltaría algo por incluir, estaría asignada al evento modificar del campo, imagino que es el adecuado pues se modificaría el valor por defecto asignado. El campo del ejemplo se llama "Precio" siendo su tipo entero pequeño.
La macro es la siguiente:

Código: Seleccionar todo

'********** FUNCION PARA VALIDAR DATOS **********
Sub ValidarDatos (Evento)
 Dim iPrecio As Integer
 Dim oForm As Object
     oForm=Evento.Source.Model.Parent
     'Obtenemos el valor del cuadro de texto
     iPrecio = oForm.GetByName( "Precio" )
     'Validamos que si es un número
     If  iPrecio= IsNumeric( iPrecio ) Then
         MsgBox "El campo PRECIO debe ser numérico", 16, "ERROR EN CAMPO"
         'Vaciamos el contenido del control
         oForm.setText( "" )
         'Enviamos el cursor al control
         oForm.setFocus( Precio )
     End If
Exit Sub
Espero vuestras correciones. Un saludo
Última edición por PepeOooSevilla el Mar Mar 31, 2020 1:01 pm, editado 1 vez en total.
Razón: Modificar TODO EN MAYÚSCULAS del título y añadir etiquetas [code]
Windows 10, Libre Office Versi??n: 6.2.8.2 (x64)
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Validación de datos

Mensaje por RMG »

Hola,

Algo así como esta quizás te valga.

Código: Seleccionar todo

Sub detectatexto (Evento)'evento tecla pulsada
If Not IsNumeric(Evento.Source.Text) Then
	print "has tecleado texto"
End If
End sub
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Responder