Access - Pregunta para Joselo

 
Vista:

Pregunta para Joselo

Publicado por Cristina (11 intervenciones) el 12/12/2007 20:41:38
Hola Joselo:

He leído tu contestación hacia la persona que preguntaba como rellenar un campo a través de los datos de otro en otro formulario.

Lo he aplicado y me va a las mil maravillas.

Lo único que mi problema es el siguiente, el subformulario es continuo por lo que voy añadiendo filas. Si yo quiero eliminar la última fila (supongamos que el dato que he metido es erroneo) el campo el cual se ha rellenado automaticamente con tu código mantiene el último dato metido (el eliminado).

Me gustaría saber si hay una opción o existe alguna solución para que cuando elimine el último campo automáticamente se ponga el dato de la fila anterior.

Por ejemplo supongamos que yo tengo los siguientes datos:

FILA PRIMERA:

NOMBRE Elena

FILA SEGUNDA

NOMBRE Juan

Si yo elimino la fila segunda (Juan) en el formulario me sigue manteniendo el nombre de Juan en vez de Elena que es el campo anterior al eliminado.

¿Eso se puede hacer?

Mil gracias.
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

RE:Pregunta para Joselo

Publicado por Joselo (232 intervenciones) el 12/12/2007 20:53:19
La verdad no recuerdo bien como era el problema.

Pero por lo que entendí el tema es así
1° En el formulario principal selecciono un valor (Elena), la idea es agregar un nuevo registro en el subformulario, en algun campo coloque (Elena)
2° En el formulario principal selecciono un valor (Juan), la idea es agregar un nuevo registro en el subformulario (el segundo registro), en algun campo coloque (Juan)
3° Si elimino del subformulario el segundo registro, quede una sola linea con (Elena)

Si es así, me parece que se solucionaría colocando en el Campo de SUBFORMULARIO en la propiedad "Valor Predeterminado" el campo del Formulario principal.

Fijate si es así y avisame.
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

RE:Pregunta para Joselo

Publicado por Cristina (11 intervenciones) el 12/12/2007 21:02:24
Hola Joselo:

Ante todo gracias por contestar y tan rapido.

Creo que no me he explicado bien.

En unos comentarios más abajo un usuario preguntaba el modo de rellenar automáticamente un campo de un subformulario en un campo de un formulario.

Tú diste la siguiente solución:

En el FORMULARIO B, control FECHA, escribir el siguiente código en el evento Despues de Actualizar
Forms("FORMULARIO A"). Controls("FECHA") = Me.FECHA

Yo he aplicado este código a una base de datos que estoy realizando ya que me venía muy bien la idea y me funciona a la perfección.

El problema radica en lo siguiente:

El subformulario lo necesito tener continuo por diferentes motivos. El problema viene cuando al ir añadiendo filas, si yo por ejemplo elimino la última fila con el último dato metido en el campo del formulario que se rellena automáticamente de los registros del subformulario sigue manteniendo el último campo metido aunque ya no esté.

Yo lo que necesito es que en el momento que por el motivo que sea necesite eliminar el último valor añadido que el campo del formulario automáticamente se rellene con el valor del campo anterior, por eso te ponia el ejemplo de los nombres, si yo tengo en el subformulario los registros:

Jose
Elena
Juan

Cuando yo elimine el campo Juan el subformulario me quedaría asi:

Jose
Elena

Y en el campo del formulario que yo he aplicado tú código para que se rellene automáticamente me sigue apareciendo el valor de Juan cuando al haberlo eliminado debería de aparecerme Elena.

Mi pregunta es si hay alguna forma para que en el momento de que yo elimine el último valor añadido automáticamente recupere el dato de la fila anterior.

No se si me habré explicado bien.

Gracias nuevamente.
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

RE:Pregunta para Joselo

Publicado por Joselo (232 intervenciones) el 12/12/2007 21:27:00
Vamos por parte dijo Jack

Tu tienes un formulario (FORM_A) con un control NOMBRE_A.
En este formulario hay un subformulario FORM_B (formularios continuos) con un control NOMBRE_B

La idea es:
1° En FORM_B agregar registro
2° El control NOMBRE_B toma el valor de FORM_A & NOMBRE_A (José)
3° En FORM_B agregar registro
4° El control NOMBRE_B toma el valor de FORM_A & NOMBRE_A (Elena)
5° En FORM_B agregar registro
6° El control NOMBRE_B toma el valor de FORM_A & NOMBRE_A (Juan)
7° Eliminar tercer registro (Juan)

Y las 2 lineas que quedan serán José y Elena.

Si es así avisame
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

RE:Pregunta para Joselo

Publicado por Cristina (11 intervenciones) el 12/12/2007 22:00:56
Te comento Joselo.

La idea es:
1° En FORM_B (que es un subformulario) agregar registros continuos
2° El control NOMBRE_A toma el valor de FORM_B & NOMBRE_B mediante tu código Forms("FORM_A"). Controls("NOMBRE") = Me.NOMBRE (José)
3° En FORM_B agregar registro
4° El control NOMBRE_A toma el valor de FORM_B & NOMBRE_B(Elena)
5° En FORM_B agregar registro
6° El control NOMBRE_A toma el valor de FORM_B& NOMBRE_B (Juan)
7° Eliminar tercer registro (Juan)

Por lo que el valor del FORM_A & NOMBRE_A tendría que ser Elena no Juan como actualmente me está pasando.

Me gustaría saber si existe la posibilidad cuando elimine el registro del FORM_B &NOMBRE_B en el FORM_A & NOMBRE_A automáticamente ponga el valor de la fila anterior del campo eliminado (Elena en vez de Juan).

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