** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Detectar el texto de un cuadro combinado
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDetectar el texto de un cuadro combinado

 Responder Responder
Autor
Mensaje
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Tema: Detectar el texto de un cuadro combinado
    Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 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.....
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 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???
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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.


Editado por Jorge(GN) - 03/Septiembre/2020 a las 13:31
Access BD
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 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.
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 03/Septiembre/2020 a las 22:19
Prueba guardando registro


Me.reflesh
If causa = "EVADIDO" Then
             fecha_pnafu = fecha_hecho
     End If
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 03/Septiembre/2020 a las 22:40
Tiene que ser despues de actualizar.....
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 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......
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 03/Septiembre/2020 a las 23:05
https://we.tl/t-rQCCibIsDd
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
Jorge(GN) Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Septiembre/2020
Localización: Venezuela
Estado: Sin conexión
Puntos: 29
Enlace directo a este mensaje Enviado: 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
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable