¿Cómo editar un registro desde un subformulario?

Por mucho que he buscado y encontrado algo, he intentado hacerlo pero no lo consigo.
Tengo un subformulario en vista hoja de datos con 4 campos (ID, PROVEEDOR, NºDESARROLLO y FECHADESARROLO) y quiero que apretando en la ID de cualquiera de ellos, se abra el registro en cuestión desde otro formulario para editar los datos.
Lo único que consigo es abrir el formulario para editarlos, pero en blanco, es decir, no capta el registro en cuestión.
Adjunto el fichero como muestra, por si no me he explicado.
http://www.megaupload.com/?d=ZOT9S4Y8 
Password: access
PD: ésta es una de 3 preguntillas que tengo :P

1 Respuesta

Respuesta
1
Tengo añales que no trabajo con macros de Access, con código lo veo más fácil de resolver. Sin embargo, si te puedo decir que lo que falta es casi lo más sencillo que es, una vez abierto el formulario a partir del subformulario, añadir la instrucción "Ir al registro" definiendo como Ir a el valor del control ID del subformulario.
He visto que el origen de datos del formulario de edición tiene filtros que se solapan con la cción de Ir a, por lo que es mejor que simplemente abras el formulario y luego vayas al registro. Para ello el Origen de los datos de este formulario debería se el mismo que el del subformulario o que por lo menos coincidan el orden de los registros en ambas tablas asociadas.
Si te sirve hacerlo con código de Visual me avisas.
Hola, gracias por echarle un vistazo.
He arreglado el tema de los filtros. Ahora me salen todos los registros, solo falta puntualizar y mostrar el registro referente al ID que se hace click.
¿El código seria algo así verdad?
Private Sub ID_Click()
DoCmd.OpenForm "Desarrollo_Muestras", y filtrar por el campo "ID" que se haya presionado, pero ya no sé como se escribiria ese ultimo filtro :P
End Sub
Gracias por la ayuda, de verdad.
Buenas! He conseguido hacerlo, pero con una macro
AbrirInforme
Y en la condición WHERE: ="[Id]=" & [ID]
Me gustaría saber si me podrías ayudar con estas 2 cosas:
Cada desarrollo tiene unas fases. La inicial es DESARROLLO, la siguiente COTIZACIÓN, la siguiente PEDIDO y la última COMPLETO. La idea es que al apretar en el comando APROBAR DESARROLLO, el estado pase de DESARROLLO a COTIZACIÓN.
Al pulsar APROBAR COTIZACIÓN, que ese estado pase ha PEDIDO. Y por último, en COMPLETAR DESARROLLO, que el estado pase a COMPLETO.
¿Cómo sería el código en access?
Muchísimas gracias. Yo sigo intentándolo mientras tanto.
Saludos.
Esto lo puedes hacer directamente con una consulta de actualización basada en la tabla donde tienes el campo estado y el campo Id. En el campo Id de la consulta pones de criterio Id activo del formulario donde esté el botón de aprobar cada cosa, en el campo estado en la línea de actualizar a pondrás el nombre de una caja de texto "no visible" que colocarás en el formulario. Con un sólo botón pudiera bastar, pero eso lo decides tú. Yo te pongo el código con un sólo botón. La caja de texto no visible la llamaré por ejemplo TXTAPROBAR. También supondré que en el formulario tienes un control o campo con el estado del registro activo, al que me referiré como CTRESTADO.
Dim VbESTADO As String
VbESTADO=CTRESTADO
Select Case VbESTADO
    Case "DESARROLLO"
         TXTAPROBAR="COTIZACIÓN"
    Case "COTIZACIÓN"
         TXTAPROBAR="PEDIDO"
    Case "PEDIDO"
         TXTAPROBAR="COMPLETO"
End Select
DoCmd. OpenQuery "nombreconsulta"
Con esto habrás cambiado el estado según el estado anterior.
Hola,
Te agradecería si puedes cerrar la pregunta.
Saludos,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas