Access - un campo datos adjuntos sea necesario tener datos

 
Vista:
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 25/01/2024 23:32:09
Buenas noches:

Tengo un campo de datos adjunto y quisiera que antes de cerrar el formulario se comprobara si tiene algún documento o está vacío.

tengo puesto

If Titulo.Value = "" Or IsNull(Titulo.Value) Then
MsgBox "no tecleaste Titulo"
Me.Titulo.SetFocus
Exit Sub
End If

da un error y no sé como solucionarlo.

muchas gracias por vustro interés y un saludo
Javier García
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
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 26/01/2024 00:44:47
buenas noches:
igualmente pongo en la misma situacion un campo combinado que me da el mismo error.
muchas gracias
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

un campo datos adjuntos sea necesario tener datos

Publicado por Anonimo (3369 intervenciones) el 26/01/2024 01:53:21
Una forma de verificar que un campo tiene datos en utilizando la función NZ y verificando su longitud (que no debe de ser cero).

Para evitar que un simple espacio se salte la condición, se le puede añadir la función TRIM (que recorta los espacios que pueda haber al inicio y final)

Podria quedar algo asi:

IF Len(Trim(Nz(Me.Titulo,""))) = 0 Then
MsgBox "no tecleaste Titulo"
Me.Titulo.SetFocus
Exit Sub
End If


Esa expresión (desde dentro hacia afuera) comienza por evaluar si es un NULL -de serlo devuelve una cadena vacía- tras ello a su resultado le aplica la función TRIM -que recorta los espacios sobrantes- y finaliza comparando su longitud con cero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 26/01/2024 16:59:27
Muchas gracias por el aporte, funciona pero con dos salvedades en donde da error.
1- un campo combinado me da error y 2- un campo de datos adjuntos, tambien da error, todos el resto de campos son numericos y de texto
Expongo un pongo lo que pretendo, un formulario con un botón grabar registro, entones quiero que se compruebe primero que todos los campos tienen datos, una vez comprobado que me diga que voy a grabar y a continuación vuelva a poner el formulario en blanco para un nuevo registro.
No sé si soy pretencioso y eso hay que realizarlo en varias etapas.
muchas gracias por vustro apoyo.
un saludo
Javier García
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

un campo datos adjuntos sea necesario tener datos

Publicado por Anonimo (3369 intervenciones) el 27/01/2024 02:06:13
No lo tengo claro:

Los combos (cuando no se selecciono un Item) devuelven un NULL, que la función NZ convierte en una cadena vacía que (al estar vacía) tiene una longitud de cero caracteres ...

Los cuadros de lista cumplen esa misma condición.

Al respecto de los datos adjuntos, si son externos en ese campo debiera estar el vinculo (normalmente un texto si es un hipervínculo).

Si son internos básicamente son una tabla oculta (que se maneja con un Recorset2) y se tendrá que verificar si ese subconjunto tiene registros asociados (a momento actual se desconoce el tipo de dato real que se esta utilizando).
No les tengo mucha simpatía, un uso frecuente puede sobrecargar la base de datos si se les llena de PDFs o imágenes (tienen sus ventajas pero para gustos colores).

Respecto a la creación de registros:
Si el origen de datos del formulario es una tabla o consulta, la opción de finalizar el registro suele llevar asociada la acción de ir a un nuevo registro.

Si el formulario es independiente (carece de origen de datos) habrá que insertarlos en la tabla o tablas adecuadas
(los formularios NO guardan datos, en cuanto se cierran dejan de existir y su contenido desaparece).

En este caso (formulario independiente) una rutina similar a la que actualmente verifica si los campos tienen datos (un recorrido por ellos) los puede volver a un/su estado original y (normalmente al/por ser independientes) suelen admitir el valor NULL.

Si el formulario tiene un origen de datos, al ira un nuevo registro los campos aparecen sin datos (o con los valores predeterminados que se le asignen), solo habrá que preocuparse por elementos independientes (por ejemplo los combos, ya que estos pueden 'tener memoria'), habrá que ver como se les esta utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 27/01/2024 10:03:06
muchas gracias por su interés. Un saludo
Javier García
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

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 27/01/2024 22:03:44
Captura-de-pantalla-2024-01-27-212731
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

un campo datos adjuntos sea necesario tener datos

Publicado por Anonimo (3369 intervenciones) el 28/01/2024 01:15:13
Reitero la respuesta dada en el nuevo hilo con esta misma pregunta.

Es fácil que suceda (y seria correcto) si además de declararlos como requeridos, se les adjudicase un valor por defecto (valor predeterminado).

Dado que los guarda 'en blanco' (un espacio es un hueco 'en blanco' y no un NULL) cumplirá con la regla de 'tener un valor', otra cosa es que sea util.

Una cosa es FORMS (referencia a la colección de formularios) y otra es FORM (la referencia a un formulario en funciones de subformulario).

Por otra parte, una variable (que por diseño no permite espacios en su declaración) no se debe encerrar entre corchetes ni los necesita.

Cualquiera de esas dos causas puede ser la que provoca el error.

¿Te has planteado verificar solamente los datos requeridos (y alguno más) en lugar de recorrer todos los objetos del formulario en la búsqueda de una minima parte?.

(en mi opinión) verificar lo imprescindible aumentara el rendimiento con respecto a esa búsqueda genérica de fantasmas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 28/01/2024 18:15:09
muchas gracias
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 Pérez Fernández

un campo datos adjuntos sea necesario tener datos

Publicado por Eduardo Pérez Fernández (336 intervenciones) el 29/01/2024 17:34:16
Puede programar el evento antes de descargar del formulario algo como

1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Unload(Cancel As Integer)
    ' Verificar si el campo de datos adjunto está vacío
    If IsNull(Me.Titulo.Value) Then
        ' El campo de datos adjunto está vacío, puede cerrar el formulario
        Exit Sub
    Else
        ' El campo de datos adjunto tiene algún documento adjunto, mostrar un mensaje o tomar alguna acción
        MsgBox "Asegúrese de haber guardado o eliminado el documento adjunto antes de cerrar el formulario.", vbExclamation, "Campo de Datos Adjunto No Vacío"
        Cancel = True ' Cancelar el evento de cierre del formulario
    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
1
Comentar
sin imagen de perfil

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 29/01/2024 17:56:10
muchas gracias
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

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 29/01/2024 17:56:45
muchas gracias
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

un campo datos adjuntos sea necesario tener datos

Publicado por Javier (25 intervenciones) el 31/01/2024 18:17:51
muchas gracias pero tengo una duda, que opción es antes de descargar en los eventos del formulario. Muchas gracias y perdona las molestidas. Un saludo
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

un campo datos adjuntos sea necesario tener datos

Publicado por Anonimo (3369 intervenciones) el 31/01/2024 21:43:54
...... que opción es antes de descargar en los eventos del formulario.....

La acción 'salir del registro' (de forma 'natural' que se puede salir cortando la alimentación de la maquina o afines).

Se produce cuando se cierra el formulario o cuando se cambia de registro y es el que valida que los datos se guarden en sus correspondientes destinos liberando los recursos que utilizaron.

En referencia a los eventos:
Si en lugar de verlo como algo intangible, lo acercamos a lo cotidiano (por ejemplo subir a un transporte publico) el/los eventos son los puntos de referencia que el diseñador pone a disposición del programador para controlar el conjunto de la acción

Antes de que llegue el transporte, cuando se detiene, cuando se abona el viaje, cuando se localiza asiento, cundo se toma posesión del asiento, cuando se solicita la parada .... las mismas acciones pero al revés (excepto la devolución de lo abonado por el viaje).

En cada uno de esos eventos (si se activan) se pueden generar otras acciones (por ejemplo: antes de abonar el viaje abrir el monedero y localizar el importe -tras abonarlo- guardar el monedero) y así con todas ellas.

.- Se activa si el viaje es de pago.
.- No se activa si el transporte es gratuito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar