RESUELTO Ayuda para crear MsgBox datos vacios

Discute sobre las herramientas de la base de datos
Responder
yeliarias
Mensajes: 23
Registrado: Lun May 08, 2017 7:35 pm
Ubicación: Venezuela

RESUELTO Ayuda para crear MsgBox datos vacios

Mensaje por yeliarias »

Buena tarde, disculpen la molestia he intentado adaptar MsgBox, para avisar antes de guardar que hay datos vacios, los declare quemo pueden ser nulos los datos de la planera y la persona responsable del registro, pero no hay manera simplemente no. Lo se hacer.
Necesito que en el registro de mapas me avise, que faltan datos antes de guardar, gracias desde ya por la ayuda, anexo la base da datos no es gran cosas es realmente muy sencilla, pero mi conocimiento Ooobasic es limitado . Quite los macros de intento nunca logre adaptarlo

https://mega.nz/file/Gdwk0bxS#RQgq5uhEo ... 9lFHNuG4Rk
Última edición por yeliarias el Jue Jul 15, 2021 10:09 pm, editado 1 vez en total.
LibreOffice 7, Ubuntu 20.04 LTS...
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda para crear MsgBox datos vacios

Mensaje por RMG »

Hola,

En la BD adjuntada, falta la tabla dem_Responsable. Para hacer lo que quieres debes capturar los valores de esos controles (por ejemplo al perder el foco) y si estos son nulos IsNull(nombre_control) o estan vacios IsEmpty(nombre_control) que te avise y devuelva el foco al control.

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)
yeliarias
Mensajes: 23
Registrado: Lun May 08, 2017 7:35 pm
Ubicación: Venezuela

Re: Ayuda para crear MsgBox datos vacios

Mensaje por yeliarias »

Hola, mi sincera por delante no lo se hacer, mitos los códigos entiendo la lógica, pero no logro hacerlo funcionar, tengo días mirando, probando y listo... Me di por vencida, si me puedes ayudar lo agradezco, no encuentro luz en el túnel que entre y me gana el mal humor, de no terminar de ver que hago mal... Agradecería de verdad la ayuda... Estoy bloqueada... Y disculpa la molestis
LibreOffice 7, Ubuntu 20.04 LTS...
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ayuda para crear MsgBox datos vacios

Mensaje por Longi »

Se me ocurren tres variantes:
1_En el diseño de tabla le marcas que no admite valores nulos para ese campo
2_Puedes hacer lo mismo en el momento del diseño de formulario, en las propiedades del campo
Ambas dos te avisarán al guardar el registro de que algo no está bien.
3_Si no usas ninguna de las anteriores tendrías que ir a macro en el evento de formulario 'al cambiar de registro' u otro que te interese que recoja el texto residente en el campo que te interesa(oForm. Getbyname("mi campo"). Text), y si su longitud es =0 (len(oForm. Get...) =0)o oForm. Get...... Text="" (es vacío) entonces le asignas tu msgbox, en caso contrario no le asignas nada y todo funcionaría normalmente. (Ya sabes, aplicando un if)
;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
yeliarias
Mensajes: 23
Registrado: Lun May 08, 2017 7:35 pm
Ubicación: Venezuela

Re: Ayuda para crear MsgBox datos vacios

Mensaje por yeliarias »

Hola Longi, nada lo intento pero termino en el mismo punto, estoy embotada dela cantidad de ejemplos, que he visto, así que vuelvo a subir mi último intento, a ver si logro que alguien del foro me ayude.
Muchísimas gracias por tu orientación pero sigue sin entender que estoy haciendo mal. Repito mis habilidades están el sistemas de información geográfica, postgresql , msql y algo de php, de verdad no se que me pasa con Ooobasic . Es sencillo mi lógica esta a Tono pero no logro plasmar la en la práctica.

https://mega.nz/file/nQJiBTAA#iEQKZ7Pje ... w5hFXbnHsA
LibreOffice 7, Ubuntu 20.04 LTS...
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda para crear MsgBox datos vacios

Mensaje por RMG »

Hola,

Como te dice Longi, lo más sencillo es usar una de las dos primeras opciones que te sugiere. Si deseas complicarte la vida esta macro te puede valer.

Código: Seleccionar todo

Sub Vacio(Evento)'Evento al perder el foco
Dim oForm As Object
Dim oCtrl As Object
Dim sControl As String
Dim Datos 'sin tipo de variable para poder obtener datos de texto y numericos
'El formulario
oForm = Evento.Source.Model.Parent
'El control
sControl = Evento.Source.Model.Name
'Obtiene los datos del control
Datos = oForm.getByName(sControl).CurrentValue
If IsNull(Datos) Or IsEmpty(Datos) Then
	MsgBox "Sin datos"
	'si no tiene datos devuelve el foco al control
	oCtrl = oForm.GetByName(sControl)
	oCtrl = oForm.Parent.Parent.CurrentController.GetControl(oCtrl)
	oCtrl.SetFocus
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)
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ayuda para crear MsgBox datos vacios

Mensaje por Longi »

Bueno!
Pues el trabajo ya está hecho!
lo único es que la macro de RMG tienes que tener en cuenta que se aplica al evento del control implicado. No la pongas como sugería yo en el evento del formulario. Las referencias obviamente son diferentes.!

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
yeliarias
Mensajes: 23
Registrado: Lun May 08, 2017 7:35 pm
Ubicación: Venezuela

RESUELTO:Re: Ayuda para crear MsgBox datos vacios

Mensaje por yeliarias »

UN millón de gracias, ya o resolví. encontré la luz y ahora si me resulto, seguiré andando mi camino .... Espero no molestar tanto con cosas tan sencillas, mis disculpas, y gracias
LibreOffice 7, Ubuntu 20.04 LTS...
Responder