• Domingo 22 de Diciembre de 2024, 08:35

Autor Tema:  Nombre De Campo Como Texto  (Leído 2419 veces)

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Nombre De Campo Como Texto
« en: Viernes 11 de Marzo de 2005, 16:20 »
0
Hola a todos:

Tengo un formulario en Access 2000 que posee un control ficha que a su vez contiene unos 200 controles distribuidos en diferentes pestañas.
Yo deseo que al avanzar de un registro a otro poder guardar los valores de cada uno de los controles en sus variables globales respectivas; ¿Existe alguna forma en la que pueda usar una funciòn en la que pueda pasar como paràmetros el nombre de la variable donde voy a almacenar el valor y el nombre del control que contiene dicho valor?
La idea es no hacerlo uno por uno sino a travès de un ciclo FOR EACH que me lea todos los controles y haga las asignaciones correspondientes.
Ejemplo:

CAMPO: PLA_Cedula
VARIABLE: PubCedula

FUNCTION (Campo As Control, Variable As.......)
                  Variable = Control.Value
END FUNCTION

La duda me viene porque no sè que tipo ponerle a VARIABLE para que lo tome no como variable sino como un nombre de campo que le pasè como argumento.

¿Me expliquè? Agradezco de antemano cualquier ayuda o sugerencia.

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #1 en: Viernes 11 de Marzo de 2005, 16:54 »
0
Hola Manuel.

La verdad no es muy entendible, pero si lo que quiere es guarda dos valores o mas valores de un mismo control, seria bueno que utilice una matriz con las posciciones que necesite pero que se pueda redimensionar. El tipo de la variable depende de lo que quiera guardar. :blink:
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #2 en: Viernes 11 de Marzo de 2005, 20:26 »
0
Gracias por tu respuesta, pero en efecto creo que no me expliqué bién.

Cuando yo paso de un registro a otro puede que los valores de algunos controles sean los mismos en el registro siguiente, lo que hago es que si el usuario presiona la tecla F3 me copie el mismo valor que tenía ese control en el registro anterior.
Para hacer esto necesito guardar el valor de cada control en una variable aparte.
Suponte que el formulario tiene estos 2 controles:

PLA_Cedula y PLA_Direccion

PLA_Cedula = 10456278  
PLA_Direccion = "Calle Las Casitas, Quinta La Arboleda, Paraparito"

Estos son los valores que tiene el registro actual.
Puede que cuando yo vaya al registro próximo esos mismos controles vuelvan a tener esos mismos valores; lo que hago es que en el evento CURRENT del formulario hago lo siguiente:

PubCedula = PLA_Cedula.value
PubDireccion = PLA_Direccion.value

Cuando el usuario está en el control PLA_Cedula y presiona F3 lo que hago es:
PLA_Cedula.value = PubCedula
y así repite el mismo valor que tenía ese control en el registro previo; esto lo hace perfecto. Ahora bién son 200 controles los que hay en el formulario y no quiero hacer esto para cada uno de ellos, por eso mi pregunta sigue siendo la misma, algo como esto:

For Each Ctrl in Formulario.controls
              Call MoverValor(Ctrl, NombreVariable)
Next
 
En el módulo está la función MoverValor

Function MoverValor(ControlForm, NombreVariable)
                              NombreVariable = ControlForm.Value
End Function

La primera vez que se ejecuta la funcion los parámetros seran:

ControlForm = PLA_Cedula
NombreVariable = PubCedula

La segunda vez será:

ControlForm = PLA_Direccion
NombreVariable = PubDireccion

Y así sucesivamente, es decir un siclo que me guarde los valores de los controles en sus respectivas variables.

                       ¿Me expliqué mejor?
                       Espero que sí y gracias anticipadas por cualquier ayuda.

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #3 en: Viernes 11 de Marzo de 2005, 20:32 »
0
La pregunta específica es que tipo de variable debe ser el argumento de la función NOMBREVARIABLE para que me guarde el nombre de la variable: la primera vez PubCedula, la 2da. vez PubDireccion, la 3ra. vez PubMontoAlquiler, etc.

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #4 en: Miércoles 16 de Marzo de 2005, 18:21 »
0
Hola Manuel.

Podrias manejarlo con un vector de dos columnas una para el nombre del campo y la otra para el dato que almacena ese campo, y las variables deberian ser de tipo cadena, espero no sea muy tarde.  :unsure:
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #5 en: Jueves 17 de Marzo de 2005, 19:33 »
0
De nuevo saludos a todos:

No se me había ocurrido esa idea que me estás proponiendo, intentaré probarlo y tan pronto tenga una respuesta sea cual sea se los hago saber. Más vale tarde que nunca.

                        Muchas grácias y en hora buena.

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Nombre De Campo Como Texto
« Respuesta #6 en: Viernes 18 de Marzo de 2005, 19:55 »
0
Gracias por la sugerencia que me aportaron, la implementé y está trabajando perfectamente.
Definitivamente hace falta la tutoría de personas con más experiencia que uno.
                                Gracias de nuevo y un saludo a todos.