** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Duda sobre copia de campos
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Duda sobre copia de campos

 Responder Responder
Autor
Mensaje
oecruz Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 14/Enero/2021
Localización: Costa Rica
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita oecruz Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Duda sobre copia de campos
    Enviado: 21/Enero/2021 a las 09:09
Hola.

Les agradezco mucho la atención, esto es una pregunta me imagino, muy sencilla, pero nuevamente padezco por la sintáxis.

Tengo la necesidad de tener un Cuadro de Texto en una tabla con el nombre "Leyenda".
La idea, es llevar el valor de ese cuadro (Mi Empresa - v.01 - 2020) a otros cuadros de texto en Reportes y Formularios.
¿Cuál es la idea? Poder actualizar el año manualmente, y la versión. Entonces ir a la tabla con el cuadro de texto "Leyenda", cambiarlo a mano y que cada cuadro de texto en esos Formularios y Reportes se actualice al abrir.

De momento, lo estoy tratando de hacer así en un Reporte:

Private Sub Report_Open(Cancel As Integer)
Me.Leyenda = [TB-Leyenda_FUNC]![Leyenda]
End Sub

No tengo claro que estaré haciendo bien.
Mil gracias por cualquier volado que me puedan pasar.

OC.
OC.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 09:26
Hola,

Yo utilizo una variable pública (p_strLeyenda) para almacenar ese dato en el inicio de la aplicación. Allá dónde necesite mostrarlo (lo hago con una etiqueta), asigno la propiedad Caption.

Me!Leyenda.Caption = p_strLeyenda


Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 807
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita 01loko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 11:12
Otra opción:
Crear una tabla "constantes", donde además de otros tengas el campo versión
con un dlookup("versión", "constantes", "id=1") nos da el valor del campo

No se si es la mejor forma, pero también funciona
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
oecruz Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 14/Enero/2021
Localización: Costa Rica
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita oecruz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 11:24
Hola Xavi.
¿Exactamente a qué te referís con declararla al inicio de la aplicación?
¿Un módulo?

Mira, me come la sintaxis, pues no soy programador. Estoy batallando un poco con esto. Encontré algunos métodos que indican hacerlo en un módulo, de modo público, pero realmente no tengo experiencia en módulos.

Lo otro que dudo, es sobre el caption en la etiqueta, pues no logro encontrar donde introducir la expresión.

¿Podrías detallarlo más para mis condiciones de neófito de Access?

Ahora bien... bajo ese método: ¿Siempre iría a la variable pública y cambiaría el valor, lo que haría que se refleje en todos los formularios que usen la expresión y el valor anotado?

Mil gracias nuevamente por tu ayuda.
OC.
Arriba
oecruz Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 14/Enero/2021
Localización: Costa Rica
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita oecruz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 11:27
Hola Loko.

Creo que te entiendo bien, sin embargo estoy corto sacando un solo campo de una tabla, no sabría cómo sacar la versión y año en campos diferentes. No entiendo bien el DLOOK (en otro hilo me ayudaron ustedes con una sintaxis que no logro entender, aún brego con eso). Voy a explorarlo.

Mil gracias.
OC.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 11:31
Vamos por partes.

En un módulo independiente, declaras la variable:

Public p_strLeyenda As String

En el primer formulario que se abra de la aplicación, en el evento Load, asignas el valor a la variable:

p_strLeyenda = DLookup("Leyenda", "TB-Leyenda_FUNC")

En los objetos dónde quieras mostrar la leyenda insertas una etiqueta. En el Load del objeto, asignas la propiedad Caption de esa etiqueta el valor de la variable pública.

Me!lblLeyenda.Caption = p_strLeyenda

Si cambias el valor en la tabla, cuando se abran los objetos, tomará el valor de la tabla.


PD: en lugar de una pública se puede utilizar TempVars (de esto Chea sabe mucho mas que yo) 
Xavi, un minyó de Terrassa

Mi web
Arriba
oecruz Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 14/Enero/2021
Localización: Costa Rica
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita oecruz Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Enero/2021 a las 21:49
Xavi!

Mil gracias. Me acabo de funcionar... increíble, no podía dar crédito a lo que vi cuando la leyenda salió en mis informes. Ahora voy por los formularios, a ver que tal.

Súper interesante, pues las tres cosas que me indicaste no las había usado. Se que variándolas podría conseguir algunas otras cosas que podría necesitar. Te agradezco muchísimo tu ayuda.


Ahora bien, solo una duda de formación... La Etiqueta, si no le escribo algo dentro, se borra automáticamente. Parece que es el comportamiento normal de una etiqueta, pero no logro entender porqué. Para evitarlo, le puse un "=" dentro... que sostiene la etiqueta para que no se borre.
¿A qué se deberá esto?

¡Gracias nuevamente, y suerte!
OC.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 22/Enero/2021 a las 10:10
Si a una etiqueta creada se le elimina el texto desde el propio formulario, la etiqueta se elimina; si se elimina el contenido de la propiedad Caption desde la hoja de propiedades, la etiqueta se mantiene. 
Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable