Imprimir página | Cerrar ventana

Detectar el texto de un cuadro combinado

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85471
Fecha de impresión: 27/Marzo/2026 a las 07:45


Tema: Detectar el texto de un cuadro combinado
Publicado por: Jorge(GN)
Asunto: Detectar el texto de un cuadro combinado
Fecha de publicación: 03/Septiembre/2020 a las 04:51
Hola buenas noches, estoy trabado y ya e buscado por aquí y por aya y no hallo la solución, en el Excel para detectar un valor de un cuadro combinado usaba el siguiente código:

Private Sub fecha_hecho_AfterUpdate()
If causa = "EVADIDO" Then
    fecha_pnafu = fecha_hecho
End If
End Sub

Si en mi cuadro combinado estaba el valor de "EVADIDO", al seleccionar una fecha en el campo "fecha_hecho", esa misma fecha se aplicaba de manera automática en el campo "fecha_pnafu". Al parecer ya note que en Access se hace con otro método, pero estoy trabado ya que e intentado de muchas formas y no encuentro la solución.

Agradecería enormemente la ayuda.


-------------
Access BD



Respuestas:
Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 10:36
Pues en principio te deberia funcionar dse codigo, te da algun error?? Mira que los nombres de los campos sean correctos....que la columna dependiente del cuadro combinado sea la correcta si tienes varias.....


Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 10:40
Por cierto, causa no es el nombre del cuadro combinado, no deberia serlo??? O al reves el cuadro combinado no deberia de llamarse causa???


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 13:28
Eso es correcto, mi cuadro combinado lleva el nombre de "causa" y al desplegar la lista tiene muchos valores, pero quiero que cuando se elija el valor "EVADIDO" el campo tipo fecha "fecha_pnafu" tome el mismo valor que elijo en el campo tipo fecha "fecha_hecho".

Ese código lo utilice en Excel, en Access que es donde quiero aplicarlo no me funciona.


-------------
Access BD


Publicado por: mounir
Fecha de publicación: 03/Septiembre/2020 a las 14:14
Hola!

Hay que averiguar que el cuadro combinado devuelve datos, pon un cuadro de mensaje par ver que valor te devuelve.

Private Sub fecha_hecho_AfterUpdate()
        MsgBox causa

     If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If
End Sub

-------------
Un Saludo.


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 16:44
Publicado originalmente por mounir mounir escribió:

Hola!

Hay que averiguar que el cuadro combinado devuelve datos, pon un cuadro de mensaje par ver que valor te devuelve.

Private Sub fecha_hecho_AfterUpdate()
        MsgBox causa

     If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If
End Sub

si definitivamente me da en el mensaje el valor que tiene el cuadro combinado



-------------
Access BD


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 20:42
Amigos necesito ayuda con este tema, como hago para que al  elegir mi opción en el cuadro combinado que sea "EVADIDO", al seleccionar la fecha del hecho tambien se aplica esa misma fecha de manera automática en la fecha pnafu. Este código no me funciona:

Private Sub fecha_hecho_AfterUpdate()
     If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If
End Sub


-------------
Access BD


Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 22:19
Prueba guardando registro


Me.reflesh
If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 22:25
Publicado originalmente por rokoko rokoko escribió:

Prueba guardando registro


Me.reflesh
If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If

Tal asi lo puse y me da error, incluse lo cambia "antes de actualizar"

Private Sub fecha_hecho_BeforeUpdate(Cancel As Integer)
MsgBox causa
Me.reflesh
If causa = "EVADIDO" Then
    fecha_pnafu = fecha_hecho
End If
End Sub


-------------
Access BD


Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 22:40
Tiene que ser despues de actualizar.....


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 22:45
Publicado originalmente por rokoko rokoko escribió:

Prueba guardando registro


Me.reflesh
If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If

El error esta cuando hay que detectar el valor del cuadro combinado, probe que fecha_hecho asigne de una vez a fecha_pnafu la fecha y lo hace correctamente:

Private Sub fecha_hecho_BeforeUpdate(Cancel As Integer)
fecha_pnafu = fecha_hecho
End Sub

El detalle es con lo que necesito hacer que es cuando el valor del cuadro combinado sea igual a "EVADIDO", al parecer si lo hago asi:

If causa = "EVADIDO" Then ====> Esta línea definitivamente no esta reconociendo el texto de mi cuadro combinado ¿Hay algún método para solucionar esto? Ouch




-------------
Access BD


Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 23:00
El código esta bien, no se que pasara, has repasado bien los nombres de los controles??

Aun asi me he hecho una base de datos para salir de dudas y me funciona como era de esperar......


Publicado por: rokoko
Fecha de publicación: 03/Septiembre/2020 a las 23:05
https://we.tl/t-rQCCibIsDd


Publicado por: Jorge(GN)
Fecha de publicación: 03/Septiembre/2020 a las 23:24
Publicado originalmente por rokoko rokoko escribió:

https://we.tl/t-rQCCibIsDd

Amigo voy a revisar la tabla ya que creo que el problema proviene de allí, vi el archivo de tu ejemplo y funciona perfectamente, al aplicar el metodo a mi formulario no lo hace, asi que creo que el problema esta en la tabla origen del cuadro combinado...

En cuanto lo haga te digo los resultados


-------------
Access BD


Publicado por: Jorge(GN)
Fecha de publicación: 04/Septiembre/2020 a las 00:56
Hasta este momento fue que me di cuenta el error que cometía, mi tabla de "causa" que contiene los valores de mi cuadro combinado, antes de comenzar cada valor tenia un espacio por esa razón cuando la linea "If Me.causa = "PERMANENCIA NO AUTORIZADA FUERA DE LA UNIDAD" Then" del código, no reconocía el valor por motivo de un simple espacio. A la final mi código quedo así:

Private Sub fecha_hecho_BeforeUpdate(Cancel As Integer)
If Me.causa = "EVADIDO" Then
Me.fecha_pnafu = Me.fecha_hecho
End If
End Sub

Ya se puede cerrar el hilo Guiño


-------------
Access BD



Imprimir página | Cerrar ventana