[Access] Escribir sobre un registro especifico de una Hoja de Datos de SubFormulario por medio de una instrucción en VBA EVENTO

¿Cómo puedo escribir sobre un registro especifico (celda y/o intersección de columna/fila, campo/registro), de una Hoja de Datos de SubFormulario por medio de una instrucción en VB y/o VBA vinculada a un evento desde el mismo formulario que contiene el SubFormulario u otra ventana de Formulario?

Entonces, tengo en una Ventana un Formulario Principal (Maestro/Master) y un SubFormulario (Hijo/Child) en vista de Hoja de Datos, los cuales están correctamente relacionados, cuando guardo los registros, se registran correctamente en las tablas.
El campo sobre el que pretendo guardar en un registro especifico dentro de la hoja de datos de SubFormulario tiene por nombre idParte. Por medio de las propiedades del SubFormulario: selLeft, selTop, ConcurrentRecord; puedo saber respectivamente el Campo/Columna y el Registro/Fila seleccionado; esto los guardo en variables publicas dentro de un Modulo en VB lo que me permite utilizarlos a conveniencia; sin embargo, tratándose de un objeto con filas y columnas, no encuentro la forma de guardar sobre un registro especifico de mi Hoja de Datos de SubFormulario, puesto que no conozco que propiedad o instrucción debiera utilizar, a pesar de conocer las columnas y filas (el constructo de posición de celda) sobre donde quiero escribir un valor al realizar distintos tipos de Evento.

Soy un novato en Access tengo ganas de contribuir con el Foro ayúdenme a salir de esta traba.

1 respuesta

Respuesta
1

Rafael: Tu mismo citas en tu texto lo de Rgistros y Campos en lugar de Filas y Columnas.

La terminología no es que sea determinante, pero si importante.

Dicho ésto y anivel personal, no entiendo el objetivo que pretendes conseguir.

Cuando dices >> " ... no encuentro la forma de guardar sobre un registro especifico de mi Hoja de Datos de SubFormulario, puesto que no conozco que propiedad o instrucción debiera utilizar, a pesar de conocer las columnas y filas..", ignoro si es que quieres añadir un nuevo registro, si es que pretendes modificar un dato en un campo... etc.

Esa hoja de datos solo es el el "Objeto" visual de una una Tabla o Consulta, que podria ser muy bien un Formulario continuo o no.

Tiene Eventos de Conjunto y Controles y a mi me queda la duda si es que quieres programar alguno.

Ya comentarás >> Un saludo y Feliz 2021 >> JTJ

     Gracias por la corrección, estoy de acuerdo contigo, puede ser determinante la terminología, mis disculpas soy nuevo en esto de compartir mis dudas.

     Por medio de las propiedades de lectura del subFormulario, .selLeft y .selTop, me di cuenta que la Hoja de Datos de subFormulario esta compuesta por Filas y Columnas. La enumeración de estas filas es independiente a la Tabla que tiene por origen (siempre parte por el numero 1).

     Así como en Excel que desde VBA puede escribir sobre una Celda especifica de una Hoja de Calculo, ¿Es posible conociendo la Fila y Columna de una Hoja de Datos de subFormulario, escribir algo sobre esta "celda"? Por medio de que instrucción o propiedad puedo hacerlo?

Rafael: Si a lo que te refieres es a un equivalente de >> Range("A1").Select y después darle un dato.

Que yo sepa no existe. Un saludo >> JTJ

     Gracias Jacinto.
     Existe algo equivalente? Tengo 1 Formulario Principal (Form A) y 1 SubFormulario  (SubForm A) en la misma ventana. Los estoy usando para registrar las entradas en inventario. Tengo al Form A con origen en una Tabla de Entrada a Inventario, que contiene idProveedor, idAlmacenista encargado de la operación, numero de entrada, fecha, etc; mientras que en mi SubForm A, tengo el espacio para registrar cada item asociado al numero de entrada de la Tabla de Entrada.
     Todo lo anterior me funciona correctamente, pero a nivel de interacción con el usuario, requiero insertar un dato en el registro de Items que debe ser por medio de consulta en otra ventana de Formulario con ListBox, si bien puedo capturar el valor seleccionado del ListBox y llevarlo a cualquier otra ventana por medio de una variable Publica, no se como insertarlo en la fila del Campo de mi SubForm A.
     Que me recomiendas hacer Jacinto para poder hacer esa interacción con la ventana de Formulario, espero atento tu respuesta, muchísimas gracias por la atención.

Rafael: Aunque me queda alguna duda de tu proceso, pienso que lo que haces, es seleccionar un producto en un Formulario externo y quieres llevar los datos al SubForm.

Si fuera así, mira éste enlace en la que yo no entendí bien la pregunta, pero Julián (un saludo), dio una respuesta acertada De facturas y productos cuyo proceso creo que es el que tu tienes, cambiando las Facturas por Entradas.

https://www.todoexpertos.com/preguntas/8wh5ud6y7tiukch8/crear-una-nueva-linea-en-un-subformulario-desde-otro-formulario?selectedanswerid=8wnoy9cob35amnjc&nid=9ou9rtugggoq9t6fgstplg4qh3w65f4ta4upvuusa8kpxrkm9ojptumdffw65&utm_source=todoexpertos&utm_medium=EmailNotification&utm_campaign=FollowedQuestion_AnswerSolvedAdded 

Si encuentro algo más te lo envío, los métodos que uso se apartan de esa operativa.

Saludos >> JTJ

¡Gracias! Revisare.

Jacinto, excelente, Muchas Gracias, es por allí!, Exactamente eso es lo que quiero hacer, como que el objeto Hoja de Datos de SubFormulario no me sirve entonces para mi cometido.
     ¿Qué Tipo de SubFormulario es el que usa Julián? Soy nuevo, solo había usado en vista Hoja de Datos.

Rafael: Son Formularios Continuos >> Si lo haces con el asistente has de elegir =>Tabular.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas