Pregunta sobre evento OnOpen

Querido experto!
¿Me podrías echar una mano con este problema?
Quiero poner un botón en un formulario (llamado "general") que me abra otro
formulario pero de la siguiente manera: quiero que el origen del registro de
este nuevo formulario venga dado por un campo (llamado también"general") del
formulario donde voy a poner el botón.
Nota: el formulario a cambiar el origen del registro viene dado también por
el campo "nombre" del formulario este donde pongo el botón (=Me!)
Lo he probado con la propiedad RecordSource de la siguiente manera:
Forms(Me!Nombre).RecordSource = "" & Me![General] & "".
Ok.De esta manera va bien. Como que si pones Forms ha de ser un formulario ya
abierto, tengo que poner la instrucción de abrir antes que esta. Como que
ademas luego quiero filtrar este formulario según unas cosas (no interesa)
Tengo que volver a poner la instrucción abrir. Queda todo junto así:
DoCmd.OpenForm "" & Me![Nombre] & ""
Forms(Me!Nombre).RecordSource = "" & Me![General] & ""
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "" & Me![Nombre] & ""
stLinkCriteria = "[CRUDO]=" & "'" & Me![CRUDO] & "'"
stLinkCriteria = "[ACABADO]=" & "'" & Me![ACABADO] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Pero si esto lo quiero hacer exactamente igual pero con un informe, no me
sale. Me dice que la propiedad RecordSource no se puede ejecutar después de
haber abierto el informe. Pero como ya he dicho antes, tampoco puede ir
delante (Forms/Reports hace referencia sólo a objetos abiertos). El
ordenador me sugiere ponerlo en el evento OnOpen aquí en este mismo código.
¿Cómo se haría? ¿Tienes alguna otra idea?

1 respuesta

Respuesta
Más o menos me hago una idea de que es lo que quieres, para poder abrir elinforme prueba a abrirlo como haces con el formulario docmd. Openreport,,,, y luego le metes el criterio lo filtras, prueba a hacerlo en la opción del where que tiene eso.
Así te tiene que funcionar, lo que no vas a poder hacer es lo de meterle el rowsource por que no te va a dejar, prueba a ponérselo en el evento del informe"al cargar" igual ahí te deja .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas